键绑定:将它们从键盘映射到应用程序?

键绑定:将它们从键盘映射到应用程序?

我想了解从 Mac OSX 到最终应用程序的按键映射。这些推断的每个点的映射、配置和诊断工具是什么?所提供的逐步推理是否需要修改、添加或减少?

我知道这似乎涵盖了很多领域,但任何见解都会有所帮助。谢谢

键的一般推理路径

  • 物理按键 -> OSX USB HID 驱动程序 -> OSX 可管理按键代码
  • OSX GUI 控制台 -> Terminal.app -> ssh 到 Linux -> Linux 终端会话
  • Linux 终端会话 -> 终端会话中的 Emacs -> Emacs 绑定
  • OSX GUI 控制台 -> X-Quartz -> Emacs

据我目前了解,映射序列如下:

键盘 -> OSX

  1. OSX USB HID 驱动程序与 iokit 守护程序的键盘输入接口
  2. Apple 提供了一个 shell 实用程序来重新映射 USB HID 代码(适用于 10.12):

    hidutil 属性 — 设置 '{“UserKeyMapping”:[{HIDKeyboardModifierMappingSrc:0xHIDSRC,“HIDKeyboardModifierMappingDst”:0xHIDDST,...}。

  3. Apple 提供了一种使用 Objective-C 的编程方法。两种方法都使用“密钥表用法”中的 HID 键盘用法 ID 作为距基地址 0x700000000 的偏移量。看https://developer.apple.com/library/archive/technotes/tn2450/_index.html。这个 0x700000000 基址索引了 USB 联盟文档中的表(https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf)。

  4. 卡拉宾元件是一个应用程序,可以通过它自己的替换 iokit 守护进程来获取关键事件并修改它们。

  5. Apple 是否提供显示 HID BT 按键的开发工具?

OSX -> GUI 控制台会话

  1. 系统偏好设置 -> 键盘 -> 键盘将 F1、F2、...Fn 设置为标准功能键或特定于 Mac OSX 的特殊功能键。

  2. 系统偏好设置->键盘->设置组合键操作的快捷方式

  3. 系统偏好设置->键盘->输入源

    该链中的链接之一是一个名为“键盘布局”的文件,它将输入(键码)转换为输出(字符)。 MacOS 使用这些文件可以在同一物理键盘上键入不同的语言:只需激活不同的键盘布局即可。 尤克里里允许修改此布局。 Backspace、Tab、光标击键等命令仅部分受键盘布局文件影响,因此要控制它们的输出,您需要采用不同的方法。我还认为有一些 XML 文件可以根据一些 Schemata 在这里手动修改?

OSX 应用程序

  1. 终端程序首选项->配置文件->键盘可以更改按键的 ANSI ASCII“转义码”。这些转义码符合___标准吗?

  2. 终端程序Preferences->Profiles->Advanced 允许选择终端作为“xterm-256color”,....这影响映射如何?

  3. 终端程序首选项 -> 配置文件 -> 高级 -> 输入允许进一步修改复选框:删除发送 Ctrl-H,使用 Ctrl-V 转义非 ASCII 输入,将换行符粘贴为回车符。

与 Linux 操作系统的 ssh 会话 10. ANSI ASCII 字节流根据 $TERM 使用 terminfo 和 termcap 进行解释。细节?

  1. showkey -a、infocmp -CL 提供详细信息

  2. stty,这怎么适合?

  3. 这里有其他映射或诊断工具吗?

与 Linux 操作系统和 Emacs 的 ssh 会话 14. Emacs使用Mx描述绑定来显示按键绑定

  1. Emacs 使用 (global-set-key) 和 (define-key) 来更改键绑定。

与 Emacs 的 X 会话

  1. X-Quartz 与 Mac OSX 接口,将键绑定映射到应用程序。
  2. xmodmap 和 xkb 可用于更改这些绑定。
  3. 这里有其他映射或诊断工具吗?

相关内容