我认为这些术语在松散使用时几乎指的是同一件事:
这些术语中的每一个究竟指的是什么?
假设我A在文本编辑器中按下键,这会a在文档中插入字符并将其显示在屏幕上。我知道编辑器应用程序没有直接与硬件通信(中间有内核和其他东西),那么我的计算机内部发生了什么?
我正在尝试找到一种强制重新映射键盘键的方法。
我尝试使用 xmodmap 和 setxkbmap,但它们不适用于某个特定应用程序。此类命令适用于 X tho 上的其他普通窗口/应用程序。
我认为应用程序可能正在读取键盘原始数据并忽略 X 输入?
那么,如何在不使用 xmodmap 和 setxkbmap 的情况下重新映射密钥?如果有可能使用某些软件来完成。
我也试过 xkeycaps、xkbcomp,但没有试过 loadkeys,因为它在 X 上运行。
我在这里发现我可以尝试setkeycodes,“因为在分配内核键码后,按钮应该在 xorg 中工作”,但我也发现“你不能在 USB 键盘上使用‘setkeycodes’”,这就是我的情况(我对 case 感兴趣有人让它在 ps2 上工作,因为我认为我可以使用适配器)。
这似乎很有希望“将扫描码映射到键码”,但经过几次测试后,没有任何变化,它们如下:
我在 vt1 处找到了键码“36”(“j”键),showkey
我发现扫描码“7e”(键盘“.”)在vt1 与showkey --scancodes
$cat >/etc/udev/hwdb.d/90-custom-keyboard.hwdb
keyboard:usb:v*p*
keyboard:dmi:bvn*:bvr*:bd*:svn*:pn*:pvr*
KEYBOARD_KEY_7e=36
$udevadm hwdb --update #updates file: /lib/udev/hwdb.bin
$udevadm trigger #should apply the changes but nothing happened
$cat /lib/udev/hwdb.bin |egrep "KEYBOARD_KEY_7e.{10}" -ao
KEYBOARD_KEY_7eleftmeta
$#that cat on hwdb.bin did …Run Code Online (Sandbox Code Playgroud) keyboard ×2
x11 ×2
architecture ×1
console ×1
display ×1
key-mapping ×1
linux ×1
shell ×1
terminal ×1
terminology ×1
tty ×1