我使用Mac OS上的Emacs。 我想一个修饰符(元,控制,...)映射到一个简单的键。 基本上这就是我需要: (global-set-key (kbd "a") 'hyper)
这里,仅仅是一个关键,没有控制-A或什么,只是‘一个’单独修改内部消除。 我想“一个”,例如要成为超级,但我无法找到一个解决方案。
有人有线索?
我使用Mac OS上的Emacs。 我想一个修饰符(元,控制,...)映射到一个简单的键。 基本上这就是我需要: (global-set-key (kbd "a") 'hyper)
这里,仅仅是一个关键,没有控制-A或什么,只是‘一个’单独修改内部消除。 我想“一个”,例如要成为超级,但我无法找到一个解决方案。
有人有线索?
这种方法不会使你在按住修饰符另一个关键意义上的修饰键,但是它允许您使用Hyper绑定不过。
默认情况下,您可以利用通过CX @前缀额外的修饰键。 见CX @ 章的完整列表。
这些绑定在function-key-map
,你可以用同样的方法来获得自己的独立于操作系统的绑定。 例如:
(define-key function-key-map (kbd "C-c H") 'event-apply-hyper-modifier)
function-key-map
是所有家长local-function-key-map
实例。 仔细注意:
如果他们在小模式,局部或全局的键盘布局由绑定冲突的地方`功能键映射”项将被忽略。 即只有当原始密钥序列,否则不会有任何约束力的应用重新映射。
CH 1 克 (elisp) Translation Keymaps
RET
所以请确保您使用的密钥序列与任何现有绑定。 (在理论是相当限制,但情况因人而异。)
编辑:为了澄清,这给你一个方法,当你使用一台机器不超修饰键访问任何现有的“超”的绑定,但实际上并没有创建一个新的组合键。 如果你没有现有绑定访问,这种技术比普通的前缀绑定有没有优势。
我认为它是,因为彼得评论说,创造一个真正的修改键是一个系统级的任务的情况。 据我所知,当你按它自己的组合键,Emacs将不接受任何输入,而当你按下一个非修饰与改性,Emacs的接收(修改)输入。 相反,当你按下/保持非修改键,Emacs的立即接收输入,并且有没有办法将输入与其他输入相结合,并把它作为一个单一的(修改)事件。
IIRC, xmodmap
将是在Unix系统上实现这一目标的典型机制,使可能成为OSX的情况。 以下链接可以帮助: