windows系统下修改键盘按键的映射
待解决的问题:
在windows系统下,在某些情况下,我们感觉键盘的按键位置不是特别方便,因此想重新映射它。
比如:要实现如下重新映射(我就有这样的需求),怎么办?
Esc键 修改为 CapsLock键
CapsLock键 修改为 左Shift键
左Shift键 修改为 左ctrl键
左ctrl键 修改为 左alt键
左alt键 修改为 Esc键
Enter键 修改为 右Shift键
右Shift键 修改为 Enter键
解决之道:
打开浏览器,进行百度!
哦,原来已经有人来解决了。。。。比如:
http://www.cnblogs.com/Rainr/archive/2012/01/21/2328046.html(该链接里面的步骤例子比较好)
http://blog.chinaunix.net/uid-174325-id-3912617.html( 该链接里面的按键扫描码值比较好, 使用小端模式表示的,可以直接使用)
再重新描述一下方法:
第一步:按 windows + R, 输入 regedit, 打开注册表。
第二步: 找到:HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Control\ Keyboard Layout 下。
第三步:右键新建二进制值,名字为Scancode Map。
第四步:右键名字Scancode Map, 选择修改二进制值, 输出 XXXX, 完成。
第五步: 重启电脑, 修改生效。
XXXX 的格式为:
1. 二进制值使用16进制表示,并且使用小端格式(即低位在前,高位在后,例如32位系统的16进制0xab002301,在小端模式下表示为:012300ab)。
2. 前8个字节为版本信息号,使用 00 00 00 00 00 00 00 00 表示。
3. 接下来4个字节表示你修改的映射的个数。修改一个映射表示为 02 00 00 00(从2开始),修改两个映射表示为03 00 00 00,等等。
4. 接下来的 4 * n 个字节表示你修改的映射(其中n 表示你修改的映射的数目)。 4个字节的前2个字节表示映射后的按键扫描码,后2个字节表示你映射前的按键扫描码。
5. 最后使用4个字节的 00 00 00 00 结束 。
举例:
有如下按键的扫描码的值(使用小商模式下表示的):
1. Esc键的扫描码为 0100, CapsLock键的扫描码为3A00, 回车键的扫描码为1C00, 右ctrl的扫描码为1DE0。
把Esc键映射为CapsLock键:
00 00 00 00 00 00 00 00 02 00 00 00 3A 00 01 00 00 00 00 00
2. 把Esc键映射为CapsLock键, 把回车键映射为右Shift键:
00 00 00 00 00 00 00 00 03 00 00 00 3A 00 01 00 36 00 1C 00 00 00 00 00
3. 文章开头描述的按键重新映射的二进制值为:
00 00 00 00 00 00 00 00 08 00 00 00 3A 00 01 00 2A 00 3A 00 1D 00 2A 00 38 00 1D 00 01 00 38 00 36 00 1C 00 1C 00 36 00 00 00 00 00
OK, 搞定!
如果想知道linux下的键盘重新映射方法,请看之前我写的: linux系统下键盘按键的重新映射——xmodmap工具和xev工具。
windows系统下修改键盘按键的映射的更多相关文章
- Windows系统下修改Erlang默认路径
新建.erlang文件: io:format("consulting .erlang in ~p~n",[element(2, file:get_cwd())]). c:cd(&q ...
- windows系统下简单nodej.s环境配置 安装
国内目前关注最高,维护最好的一个关于nodejs的网站应该是http://www.cnodejs.org/ windows系统下简单nodejs环境配置. 第一步:下载安装文件 下载地址:官网 htt ...
- windows系统下安装MySQL
可以运行在本地windows版本的MySQL数据库程 序自从3.21版以后已经可以从MySQL AB公司获得,而且 MYSQL每日的下载百分比非常大.这部分描述在windows上安装MySQL的过程. ...
- Linux系统下修改环境变量PATH路径的三种方法
这里介绍Linux的知识,比如把/etc/apache/bin目录添加到PATH中有三种方法,看完之后你将学会Linux系统下如何修改环境变量PATH路径,需要的朋友可以参考下 电脑中必不可少的就是操 ...
- PHP-5.5.10+Apache httpd-2.4.9在Windows系统下配置实战
原文 PHP-5.5.10+Apache httpd-2.4.9在Windows系统下配置实战 环境配置: 程序准备: PHP windows版本下载地址: http://windows.php. ...
- Windows系统下Nginx的安装与配置
Nginx是lgor Sysoev在2004年的时候为俄罗斯访问量第二大的rambler.ru站点设计开发的,发布至今,凭借开源的力量,已经接近成熟与完善.其功能丰富,可作为HTTP服务器,也可作为反 ...
- Windows系统下的TCP参数优化(注册表\TCPIP\Parameters)
转自:https://blog.csdn.net/libaineu2004/article/details/49054261 Windows系统下的TCP参数优化 TCP连接的状态与关闭方式及其对 ...
- Tomcat Windows 系统下安装及注意事项
1 获取Tomcat 安装包 http://tomcat.apache.org/ tar.gz 文件是Linux系统下的安装版本 exe文件是 Windows系统下的安装版本 zip 文件是Wind ...
- windows系统下简单nodejs安装及环境配置
相信对于很多关注javascript发展的同学来说,nodejs已经不是一个陌生的词眼,这里不想谈太多的nodejs的相关信息.只说一下,windows系统下简单nodejs环境配置 相信 ...
随机推荐
- [ZJOI2013]K大数查询
Description: 给定一个序列,支持两种操作 1.在[L,R]的每个位置上加上一个数 (注意一个位置上有多个数) 2.查询[L,R]上所有数中的第K大 Hint: \(n,m<=5e4\ ...
- FPGA - 认识FPGA
一.何为FPGA? FPGA,英文全拼:Field-Programmable Gate Array 现场可编程门阵列,它是在PAL.GAL.CPLD等可编程器件的基础上进一步发展的产物.它是作为专用集 ...
- CSS设置文字不能被选中
/*设置文字不能被选中 以下为css样式*/ -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; us ...
- 2017.08.15【NOIP提高组】模拟赛B组
Summary 今天比赛很差很差,掉到谷底.第一题快排打错了,漏了递归,变成一个while循环.最后一题k忘记减一,答案一直是无穷大,所以没交.第三题没时间调DP就打了个递归,第二题状态想歪了.四道题 ...
- vue要点记录(待更新)
Vue实例 每个 Vue 实例都会代理其 data 对象里所有的属性:vm.a===data.a //true 注意只有这些被代理的属性是响应的. 如果在实例创建之后添加新的属性到实例上,它不会触发视 ...
- 解压文件出错解决方法(invalid compressed data--format violated)
解压缩出现这个报错: 1.考虑是否传输过程出错,重新传输试试. 2.使用传输工具时,选择二进制试试. 3.使用传输工具时,选择ASCII试试. 解压缩命令: gzip -d filename gun ...
- Accumulator<Long> implements of JavaSparkContext in Spark1.x
As we all know , up to Spark 1.6.2, JavaSparkContext only provides two kinds of accumulators: Intege ...
- leetcode笔记--SUM问题
引用自 http://blog.csdn.net/wangxiaojun911/article/details/18922337,此处仅作为自己参考 1.Two SUM Given an array ...
- GMA Round 1 极坐标的忧伤
传送门 极坐标的忧伤 为什么你们不喜欢为我求导……——极坐标 极坐标的心意,想必已经传达到了,那么请为极坐标方程$r=t$(也写作$ρ=θ$)求导吧. 为了考验你的忠诚,你需要回答$r=t$在(0,$ ...
- JSAP103
JSAP103 1.节点 1)定义:不是元素,节点是页面中的所有内容(标签,属性,文本),Node.它使得任何标签中的元素获取都十分方便 2)节点的相关属性 可以使用标签即元素点出来,可以使用属性节点 ...