国际 Dvorak 键盘不触发热键

国际 Dvorak 键盘不触发热键

我使用的是英语-德沃夏克键盘布局;我的第二种键盘语言是希伯来语,它与德沃夏克无关,但与热键有关(例如,如果我用希伯来语编写文档并想使用Ctrl+将一些文本加粗b)。

Windows(7 及以下版本)自带的默认希伯来语键盘具有 Shift 模式,可将每个希伯来语字符与其对应的英语 QWERTY 字符匹配。显然,我想使用 Dvorak 对应的键而不是 QWERTY 键,因此我使用名为键盘布局管理器 (KLM) 创建新的键盘布局 DLL。

它对 Shift 键来说工作得很好,但是,Ctrl-key 触发的热键(例如FF 中的Ctrl+ l)与相应的 QWERTY 键匹配。我使用 KLM 检查了正常工作的英语-Dvorak 布局,在其“ Ctrl+ 按下”视图中,没有任何字符与任何键匹配,但我仍然尝试对希伯来语Ctrl+ 按下的键进行编码以与其匹配的 Dvorak 键一起使用,但它没有效果。

答案1

处理这个问题很长时间后,我联系了荷兰皇家航空公司的米兰·维达科维奇。他非常友好地向我解释了如何解决这个问题。以下是他的回复:

替代文本为此,您需要更改该键的虚拟键分配。例如,在 QWERTY 键盘上,“A”键的虚拟键值为 VK_A(十六进制 0x41)。这意味着如果您按Ctrl+ A,它将执行正确的操作(全选)。我使用 QWERTZ 键盘,仅将“Y”键更改为“Z”键并反之亦然是不够的。我还需要更改两个键的虚拟键分配。要查看和更改虚拟键,请查看 KLM 键盘编辑器窗口的右上角:替代文本

现在,如果您将字符“A”放在“B”键上,然后按 + CtrlB您会期望它现在将全部选中,因为您已将字符“A”放在“B”键上。但这不会发生,因为“B”键的 VirtualKey 值为 VK_B:

替代文本

您需要更改“B”键的虚拟键分配,以便计算机认为它是“A”键。为此,您需要打开 KLM 中的 VirtualKey 组合框并将虚拟键更改为“A”值:

但是,请不要忘记“A”键也有 VK_A 值,因此您需要将其虚拟键值更改为“B”或其他值。您可以单击“解析 VK”按钮让计算机解析所有虚拟键分配重复项。

由于 klm 的常规演示版本不允许您更改虚拟密钥,因此我在此处放了修改后的演示版本(32 位和 64 位可执行文件):

http://www.klm32.com/KLM32/demo/demo.html

此致,

米兰·维达科维奇

答案2

我猜想,简单地说,计算机只能识别一种语言的快捷键,而您却使用另一种语言。

例如,您可能按下了Ctrl+א但计算机看到的却是Ctrl+ A

我猜你必须进入你正在使用的程序的配置并重新映射程序以使用希伯来语快捷方式。显然这将取决于程序。

相关内容