如何捕捉用户输入Tab键
本帖最后由 Klein 于 2023-2-22 15:17 编辑有一段程序基本功能是绘制一个图形,用户选点后将图形插入到这个点。
需要实现的功能是:用户选点之前,按Tab键可以实现图形旋转90°(可连续按Tab)
或者说,用哪个函数可以捕获用户输入的Tab?
(setq loop T)
(while loop
(setq code (APPLY 'grread LST))
(cond
((= (car code) 5) NIL ) ;;; 鼠标移动
((= (car code) 3) (SETQ LOOP NIL CODE (CADR CODE))) ;;; 鼠标左键
((= (car code) 11) (SETQ LOOP NIL CODE NIL)) ;;; 鼠标右键,右键设置为回车时
((= (car code) 25) (SETQ LOOP NIL CODE NIL)) ;;; 鼠标右键,右键设置为屏幕菜单时
((equal code '(2 0))(SETQ LOOP NIL CODE "CTRL-@")) ;;; CTRL-@
((equal code '(2 1))(SETQ LOOP NIL CODE "CTRL-A")) ;;; CTRL-A
((equal code '(2 2))(SETQ LOOP NIL CODE "CTRL-B或F9")) ;;; CTRL-B或F9
((equal code '(2 3))(SETQ LOOP NIL CODE "CTRL-C或F12")) ;;; CTRL-C或F12
((equal code '(2 4))(SETQ LOOP NIL CODE "CTRL-D或F6")) ;;; CTRL-D或F6
((equal code '(2 5))(SETQ LOOP NIL CODE "CTRL-E或F5")) ;;; CTRL-E或F5
((equal code '(2 6))(SETQ LOOP NIL CODE "CTRL-F或F3")) ;;; CTRL-F或F3
((equal code '(2 7))(SETQ LOOP NIL CODE "CTRL-G或F7")) ;;; CTRL-G或F7
((equal code '(2 8))(SETQ LOOP NIL CODE "CTRL-H或退格")) ;;; CTRL-H或退格
((equal code '(2 9))(SETQ LOOP NIL CODE "CTRL-I或TAB")) ;;; CTRL-I或Tab 自贡黄明儒 发表于 2023-2-23 07:11
(setq loop T)
(while loop
(setq code (APPLY 'grread LST))
感谢大师提点,果然还是用到grread
有了这段代码,用调试的办法基本就知道所有击键动作如何去捕捉了~
页:
[1]