本帖最后由 yangyangyixia 于 2025-10-20 21:58 编辑


研究了一下用lsp模拟按键输入。
我用的cad2018,搜狗输入法,打开一张新图纸的时候,输入法图标总是会出现黑框,假死状态,看不出来是处于英文还是中文状态。
不止一台电脑有这个问题,cad和搜狗好像有不兼容问题。
如果切换到别的输入法再切换回来,就没事了,即按两次Ctrl+Shift,这就是我目前的用法。

其他我也不知道有什么用途,自己探索吧。

新打开一张图纸时:

按两次Ctrl+Shift,恢复正常:

;; 基本按键
(SendKey "~")          ; Enter回车键
(SendKey "{TAB}")      ; Tab制表键
(SendKey "{ESC}")      ; Esc退出键
(SendKey " ")          ; Space空格键
(SendKey "{BACKSPACE}"); Backspace退格键
(SendKey "{DELETE}")   ; Delete删除键
(SendKey "{INSERT}")   ; Insert插入键

;; 方向键
(SendKey "{LEFT}")     ; 左箭头
(SendKey "{RIGHT}")    ; 右箭头
(SendKey "{UP}")       ; 上箭头
(SendKey "{DOWN}")     ; 下箭头

;; 导航键
(SendKey "{HOME}")     ; Home键
(SendKey "{END}")      ; End键
(SendKey "{PGUP}")     ; Page Up页面上翻
(SendKey "{PGDN}")     ; Page Down页面下翻

;; 功能键
(SendKey "{F1}")       ; F1功能键
……
(SendKey "{F12}")      ; F12功能键

;; 锁定键
(SendKey "{CAPSLOCK}") ; Caps Lock大写锁定
(SendKey "{NUMLOCK}")  ; Num Lock数字锁定
(SendKey "{SCROLLLOCK}"); Scroll Lock滚动锁定

;; 字母键
(SendKey "A")          ; A键
……
(SendKey "Z")          ; Z键

;; 数字键
(SendKey "0")          ; 0键
……
(SendKey "9")          ; 9键

;; 组合键
(SendKey "^")          ; Ctrl键
(SendKey "+")          ; Shift键  
(SendKey "%")          ; Alt键
(SendKey "^c")         ; Ctrl+C 复制
(SendKey "^v")         ; Ctrl+V 粘贴
(SendKey "^x")         ; Ctrl+X 剪切
(SendKey "^z")         ; Ctrl+Z 撤销
(SendKey "^a")         ; Ctrl+A 全选
(SendKey "^s")         ; Ctrl+S 保存
(SendKey "^f")         ; Ctrl+F 查找
(SendKey "^p")         ; Ctrl+P 打印
(SendKey "%{F4}")      ; Alt+F4 关闭程序
(SendKey "%{TAB}")     ; Alt+Tab 切换程序
(SendKey "^+")         ; Ctrl+Shift
(SendKey "^+s")        ; Ctrl+Shift+S 另存为

;; 符号键(可以直接使用)
(SendKey "!")      ; 感叹号
(SendKey "@")      ; @符号
(SendKey "#")      ; #符号
(SendKey "$")      ; $符号
(SendKey "&")      ; &符号
(SendKey "*")      ; *符号
(SendKey "(")      ; (左括号
(SendKey ")")      ; )右括号
(SendKey "-")      ; -减号
(SendKey "_")      ; _下划线
(SendKey "=")      ; =等号

;; 符号键(使用转义语法)
(SendKey "{+}")        ; +加号
(SendKey "{{}")        ; {左花括号
(SendKey "{}}")        ; }右花括号
(SendKey "{[}")        ; [左方括号
(SendKey "{]}")        ; ]右方括号
(SendKey "{|}")        ; |竖线
(SendKey "{~}")        ; ~波浪号
(SendKey "{\\}")       ; \反斜杠
(SendKey "{:}")        ; :冒号
(SendKey "{;}")        ; ;分号
(SendKey "{\"}")       ; "双引号
(SendKey "{'}")        ; '单引号
(SendKey "{,}")        ; ,逗号
(SendKey "{.}")        ; .句点
(SendKey "{<}")        ; <小于号
(SendKey "{>}")        ; >大于号
(SendKey "{?}")        ; ?问号
(SendKey "{/}")        ; /斜杠

;; 多次按键
(SendKey "{LEFT 5}")   ; 按左箭头5次
(SendKey "{TAB 3}")    ; 按Tab键3次
(SendKey "A{LEFT 2}B") ; 输入A,左移2次,输入B







网友答: 本帖最后由 yangyangyixia 于 2025-10-20 21:44 编辑
bai2000 发表于 2025-10-20 18:30
举个使用的例子吧

我用的cad2018,搜狗输入法,打开一张新图纸的时候,输入法图标总是会出现黑框,假死状态。不止一台电脑有这个问题,cad和搜狗好像有不兼容问题。
如果切换到别的输入法再切换回来,就没事了,即按两次Ctrl+Shift,这就是我目前的用法。



网友答:
yangyangyixia 发表于 2025-10-21 12:32

不好意思,说错了大佬,是F1.。那代码是不是  (if (= key "{F1}") (setq key "{F8}"))
  (SendKey "{F1}")  ; 这实际上会发送 F8 按键

网友答:
白山茶 发表于 2025-10-21 09:42
这个是否能将f!改为F8

  1.   (if (= key "{F!}") (setq key "{F8}"))
  2.   (SendKey "{F!}")  ; 这实际上会发送 F8 按键


网友答: 感谢大佬分享

网友答: 举个使用的例子吧

网友答: 收藏一下。或许有用呢

网友答:
bai2000 发表于 2025-10-20 18:30
举个使用的例子吧

研究出来了吗

网友答: 有用:留一个记号

网友答: 如果是切换输入法,不是有自动输入法吗,不过学习总是好的


网友答: 这个我佩服你,收集这么多。

网友答: 感谢大佬分享
  • 上一篇:查找替换/单多行/属性/块内/标注/天正/通配符
  • 下一篇:没有了