its*_*tsu 4 emacs modifier-key
我在mac os上使用emacs.我想将修饰符(Meta,Control,...)映射到一个简单的键.基本上这就是我需要的东西:(global-set-key (kbd "a") 'hyper)
这里只是一个键,没有Control-a或者其他什么,只是一个单独的whithout修饰符.我希望"a"成为超级例如但我无法找到解决方案.
有人有线索吗?
这种方法不会产生修饰键,因为你按下修改器按下另一个键,但它允许你使用超绑定.
默认情况下,您可以通过C-x@前缀使用其他修饰键.有关C-x@C-h完整列表,请参阅.
这些绑定在function-key-map
,您可以使用相同的方法来获得自己的OS独立绑定.例如:
(define-key function-key-map (kbd "C-c H") 'event-apply-hyper-modifier)
Run Code Online (Sandbox Code Playgroud)
function-key-map
是所有local-function-key-map
实例的父级.请注意:
如果`local-function-key-map'中的条目与次模式,本地或全局键映射中的绑定冲突,则忽略这些条目.即,仅当原始密钥序列不具有任何绑定时才重新映射.
C-hig (elisp) Translation Keymaps
RET
因此,请确保使用没有现有绑定的键序列.(理论上这是非常有限的,但是YMMV.)
编辑:为了澄清,当您使用没有超修改键的机器时,这为您提供了一种访问任何现有"超级"绑定的方法,但实际上并没有创建新的修改键.如果您没有要访问的现有绑定,则此技术与常规前缀绑定相比没有任何优势.
我相信正如彼得所评论的那样,创建一个真正的修饰键是一个操作系统级别的任务.当您自己按下修改键时,AFAIK,Emacs不会收到任何输入,当您使用修饰符按下非修饰符时,Emacs会收到(修改过的)输入.相反,当您按下/按住非修改键时,Emacs会立即接收输入,并且无法将该输入与其他输入组合,并将其全部视为单个(已修改)事件.
IIRC,xmodmap
将是在Unix系统中实现这一目标的典型机制,因此OSX可能就是这种情况.以下链接可能有所帮助:
归档时间: |
|
查看次数: |
896 次 |
最近记录: |