问题标签 [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.

0 投票
1 回答
3721 浏览

assembly - 扫描箭头键的代码

下面的“processKey”功能用于识别您在键盘上按下的键,并根据按下的键执行一些操作。下面编程的所有键都可以工作。我需要在函数中添加检测四个箭头键(上、下、左、右)以及 CTRL UP 和 CTRL DWN 的功能。我知道这些键没有 Ascii 代码,并且有扫描代码。有人可以帮我找到扫描码吗?我曾尝试在网上查找,但运气不佳。如果它与我在 Macintosh 上运行 Windows 8.1 的操作系统有关。谢谢!

0 投票
1 回答
1336 浏览

windows - 如何将 VK 扫描代码转换为所选语言的适当字符

我有一个多语言应用程序,我必须将 VK 扫描代码转换为当前键盘布局指定的适当字符,前提是它们映射到某些字符表示,而不仅仅是动作、状态或其他元使用。我将如何做到这一点,以便它可以使用不同的语言在不同的 Windows 上移植?

我可以为 VK 扫描代码编写一个映射函数,但在WinUser.h文件中,我正在阅读以下内容:

这表明如果键盘不是美国的,这可能会有所不同。必须有一个函数可以调用,以通过键盘驱动程序或其他东西进行适当的映射,对吧?

0 投票
2 回答
13758 浏览

c - SDL 物理键码和 SDL 虚拟键码有什么区别?

该结构SDL_Keysym具有SDL_ScancodeSDL_Keycode成员。它们之间有什么区别?该文档并没有真正为我清除它。我都试过了,他们似乎做同样的事情。

0 投票
1 回答
596 浏览

linux - 如何在 Haskell 中获取按下和释放键的扫描码?

我正在写一个简单的文本编辑器,所以我想要这样的东西

正如您可能猜到的,我希望getKeys函数的行为类似于getContents,具有连续的扫描码列表。

据我所知,SDL 甚至 GTK 都可以为我提供这样的功能,但是是否有更惯用的(对于 haskell 和函数式编程而言)以及更少的“开销”方式来做这样的事情?

PS 如果重要的话,我想在 Linux 下的控制台(tty)和 X11/Wayland 中使用我的“编辑器”。

0 投票
1 回答
2832 浏览

android - 如何在 Android 中找到“未知密钥”的扫描码?

我正在尝试通过为我的蓝牙设备创建自定义键布局文件来在 Android 5.1 中进行一些键重新映射,但是我的一些设备的键在 Android 中没有任何作用(例如键盘上的 iOS 特定键)或者在它显示为关键事件之前被 Android 拦截。

据我所知,问题在于这些键的扫描码当前未映射到通用键布局列表中的任何内容,或者它们被视为像 Home 键这样的系统键,而实际按键永远不会到达常规应用程序. 假设这是因为扫描码尚未映射到 Android 中的任何内容,有没有办法从设备获取原始扫描码,以便我可以尝试自己记录代码并为其编写适当的按键布局文件?我的设备上有根,如果有基于 Windows 的方法从蓝牙键盘读取未知扫描码,我也可以将设备连接到我的 Windows 10 PC。

0 投票
2 回答
1546 浏览

linux - 键盘键是否可以不生成扫描码?

我最近开始全职转向 Linux,并且很享受学习曲线。然而,一件特别的事情让我很困惑:我的笔记本电脑上的一些 Fn 组合键不起作用,规范。音量增大/减小、静音等。有效的组合包括 WLAN、睡眠、视频循环、数字键盘等。我可以排除硬件故障,因为这些键在 Windows 7 上运行良好(尽管只有当安装了笔记本电脑制造商的热键软件)。

我已经在网上搜索了可能的解释,并且遇到了scancode(依赖于硬件)、keycodekeysym的概念。我想我了解了基础知识,并且发现控制台和X有自己的映射,需要单独重新映射。控制台使用扫描码到键码的内核映射,但 X 出于某种原因有自己的映射。就我而言,我尝试过:

  1. 设置开机参数atkbd.softraw=0
  2. 通过 Ctrl + Alt + F1 切换到控制台模式
  3. 用过showkey --scancodes。不幸的是,我尝试使用的键没有显示任何扫描码输出
  4. 用于dmesg查看是否发生了任何未知按键事件,但没有找到。
  5. 在我绝望中,试图acpi_listen查看键是否实际上触发了任何 acpi 事件,只有睡眠和视频循环键可以,其他键不输出任何内容

在这一点上,我想也许我应该尝试从 X 环境本身获取扫描码,使用xev,但没有运气。

我来到这里只是作为最后的手段。我希望有人能很好地解释为什么某些功能键组合在我上面尝试过的工具中没有产生任何输出。如果有帮助,我使用的是 Linux Mint 17.3 Cinnamon,笔记本电脑是由 HCL 制造的。evtest显示键盘设备为 AT Translated Set 2 键盘。如果需要更多信息,我很乐意提供帮助。谢谢。

编辑:没有相关的 BIOS 设置可用。

忏悔:我在这方面的所有知识都是基于我在 Arch wiki、Ubuntu wiki、大量论坛帖子和其他网站上阅读的内容。所以,如果我在技术上对某事有误,请多多包涵,并纠正我。我喜欢学习这些东西:)

0 投票
1 回答
100 浏览

macos - osx mavericks 键盘扫描码映射到独立于语言映射的相同字符

0 投票
1 回答
256 浏览

c - F11 和 F12 的 Windows 扫描码不同。为什么?

为什么它们与其他扫描码分开?有什么原因吗?

0 投票
1 回答
137 浏览

windows - 需要扫码地图

我想禁用以下 - Application.SendKeys "{1068}"

为此,我必须通过添加注册表项来禁用它。我添加了注册表项来禁用打印屏幕,但这并没有禁用这段代码。

任何有关查找此扫描码地图的帮助将不胜感激。

0 投票
2 回答
1986 浏览

c - Winapi - 扩展键盘扫描代码

如果我想使用像 0xE0 0x1D (用于右 CTRL)这样的扩展扫描代码来模拟按键,我将如何在 C 中模拟这样的按键?我试过SendInput用两个INPUT结构调用,但只有左 CTRL 键被“按下”。对于具有“双胞胎”(Shift 和 Alt)的其他键,也会发生同样的情况。

其次,如何为“扩展”键引发 keyup 事件?