当同时按下大写锁定和命令键时,keylayout 文件中有啥修饰符?

Posted

技术标签:

【中文标题】当同时按下大写锁定和命令键时,keylayout 文件中有啥修饰符?【英文标题】:What modifier in keylayout file when both caps lock and command keys are pressed?当同时按下大写锁定和命令键时,keylayout 文件中有什么修饰符? 【发布时间】:2020-01-15 19:35:30 【问题描述】:

我正在尝试为 OS X 创建自定义键盘 .keylayout 文件。我需要正确的映射集值修饰符。首先,用户按下大写锁定键。接下来用户按下命令键+一些字母。由于 标记内的修饰符值错误,我当前的尝试失败了,并且 OS X 不会因为这个错误加载 .keylayout 文件。

顺便说一句, 1) .keylayout 文件是否有详细的教程/指南/规范?我找不到。

2) “?”是什么意思?在修饰符值中? (例如

<keyMapSelect mapIndex="6">
    <modifier keys="command caps?"> <!-- need correct value for keys -->
<keyMapSelect>

【问题讨论】:

【参考方案1】:

听起来你要找的是&lt;modifier keys="caps command"/&gt;

至于你的 BTW:

    这是来自 Apple 的技术说明:https://developer.apple.com/library/archive/technotes/tn2056/_index.html

    问号表示无论是否按下修饰键,索引的地图都将适用(与没有问号相反,它仅在按下修饰键时适用,并且在没有提及修饰键时所有这意味着它只适用于它没有被压抑的时候)。一些例子:

&lt;modifier keys="command"/&gt;:当 command 被按下并且 shift(或任何其他修饰键)未被按下时适用。 &lt;modifier keys="command anyShift"/&gt;:当同时按下 commandshift 时适用(并且没有其他修饰键)。 &lt;modifier keys="command anyShift?"/&gt;:在按下 command 时适用,无论是否按下 shift(只要没有按下其他修饰键)。

【讨论】:

以上是关于当同时按下大写锁定和命令键时,keylayout 文件中有啥修饰符?的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有按键的情况下更改大写锁定状态

vim 大写键如何表示

以编程方式将键盘大写锁定按钮设置为 ON? [复制]

只有当按下左键时,玩家才会向左移动并且不会停止

obj -c IOS检测大写锁定按键事件

Swing的KeyListener和多个键同时按下