我有以下键盘(HHKB JP)。
我正在使用 Lubuntu 14.04,并且我已经编辑/usr/share/X11/xkb/symbols/us
以实现自定义布局。
现在,我想将以下键用作第 5、第 6、第 7、...和第 20 级修饰符。(在 Windows 上,我使用 AutoHotkey 完成了这项工作,现在我不能没有(至少其中一些)它们。)
我有两个问题。
/usr/share/X11/xkb/symbols/us
)。xkb
(我理解xmodmap
已弃用),特别是像9
.我的问题是:
key <AC01>
)?注意:也许这不能用 XKB 来完成。我很高兴知道一些可以实现这一点的脚本工具。
我已经能够在X Window System运行时更改键盘布局/映射~/.Xmodmap
(我想你也可以直接通过X 协议来完成,例如使用libxcb作为 X 协议调用的包装器)。
我已经能够在控制台/tty(即当 X 未运行时)使用loadkeys
.
有没有一种方法可以类似地自定义键盘布局,但来自单一来源,以这样的方式影响 X 和控制台,即。以一种“X 和控制台不可知论”的方式?
(我能想到的唯一方法是编写一个“键盘驱动程序”,它与内核的输入接口对话evdev
,并发送您想要的输入(通过uinput
?),或者其他什么,但我不知道这是否有意义,或者如果有更简单的方法。)
我不了解虚拟终端设备(例如/dev/tty1
),但我知道tty1
如果按 ,我可以“切换”到ctrl + alt + f1
。
我有一个自定义键盘布局,它在/usr/share/X11/xkb/symbols/us
但只有在 X 正在运行时才“有效”。
虚拟终端和 X 似乎都以自己的方式管理键盘输入/输出,但大概它们都以某种方式与(Linux)内核接口,这必须为键盘硬件提供某种抽象。
Linux 内核如何处理键盘输入/输出?是否有一个源文件,我可以查看所有扫描码/键码/keysims/等的列表,也许还有 Linux 如何管理“键盘”的整个想法的整体逻辑?
(我正在运行 Lubuntu。)
如果我去,/dev/input/by-path
我可以看到我的输入外设。
我有一个键盘和一个鼠标,在我的平台上输出是:
pci-0000:05:00.0-usb-0:1.2:1.0-event-kbd
pci-0000:05:00.0-usb-0:1.1:1.0-event-mouse
pci-0000:05:00.0-usb-0:1.1:1.0-mouse
pci-0000:05:00.0-usb-0:1.1:1.1-event-kbd
Run Code Online (Sandbox Code Playgroud)
作为旁注,只有一个open(<path_to_device>, O_RDONLY)
用于监听输入(对于键盘来说,它是usb-0:1.2:1.0
一个)。
(我正在运行 Ubuntu;以防万一!)