问题标签 [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 投票
5 回答
2449 浏览

python - Tkinter 国际绑定

Tkinter 中是否有一种方法可以绑定适用于所有键盘布局的键组合?(通过扫描码绑定)

例如,我需要在所有布局中使用键盘左下角的相同'Control-Z'物理键的绑定,例如:     * 俄罗斯布局、     * 希腊布局等。

这是我尝试过的:

它不适用于俄语和希腊语键盘布局。

更新 2:

我用 Windows 做了更多的实验,现在一般规则是这样的:

    1)如果语言是基于拉丁字符集的,键被“按值”映射(德语法语德沃夏克语),以便将相同的动作映射到不同的物理键。
    2) 如果不是(例如 俄语希腊语),则所有主要加速键都“按位置”映射(以匹配通常标记在同一键上的相应英文字母)。

只有第二种情况需要特别注意。如果这已经在某个库中实现了,有什么想法吗?

更新 3

即使没有俄语键盘或俄语 Windows,它也可以简单地复制。

1) 开始->控制面板->区域和语言选项
2) 语言->详细信息
3) 添加俄语。

而已。现在 Alt-Shift 会将您切换到俄语,您将能够输入以下有趣的符号:

俄语键盘

另一个 Alt-Shift 将使您切换回来。

忘记 Wikipedia 所说的有关语音俄语布局的内容。这些天没有使用它们。至少在俄罗斯境内。

所有 Windows 应用程序(包括 wxPython 应用程序)都Ctrl-я用于撤消、Ctrl-ч剪切、Ctrl-с复制等。

0 投票
1 回答
1057 浏览

android - rn-42 bluesmirf HID 不发送扫描码?

我正在尝试使用带有蓝牙 HID 模块(bluesmirf)的 arduino 来控制我的 Galaxy 标签上的音量。我有 arduino 设置,所以我按下一个连接的小按钮,它就像键盘一样将 ascii 文本发送到平板电脑,这很好用。我想为这个“蓝牙键盘”创建一个自定义键盘布局文件,这样当平板电脑通过蓝牙接收来自 arduino 的按键时,它将控制适当的项目,如音量、静音等。但是,当使用 keytest捕获从蓝牙模块按下的传入按钮,扫描码始终为 0。 Keytest 正在读取密钥并在发送 A 时将其显示为 keycode_a (例如),但该键的扫描码始终为 0 而不是唯一的标识符。说来也怪,

我不明白。我一定是做错了什么,但我还是新手/正在学习,所以我一定会错过它。如果没有扫描码供平板电脑查看,我无法设置自定义键盘布局来执行我想要的操作。

如有必要,我可以发布我的 arduino 代码。非常感谢任何和所有帮助。我非常接近完成我需要的东西,这让我发疯。

编辑 - 代码如下:

所以在上面的代码中,Serial.println("A"); 发送到平板电脑,我可以在文本编辑器中看到打印的 A。平板电脑看到在 keytest 应用程序中按下了 A,但它显示扫描码为 0。由于某种原因,发送的每个字符都显示为 0,除了草图在 Serial.println 之后抛出的自动回车。我什至尝试使用 Serial.print 代替,因为它不会抛出回车,而且我也得到了相同的扫描码 0。

0 投票
2 回答
1052 浏览

keyboard - 这个密钥的 VK_KEY / 扫描码是什么?

我正在使用 GetASyncKeyState (C++) 来检查密钥。我不知道这个键的名称是什么: 在此处输入图像描述

这个键是怎么命名的?什么是 VK_ 或 Scancode?

0 投票
2 回答
2202 浏览

ios - iPhone/iPad 主页按钮的 HID 报告/扫描码

我正在使用 RN-42-HID 蓝牙模块为 iOS 创建一个非常简单的 Arduino BT 键盘。我已经能够连接到 iPad 并向其发送一些 HID 报告。

到目前为止,我可以使光标向左、向右、向上和向下移动,以及选择某个应用程序。耶!我使用 Roving Network 的 HID 手册中详述的 HID 原始报告来执行此操作。

我一直在试图弄清楚如何让我的 iPad 进入主屏幕,或更改页面。当我连接一个普通的BT键盘,启用VoiceOver时,“ctrl + alt + H”的BT键盘组合使iPad返回主页。

当我发送相应的 HID 原始报告时,iPad 不回家。

它看到“H”,并在我打开文本字段时打印“H”,但它只是不返回主页。

我也尝试过同时发送修饰键作为 3 个扫描码的组合,但这在 iPad 上也不起作用。

我是否以正确的格式发送报告?我是否发送了正确的扫描码?

即使您没有实际的扫描代码,如果有办法找出激活主页的代码也会很好。有谁知道我如何找到主页按钮的扫描码(以及翻页,这也涉及 alt 按钮)?

0 投票
1 回答
1475 浏览

c++ - Linux 键盘扫描码问题:例如,UP ARROW 给出 ^[[A

我们一直在努力了解 Linux 中的键盘扫描码行为。

当我们打开一个普通的 bash shell 时,箭头键按预期工作:UP显示历史记录中的前一项等。但是,当您生成一个进程时,箭头不再按预期工作。例如,UP打印^[[A而不是前面的命令。

为了证明这一点,请执行以下操作:

bash$ ping www.google.com

现在,按UPDOWN等,您将在进程运行时看到错误映射的键码。但是,当您终止进程时,箭头键将再次起作用。

我们已经在 CentO、Ubuntu、Mac 甚至不同的 shell(bash、sh、zsh)上对其进行了测试,并且到处都发生了同样的情况。我还使用kbd_mode尝试了不同的键盘模式,我们使用 RAW 和 XLATE 模式进行了测试。

在搜索答案时我能看到的最接近的事情是,当IPython 不是针对 readline 构建时,IPython 用户经历了相同的行为。但是,据我所知,这与我们的案例无关。

我们正在开发一个基于 C++ Tcl 的控制台应用程序,它使用 cin 和 cout 与用户进行通信,并从用户那里获取输入。当我们尝试访问以前输入的命令的历史记录时,我们遇到了箭头键的问题。这对我们来说是一个主要问题,因为 99% 的人都希望箭头字符能够正常工作。

任何关于我们如何克服这个问题的想法都将不胜感激。

0 投票
1 回答
1925 浏览

c++ - 从 WM_CHAR 消息中获取扫描码

如何将我通过输入捕获的任何语言的字符转换为WM_CHAR键盘WndProc扫描代码?就像按下的按钮一样,x它会返回 0x2d 等等。

0 投票
3 回答
19101 浏览

assembly - 键盘箭头的扫描码是什么?(右、左、下、上)

我需要箭头的扫描码(右、左、下、上)。我在 Assembler 中制作软件,我需要知道键盘箭头扫描代码的十六进制值。

0 投票
1 回答
1043 浏览

delphi - 在 Delphi 中模拟多媒体按键

我需要在 Delphi 中模拟多媒体键(如播放/暂停、上一首/下一首、快退/前进等)的按下。我可以使用下面的代码轻松模拟“普通”键:

另外,我找到了 MAKE/BREAK 代码列表,但我应该如何处理它们?

MSDN 说:

我找到了提高音量的扫描码:

通码:E0、32 断码:E0、F0、32

我试过了:

但也没有运气(这必须模拟 E0 32 E0 32,没有 F0)。MSDN 还说 bVk 必须是 [1..254],我使用 0 因为我没有在关键代码列表中找到任何合适的东西。

0 投票
1 回答
414 浏览

c++ - 如何使用扫码关机?

有人让我用 Teensy 2.0 关闭 Windows。我必须使用在win.tue.nl上找到的以下扫描码。

现在我正在使用带有 Teensyduino 附加组件的 Arduino IDE 来对 Teensy 进行编程。我的问题是如何使用上述所谓的扫描码来模拟“电源”击键以关闭 PC?

我希望有一个人可以帮助我。

/兹维尔克

0 投票
1 回答
1217 浏览

c++ - 如何将 X11 KeyCode 或 KeySym 转换为扫码

我需要以与布局无关的方式获取键盘按钮(或任何其他代码)的扫描代码。更具体地说,假设我有 QEditText 并从中捕获击键。现在我开始按下一个按钮,当布局是英文时它有 keycode= X,然后我将布局切换到俄语(德语、法语等)并且键码变为Y - 但物理按钮是相同的. 所以我需要知道那个物理按钮的代码,怎么做?