首页 > 系统相关 >Windows用注册表修改键盘映射(扫描码)

Windows用注册表修改键盘映射(扫描码)

时间:2024-01-14 23:33:39浏览次数:28  
标签:00 映射 Windows 键盘 修改 XX 注册表 E0

title: Windows用注册表修改键盘映射(扫描码)
date: 2020-10-18
categories: 编程
tags:
- 键盘
- 注册表
- Windows

前言

使用C/C++代码方式修改可见下篇《用C/C++(Win32API)写软件修改键位》

据说Qwerty键盘是为了降低打字员打字速度,防止打字机卡机所作出的妥协。那么现在的键盘是否降低了咱敲代码的速度?试试看换成其他的键盘布局吧。

注:注册表修改映射的方法比较麻烦,但适用性还挺高,不需要依靠其他软件,所以不会被软件或游戏认定为作弊。

注:常用快捷键Ctrl+Z、Ctrl+C等可能会变的不方便。

确定目标

首先明确要将键盘修改成什么样子,我以网上[1]找到的一种键盘布局为例。

X B O T H W U Y G M
R L C I A E N Z J
K V Q D F S P

注:这里的修改仅限于主键盘区26个字母(其实只修改了25个x)。

修改方法

首先打开注册表(Win+R输入regedit并运行),并且进入目录:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout

在该目录下右键点击新建二进制值,名称为Scancode Map,并打开。

接下来按照如下格式[2]输入自己需要更改的键位:

00 00 00 00 00 00 00 00(固定格式)
XX 00 00 00(XX为修改的总键数+1的16进制数)
XX XX XX XX(修改后的按键扫描码(在前)+原按键的扫描码(在后))
XX XX XX XX(另一个要替换的按键,同上)
......
00 00 00 00(固定格式)

以上就是修改键位的格式,理论上可以修改254个键(包含键盘所有键有余)。

其中提到的扫描码是一个16进制数字,每个代表一个键,扫描码表如下(左列为高位、右列为低位):

注:如果要禁用一个键,将这个键映射为00 00即可。

Backspace 0E 00 9 49 00 / ? 35 00 S 1F 00 DBE_SBCSCHAR 77 E0
Caps Lock 3A 00 - 4A 00 ; : 27 00 T 14 00 CONVERT 79 E0
Delete 53 E0 /* 37 00 [ { 1A 00 U 16 00 NONCONVERT 7B E0
End 4F E0 . 53 00 \ | 2B 00 V 2F 00 Internet 01 E0
Enter 1C 00 / 35 00 ] } 1B 00 W 11 00 iTouch 13 E0
Escape 01 00 /+ 4E 00 ` ~ 29 00 X 2D 00 Shopping 04 E0
HOME 47 E0 Enter 1C E0 = + 0D 00 Y 15 00 Webcam 12 E0
Insert 52 E0 F1 3B 00 0 ) 0B 00 Z 2C 00 Back 6A E0
Left Alt 38 00 F2 3C 00 1 ! 02 00 Close 40 E0 Favorites 66 E0
Left Ctrl 1D 00 F3 3D 00 2 @ 03 00 Fwd 42 E0 Forward 69 E0
LeSh ftift 2A 00 F4 3E 00 3 # 04 00 Help 3B E0 HOME 32 E0
Left Windows 5B E0 F5 3F 00 4 $ 05 00 New 3E E0 Refresh 67 E0
Num Lock 45 00 F6 40 00 0.05 06 00 Office Home 3C E0 Search 65 E0
Page Down 51 E0 F7 41 00 6 ^ 07 00 Open 3F E0 Stop 68 E0
Page Up 49 E0 F8 42 00 7 & 08 00 Print 58 E0 My Pictures 64 E0
Power 5E E0 F9 43 00 8 * 09 00 Redo 07 E0 My Music 3C E0
PrtSc 37 E0 F10 44 00 9 ( 0A 00 Reply 41 E0 Mute 20 E0
Right Alt 38 E0 F11 57 00 A 1E 00 Save 57 E0 Play/Pause 22 E0
Right Ctrl 1D E0 F12 58 00 B 30 00 Send 43 E0 Stop 24 E0
Right Shift 36 00 F13 64 00 C 2E 00 Spell 23 E0 +(Volume up) 30 E0
Right Windows 5C E0 F14 65 00 D 20 00 Task Pane 3D E0 - (Volume down) 2E E0
Scroll Lock 46 00 F15 66 00 E 12 00 Undo 08 E0 Media 6D E0
Sleep 5F E0 Down 50 E0 F 21 00 Mute 20 E0 Mail 6C E0
Space 39 00 Left 4B E0 G 22 00 Next Track 19 E0 Web/Home 32 E0
Tab 0F 00 Right 4D E0 H 23 00 Play/Pause 22 E0 Messenger 05 E0
Wake 63 E0 Up 48 E0 I 17 00 Prev Track 10 E0 Calculator 21 E0
0 52 00 Calculator 21 E0 J 24 00 Stop 24 E0 Log Off 16 E0
1 4F 00 E-Mail 6C E0 K 25 00 Volume Down 2E E0 Sleep 5F E0
2 50 00 Media Select 6D E0 L 26 00 Volume Up 30 E0 Help(on ke F1y) 3B E0
3 51 00 Messenger 11 E0 M 32 00 ? - 7D 00 Undo(on ke F2y) 08 E0
4 4B 00 My Computer 6B E0 N 31 00 45 E0 Redo(on ke F3y) 07 E0
5 4C 00 ’ ” 28 00 O 18 00 Next to Enter 2B E0 Fwd (on ke F8y) 42 E0
6 4D 00 - _ 0C 00 P 19 00 Next to L-Shift 56 E0 Send(on ke F9y) 43 E0
7 47 00 , < 33 00 Q 10 00 Next to R-Shift 73 E0
8 48 00 . > 34 00 R 13 00 DBE_KATAKANA 70 E0

例如1D 00 5B E0代表了用左Ctrl键(1D 00)替换左Win键(5B E0

我替换26字母则需要打如下的码(此处U映射不变,所以共替换25个,25+1的16进制数为1A):

00 00 00 00 00 00 00 00
1A 00 00 00 2D 00 10 00
30 00 11 00 18 00 12 00
14 00 13 00 23 00 14 00
11 00 15 00 15 00 17 00
22 00 18 00 32 00 19 00
13 00 1E 00 26 00 1F 00
2E 00 20 00 17 00 21 00
1E 00 22 00 12 00 23 00
31 00 24 00 2C 00 25 00
24 00 26 00 25 00 2C 00
2F 00 2D 00 10 00 2E 00
20 00 2F 00 21 00 30 00
1F 00 31 00 19 00 32 00
00 00 00 00

一切准备妥当后,确定并关闭。

最后重启(或注销并重新登录)电脑就可以使用新的键盘映射啦。

注:若要回到默认映射,在注册表中删除本Scancode Map文件即可。


  1. 给中国人的键盘 —适合中英文双输入的键盘布局 ↩︎

  2. Windows10 修改键位映射 ↩︎

标签:00,映射,Windows,键盘,修改,XX,注册表,E0
From: https://www.cnblogs.com/pokersang/p/17964216

相关文章

  • windows下打包go项目放在linux上部署
    1.打开命令提示符或终端,并导航到包含main.go的目录。2.使用以下命令进行交叉编译:GOOS=linuxGOARCH=amd64gobuild-omyprogram 这将生成一个名为myprogram的可执行文件,该文件是为Linux上的AMD64架构编译的。5.现在,你可以将生成的myprogram文件复制到Linux系统上运行。......
  • Windows合集
    使用技巧:1.dos窗口(磁盘操作系统)2.显示或隐藏桌面通用图标:搜索框输入icon3.显示扩展名:(区分文件类型)计算机-组织-布局-菜单栏-工具-文件夹选项-查看-隐藏文件拓展名勾掉4.telnetip地址端口号可以查看对方是否开启端口服务端口号Mysql端口号:3306Rdp远程桌面连接:3......
  • Oracle怎样写一个sql,将一个不同的表结构的数据迁移到另一个表中,其中有字段需要有映射
    要将一个表的数据迁移到另一个表,并且需要进行字段映射和值转换,可以使用以下步骤:创建目标表:CREATETABLE目标表名(目标字段1数据类型,目标字段2数据类型,...);插入数据并进行字段映射和值转换:INSERTINTO目标表名(目标字段1,目标字段2,...)SELECTCASEWH......
  • 启用DoH(DNS-over HTTPS)在Windows、Android、IOS平台
    做个备忘录,记录下主力设备Win11、安卓、IOS、路由器、浏览器配置DoH(DNS-overHTTPS)的过程Windows11设置-网络和Internet-WLAN-硬件属性-DNS服务器分配Win11原生支持的DoH服务:IPv4Google:8.8.8.8and8.8.4.4Cloudflare:1.1.1.1and1.0.0.1Quad9:9.9.9.9and149.112......
  • 利用Linux命令高效查找大文件为windows系统瘦身
    Windows系统是大家平时使用得比较多的办公桌面系统,但是,作为一名运维工程师,Linux命令行才是我的首选。最近在折腾Git这款很强大的工具。在瞎折腾的过程中发现一个比较好用的功能:一条Linux命令,找出你系统中的大文件。在此跟大家分享一下。第一步:安装Git考虑到一些平台不支持发链接,在......
  • Ajax注册表单用户名实时验证
    Ajax注册表单用户名实时验证 1.1.1摘要很多时候在网站上注册时,我们会发现,注册表单通常需要检查用户名和电子邮件地址的可用性;从而确保用户之间不拥有相同的用户名和电子邮件地址;一些网站喜欢在用户提交填写的用户信息时,做信息可用性的检查,而一些网站会做实时的用户名和电子......
  • Windows部署前后端分离项目
    @[TOC]此项目的基础版本为若依的前后端分离版本,不一定适合所有情况,仅供参考,用于备忘后端修改数据库连接根据需要修改ruoyi-admin中resources目录的application-druid.yml#数据源配置spring:datasource:type:com.alibaba.druid.pool.DruidDataSourcedrive......
  • Mac上运行windows软件-GPTK
    GPTK官网https://www.applegamingwiki.com/wiki/Game_Porting_Toolkit使用Whisky安装GPTKWhiskyhttps://github.com/Whisky-App/Whisky把下载的Whisky.app移动到应用程序中运行,选择下一步开始安装GPTK......
  • Windows Server 2016 & 2019 工作站速配脚本
    之前有一篇关于把WindowsServer打造成工作站系统的随笔,其中的步骤完全基于手工操作,一部分对系统不熟悉的朋友恐怕会找不到设置的入口。与其弄一堆截图写所谓的教程,还不如写一个程序来自动化处理。init.ps1Write-Host"`n正在启用声音服务"Set-Service-Name"Audiosrv"-Stat......
  • 【flink番外篇】9、Flink Table API 支持的操作示例(11)- Group Windows(tumbling、slidi
    文章目录Flink系列文章一、maven依赖二、Groupwindow1、Tumble(TumblingWindows)2、Slide(SlidingWindows)3、Session(SessionWindows)本文介绍了表的groupwindows三种窗口(tumbling、sliding和session)操作,以示例形式展示每个操作的结果。本文除了maven依赖外,没有其他依......