zoukankan      html  css  js  c++  java
  • Windows修改注册表按键映射

    Scancode Map 注册表项来实现键盘按键映射。

     位于注册表的:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout\ 下新建一个二进制值项:  "Scancode Map"

    这个项目可实现对键盘按键的映射。这里映射的意思可理解为“替换”,可将任意一键替换成其它键。

    [项目格式]

    以16进制表示,更分为五个部分,每个逗号之间都为一个字节。

    "Scancode Map" = 00,00,00,00,00,00,00,00,   02,00,00,00,   01,00, 02,00,    00,00,00,00 

    1. 8个字节。 这是版本信息号。照例写就好。
    2. 4个字节。 这是映射键的总数。按照二进制的读写规则,低位在左,高位在右。02 00 00 00 这个数实际就是:00 00 00 02 。从 02 开始,一个映射键是 02 ,两个是03 ,依次递加,十个是 0B 。
    3. 2个字节。 表示替换后按键的”扫描码“。如:ESC 键的扫描码是 01 ,所以就表示 01 00 。再如 左Ctrl键扫描码是 1D 00, 而右Ctrl键是 1D E0 。
    4. 2个字节。 表示原按键的”扫描码“。格式同上。
    5. 以四个 00 结束。
     

    [键盘扫描码]

    以十六进制表示,分两部份,0X后面两个数是扫描码,最后两个数是 ASCII 码(可忽略)。如 0x011b          ESC 扫描码是01。


    扫描码    键

    0X011B ESC
    0X3B00 F1
    0X3C00 F2
    0X3D00 F3
    0X3E00 F4
    0X3F00 F5
    0X4000 F6
    0X4100 F7
    0X4200 F8
    0X4300 F9
    0X4400 F10

    主键盘区:
    0X2960 ~
    0X0231 1
    0X0332 2
    0X0433 3
    0X0534 4
    0X0635 5
    0X0736 6
    0X0837 7
    0X0938 8
    0X0A39 9
    0X0B30 0
    0X0C2D -
    0X0D3D =
    0X2B5C "
    0X0E08 退格键
    0X0F09 TAB
    0X1071 Q
    0X1177 W
    0X1265 E
    0X1372 R
    0X1474 T
    0X1579 Y
    0X1675 U
    0X1769 I
    0X186F O
    0X1970 P
    0X1A5B [
    0X1B5D ]
    0X1E61 A
    0X1F73 S
    0X2064 D
    0X2166 F
    0X2267 G
    0X2368 H
    0X246A J
    0X256B K
    0X266C L
    0X273B ;
    0X2827 '
    0X1C0D 回车
    0X2C7A Z
    0X2D78 X
    0X2E63 C
    0X2F76 V
    0X3062 B
    0X316E N
    0X326D M
    0X332C ,
    0X342E .
    0X352F /
    0X3920 空格键


    右边数字键盘:
    0X5200 INSERT
    0X4700 HOME
    0X4900 PAGE UP
    0X5300 DELETE
    0X4F00 END
    0X5100 PAGEDOWN
    0X4800 上箭头
    0X4B00 左箭头
    0X5000 下箭头
    0X4D00 右箭头
    0X352F /
    0X372A *
    0X4A2D - (注意,这是数字键盘的)
    0X4737 7
    0X4838 8
    0X4939 9
    0X4B34 4
    0X4C35 5
    0X4D36 6
    0X4E2B +
    0X4F31 1
    0X5032 2
    0X5133 3
    0X5230 0
    0X532E DEL

    左 Crtl 扫描码是 1D ,表示 1D 00 。 右 Ctrl 键扫描码是 E01D,表示 1D E0。

    左 ALT 扫描码是 38 ,表示 38 00 。 右 ALT 键扫描码是 E0 38,表示 38 E0。

    左 Shift 扫描码是 2A ,表示 2A 00 。 右 Shift 键扫描码是 36 ,表示 36 00

    [示例]

    1.屏蔽左侧WIN键

      "Scancode Map"=00,00,00,00,00,00,00,00,02,00,00,00,00,00,5B,E0,00,00,00,00 

    2.屏蔽右侧WIN键

      "Scancode Map"=00,00,00,00,00,00,00,00,02,00,00,00,00,00,5C,E0,00,00,00,00

    3.屏蔽左右WIN两个键

      "Scancode Map"=00,00,00,00,00,00,00,00,03,00,00,00,00,00,5B,E0,00,00,5C,E0,00,00,00,00

    4.替换左Crtl键为左Alt键

      "Scancode Map"=00,00,00,00,00,00,00,00,02,00,00,00,38,00,1D,00,00,00,00,00 

    数据及信息经网络收集所得 2012-01-21

  • 相关阅读:
    业务线--node中间层做一个透传的项目
    JavaScript 字符串replace全局替换
    纯HTML和CSS实现点击切换
    css 清除一些默认的设置
    js异步请求方式
    VScode编辑器个性化配置
    webpack 解决跨域问题
    node.js连接MongoDB数据库,db.collection is not a function完美解决
    nodejs中安卓端的编码如何转换为中文
    深入理解js的变量提升和函数提升
  • 原文地址:https://www.cnblogs.com/rainrcn/p/2328046.html
Copyright © 2011-2022 走看看