windows和Ubuntu中设置交换左ctrl和capslock键的方法

windows和Ubuntu中设置交换左ctrl和capslock键的方法

linux

想要在linux上交换Capslock和左边的ctrl键,ubuntu系统和mint可以通过一下方式:
在shell终端输入:setxkbmap -option “ctrl:swapcaps”
直接生效
每次重启后失效

对于Windows用户可以直接修改注册表

windows

win+R 输入regedit 进入注册表
找到位置:
HKEY_LOCAL_MACHINE -> System -> CurrentControlSet -> Control -> KeyBoard Layout
注意是KeyBoard Layout不是KeyBoard Layouts
右键菜单,新建二进制值,重命名为 Scancode Map
右键修改二进制值

0000 00 00 00 00 00 00 00 00 
0008 03 00 00 00 1D 00 3A 00 
0010 3A 00 1D 00 00 00 00 00 
0018

也可以使用执行脚本的方式,替换掉####为你想要修改的键,具体的值可以去查映射表.

 Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] 
    "Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,##,##,##,##,00,00,00,00

如果是直接修改的话win10会出现无法粘贴的情况,这个时候可以手动输入进去.也不是很多.
windows重启后生效,linux执行命令后立即生效
Scancode Map扫描码映射
是注册表中
[HKEY_LOCAL_MacHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
中的一个二进制键值(默认没有,需新建),并且有固定的格式。
一般格式是:“hex:00,00,00,00,00,00,00,00,|02|,00,00,00,|映射之后的扫描码(XX XX),原扫描码(XX XX)|00,00,00,00”。

举例:比如说我们想把F9,F10键修改成为音量调整键,通过查表,可以得知:F9、F10扫描码分别为(00,43)、(00,44),Volume Up、Volume Down的扫描码分别为(E0,30)、(E0,2E),这样只要将Scancode设置为如下就可以了:
“Scancode Map”=hex:00,00,00,00,00,00,00,00,03,00,00,00,30,E0,43,00,2E,E0,44,00,00,00,00,00
含义为: | 版本号和头部字节 | 两组映射 | 第一组 | 第二组 | 结尾终止 |

更多关于Scancode Map参见
http://christina.kuo.blog.163.com/blog/static/1242669022011102311523706//

猜你喜欢

转载自blog.csdn.net/xl_1851252/article/details/82956733