问题标签 [scancodes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 使用 X11 在 Linux 上获取扫描码而不是键码
我正在尝试收听键盘输入(使用 X11 事件循环)并获取扫描码。这些扫描码应该是指一个键的物理位置,而不是它键入的字符。问题是,我能得到的只是 KeySyms 和 KeyCodes,它们针对不同的语言(例如 QWERTY 与 QWERTZ)进行了不同的映射。
我目前的解决方案是阅读“/usr/share/X11/xkb/keycodes/evdev”文件。它包含关键位置到关键代码的映射。使用它,我可以简单地将任何键码转换回扫描码。我的猜测是这不是一种稳定的做事方式。我对Linux完全不了解。这就是为什么我认为在这里问可能是个好主意。
假设大多数用户的机器正在使用这些 evdev 映射是否安全?如果没有,我还能在哪里找到实际使用的键映射?还是有更好的解决方案来解决这一切?
windows - “暂停/中断”键的扫描码是什么?
我从这里下载“SharpKeys.exe” 。它运作良好。但我想将“暂停/中断”更改为另一个,此应用程序无法正确识别此键。有人知道扫描码吗?谢谢
assembly - ASM 用 ASCII 字符替换扫描码
我有这个代码:
它检查按键,每次我按下一个键时,我都会将它保存到注册 al 然后想打印出来。
但它只是被保存的扫描码,我需要用 ASCII 字符替换它,我用数组“键”来做,但它不起作用,只打印出 1 个键,然后程序就滞后了。
keyboard - Dvorak vs QWERTY 扫描码
Dvorak 键盘是否使用与 QWERTY 键盘相同的扫描码?我的意思是,字母 U 在两种类型的键盘上是否具有相同的扫描码?
或者,它更像是使用 QWERTY 键盘并移动塑料按键顶部以将其改装成 Dvorak 键盘?
谢谢。
linux - linux/input.h 键码布局是否独立?
例如, in input.h
,KEY_D
等于 32。在 QWERTY 键盘上,D 是主行左起第三个“可打印”键。在 DVORAK 键盘上,同一个键标记为 E。所以,如果我在 DVORAK 键盘上按 E,我会得到KEY_D
(32) 还是KEY_E
(18)?
windows - 如何从 PreTranslateMessage(MSG*pMsg) 中的 WM_KEYDOWN 中提取字符
在PreTranslateMessage(MSG *pMsg)
从 a 继承的 MFC 应用程序中CView
,我有这个:
WM_KEYDOWN
a中的字段在此处记录。虚拟键值VK_
包含几个字段,其中16-23位是键盘扫描码pMsg->wParam
。pMsg->lParam
所以在我的代码中我使用:
例如,在我的非美国键盘上,当我按下“#”字符时,我得到以下信息:
我想“捕获”或以不同方式处理的字符是 ASCII“#”,0x23(十进制 35)。
我的问题
无论语言或键盘布局如何,如何翻译WM_KEYDOWN
信息以获得可以比较的内容?我需要确定#
用户是否拥有标准的美国键盘或不同的键。
例如,我一直在研究以下功能,例如:
编辑:
长话短说:在美式键盘上,SHIFT+3 = #
,而在法语键盘上 SHIFT+3 = /
。所以我不想看单独的键,而是想了解角色。
在处理 WM_KEYDOWN 时,如何翻译 lParam 和 wParam(“键”)以找出键盘和 Windows 将要生成的字符?
python - 如何确定笔记本电脑FN键盘按键HEX码?
我有一个 python 脚本,可以按FN+RightArrow等来控制特殊的亮度/音量功能。
我不知道FN按钮的十六进制代码。我试过255,但似乎不行。
我试图用 KeyView.exe 来确定它。它为按下的键提供十六进制代码。RightArrow 的值较小,而FN+的值RightArrow较大。我减去它们并找到FN价值(174或类似的东西)。但它也不是这样工作的。
我查看了一堆网站并安装了几个额外的工具,但我无法弄清楚。我可以通过其他方式自动降低亮度吗?
笔记本电脑是联想 Y50-70,我运行的是 Windows 10。
有什么想法吗,伙计们?谢谢!
visual-c++ - VC++:枚举虚拟键码列表以及所有可能组合键的扫描码
我想列举当前键盘布局支持的所有可能组合键的列表(带有虚拟键码、扫描码及其 Unicode 值)。将远程用户输入映射到键以模拟它们。
我期待一个像VC++ 的UCKeyTranslate (ObjectiveC) 这样的 API,它可以接受虚拟键码和修饰符(ALT、SHIFT、CTRL)并为我提供扫描码,但找不到类似的东西。
经过大量研究并花了整整 2 天的时间,除了 MapVirtualKeyEx 之外,我别无选择。
我附带了以下代码,但这有很多问题,
MapVirtualKeyEx 只为我提供了基本扫描代码的列表,而不是带有修饰符(ALT、CTRL、SHIFT)组合的键的扫描代码。有什么方法可以提供修饰符的组合作为函数的输入,以便生成所需的组合键?
任何帮助,将不胜感激。提前致谢。
scancodes - IBM 扫描码在哪里使用?
此页面有一个击键列表及其对应的扫描码。我对此感到困惑。我注意到每个扫描码都以 NUL 字符开头。这是否意味着当输入流接收到 NUL 字符时,这意味着将下一个字节解释为扫描码?另外,我很好奇什么平台使用这些,因为它们似乎没有在 Unix 系统上使用。在我的系统上,如果我想编写一个识别箭头键的程序,我只需为这些键使用三字节 UTF-8 代码。