为什么扫描码和键码相差 8?

为什么扫描码和键码相差 8?

我一直在使用键盘来重新映射某些键并创建宏等。

我了解键盘(通过 USB,我指的是带有 USB 键盘的台式计算机)提供了一个scancode依赖于键盘的功能,根据由各种 hwdb 资源组成的规则映射到键描述符或键代码。然后这些键码由操作系统解释。

我发现evtest直接从键盘给出最好的结果,因为它包含键盘扫描码、键码和键符号,所有这些都在一个整洁的小输出中。为了使其更干净,我通常grep将输出变得更加整洁:

sudo evtest | grep -B1 "value 1"

然而,xmodmap 和各种应用程序使用的代码是作为输出的代码(以及如果输出) y xev。我没有很好的grepfor xev,我只是按键盘事件进行过滤:

xev -event keyboard

这个问题涉及

我确信有人会认为这是因为前 8 个代码被保留,但这应该是无关紧要的,不是吗?键码,无论是否保留,是否不应该作为原始代码输出,而不是转置的值(无论是任意值还是固定值)并可能导致错误?

我真的只是想理解为什么有些程序输出和为什么有些系统需要 8 输出的输入之间的差异,以及如何在我的脑海中认可这种不一致。

相关内容