键盘重新映射

键盘重新映射

我正在尝试识别Print ScreenWindows 7 上 Apple 键盘(A1243,109 键)的功能。我不想使用屏幕键盘(如建议的那样)(并选择为可接受的答案)这个重复的问题

我希望仅通过按键即可实现该功能。如果我需要映射按键,我希望无需使用其他软件即可实现。我有哪些选择?

我尝试了以下按键,但它们在我的系统上确实不起作用:F13,,,,,。F14F15command+shift+4option+F13

答案1

键盘重新映射

引用维基百科:

A扫描码(或者扫描代码) 是大多数计算机键盘发送给计算机以报告已按下哪些键的数据。键盘上的每个键都分配有一个数字或数字序列。

自 Windows 2000 起,Scancode Map注册表值可用于将某个键重新映射到另一个键或完全禁用该键。扫描码映射存储在以下注册表项中:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout

Keyboard Layout键中,Scancode Map必须添加值。该值的类型为REG_BINARY(little Endian 格式),并具有下表中指定的数据格式。

Start offset (in bytes) | Size (bytes) | Data
---------------------------------------------------------------------
                      0 |            4 | Header: Version Information
                      4 |            4 | Header: Flags
                      8 |            4 | Header: Number of Mappings
                     12 |            4 | Individual Mapping
                    ... |          ... | ...
           Last 4 bytes |            4 | Null Terminator (0x00000000)

第一个和第二个条目DWORDS存储标头信息,对于当前版本的扫描码映射器,应将其设置为全零。第三个DWORD条目保存后面的映射总数,包括以空结尾的映射。因此,最小计数为 1(未指定映射)。各个映射跟在标头后面。每个映射的DWORD长度为 1,并分为两个WORD长度字段。每个WORD字段存储要映射的键的扫描码。

来源:键盘和鼠标类驱动程序

手动注册表编辑

  1. 以管理员身份打开命令提示符。

  2. 键入或粘贴以下命令,然后按Enter

    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout" /v "Scancode Map" /t REG_BINARY /d 00000000000000000200000037e0640000000000 /f
    

    在这种情况下,只有一个映射:F13 键 (scancode 0x0064)。它被重新映射到0xe037,即 Print Screen 键。

  3. 注销或重新启动 Windows 以应用更改。

使用 SharpKeys

SharpKeys 是一款管理注册表项的实用程序,允许 Windows 将一个键重新映射到任何其他键。该应用程序包含常用键盘键列表和 Type Key 功能,可自动识别大多数键盘键。

笔记最新版本需要 .NET Framework 4.x 才能运行。您可以获取旧版本如果您需要它与 .NET Framework 2.0/3.x 一起运行。 还有一个便携版本可用。

  1. 下载并运行夏普键

  2. 点击添加, 选择功能:F13(00_64)从列表中,并将其映射到特殊:PrtSc(E0_37),然后点击好的

  3. 点击写入注册表,然后注销或重新启动 Windows 以应用更改。

进一步阅读

相关内容