明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: baitang36

[经验] [原创]用纯lsp切换键盘布局(已增加自动切换输入法源码)

    [复制链接]
发表于 2025-1-14 10:58:37 | 显示全部楼层
nice,试试,多谢分享啦啊,赞一个
回复 支持 反对

使用道具 举报

发表于 2025-1-14 11:11:22 | 显示全部楼层
大神又出精品了!
回复 支持 反对

使用道具 举报

发表于 2025-1-19 11:55:23 | 显示全部楼层
白糖老师您好,在10版CAD中测试发现了一个BUG,按照如下顺序:(syz-setKeyboardLayout-eng) (syz-setKeyboardLayout-chn) (syz_press 20)执行后,功能实现没问题,但最后鼠标处会出现一个输入框等待用户输入,没有任何提示(前提是动态输入已打开,DYNMODE=3),20版未发现此问题,其他版本有待测试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-1-21 09:26:50 | 显示全部楼层
zhouwq666 发表于 2025-1-19 11:55
白糖老师您好,在10版CAD中测试发现了一个BUG,按照如下顺序:(syz-setKeyboardLayout-eng) (syz-setKeyboa ...

谢谢你的测试
回复 支持 反对

使用道具 举报

发表于 2025-2-23 15:02:49 | 显示全部楼层

不懂怎么用~基本状况了解;
等于就是不用退出中文输入法,切换输入中英文了;
还是你这个比较高效呢~
期待工具~
回复 支持 反对

使用道具 举报

发表于 2025-2-27 22:22:39 | 显示全部楼层
本帖最后由 zhangrunze 于 2025-2-27 22:24 编辑

请教下需要加载的按键插件是网址里面的 syz_keybd.fas 文件吗?

  1. (alert "syz_keybd.fas")
  2. 这样写是吗?
复制代码


回复 支持 反对

使用道具 举报

发表于 2025-3-1 09:30:53 | 显示全部楼层
本帖最后由 zhangrunze 于 2025-3-2 16:31 编辑

WIN10+CAD2023测试通过
CAD2024一直没法运行。
高版本可否更新下。。。




回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-3-2 06:33:08 | 显示全部楼层
zhangrunze 发表于 2025-3-1 09:30
WIN10+CAD2023测试通过,加载运行imaut.VLX文件;
CAD2024一直没法运行。
高版本可否更新下。。。

试试lispsys=0,重启acad
回复 支持 反对

使用道具 举报

发表于 2025-3-2 16:31:00 | 显示全部楼层
baitang36 发表于 2025-3-2 06:33
试试lispsys=0,重启acad

正常了 感谢~
回复 支持 反对

使用道具 举报

发表于 2025-3-10 11:23:29 | 显示全部楼层
文字编辑时,可以加入文字中英文数量识别的功能吗?


当中文文字数量多的时候切换为中文输入法,英文文字数量多的时候切换为英文输入法;


网上找了段,没法兼容;跑不起来~
  1. (defun c:SmartSwitchIME (/ GetTextContent AnalyzeTextRatio)
  2.   ;; 获取当前编辑的文本内容
  3.   (defun GetTextContent ()
  4.     (if (setq ent (car (entsel)))
  5.       (vla-get-textstring (vlax-ename->vla-object ent))
  6.       ""
  7.     )
  8.   )

  9.   ;; 中英文字符比例分析
  10.   (defun AnalyzeTextRatio (str)
  11.     (setq chn_cnt (length (vl-remove-if-not '(lambda (x) (wcmatch (chr x) "[一-龥]")) (vl-string->list str))))
  12.     (setq eng_cnt (- (strlen str) chn_cnt))
  13.     (if (> chn_cnt eng_cnt) 1 0)
  14.   )

  15.   ;; 命令监听逻辑
  16.   (defun OnCommandEnded (cmd)
  17.     (if (wcmatch cmd "MTEXT*,TEXT*,DDEDIT*")
  18.       (progn
  19.         (setq txt (GetTextContent))
  20.         (if (= (AnalyzeTextRatio txt) 1)
  21.           (command "_IMESetStatus" 1) ;中文输入法‌:ml-citation{ref="5" data="citationList"}
  22.           (command "_IMESetStatus" 0) ;英文输入法‌:ml-citation{ref="5" data="citationList"}
  23.         )
  24.       )
  25.     )
  26.   )

  27.   (vlr-command-reactor nil '((:vlr-commandended . OnCommandEnded)))
  28.   (princ "\n智能输入法切换已启用。")
  29. )



回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-4-2 18:47 , Processed in 0.168298 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表