定義
(defun my-kbd-inverse (key)
(if (numberp key)
(setq key (vector key)))
(key-description key))
測試
(defvar my-example-keys nil)
(setq my-example-keys
(list 2 3 ?a
24
[?\C-x ?l]
(list "C-x" "A")
[(meta right) (meta left)]
(kbd "<f9>")
(kbd "<C-f9>")
(kbd "C-M-a")
[24 f9 97]))
(cl-loop for key in my-example-keys
do
(princ (my-kbd-inverse key))
(terpri))
如果有可以傳遞給global-set-key
,但不與my-kbd-inverse
當前定義的工作,讓我知道任何鍵。
附註:有一個原因,鍵描述不採取一個字符作爲參數。有兩個字符的陷阱:
一個字符只是一個數字。字符沒有單獨的數據類型。
有一種感覺,一個字符是而不是的一個鍵。字符是輸入事件。簡而言之,一系列輸入事件形成鍵序列(鍵盤快捷鍵)和鍵序列被稱爲鍵。字符?a
不是關鍵,但是向量[a]
和字符串「a」是。功能global-set-key
和key-description
只帶鑰匙。
謝謝!這正是我需要的! (鍵描述(格式「%c」2))現在返回C-b! – konr