`

(转)通过修改键盘映射替代损坏按键

    博客分类:
  • GAME
阅读更多

通过修改键盘映射替代损坏按键
2009-12-20 05:22
通过修改键盘映射替代损坏按键


我买的神舟笔记本电脑因为使用不当,致使Ctrl键与PageUp键损坏。而该电脑仅有键盘左下角一个Ctrl键,损坏之后给日常使用带来许多不便。由于 我装的是Windows 2000 + Debian Linux双系统,而登录Windows被我先前设置为需要按下Ctrl+Alt+Del才能出现登录窗口,Ctrl键的损坏使得我暂时不能进入 Windows,因此在我购买外置USB键盘之前,我都是在Linux下工作,并最终通过修改键盘映射,将不常用的按键映射到Ctrl和PageUp上, 解决了按键损坏带来的问题。而后,我也找到了Windows下修改键盘映射的方法。现将诸方法与网友共分享,以供参考。

一、Linux下的键盘映射修改方法

1、使用GNOME中的键盘首选项解决Ctrl键损坏的问题

在GNOME下可以方便地修改键盘的布局选项,这其中就有Ctrl键的位置设置。我最初就是用这个方法在GNOME下解决Ctrl键损坏的问题的。由于CapsLock键不常用,因为就用它来代替坏掉的Ctrl键。

方法:选择 系统->首选项->键盘,弹出键盘首选项设置对话框。在“布局选项”选项卡中,设置“Ctrl key position”为“Swap Ctrl and CapsLock”。这样Ctrl键就与CapsLock键交换,就可以用CapLock键来代替坏掉的Ctrl键了。当然,你也可以选择“Make CapsLock an additional Ctrl”。

 

2、使用loadkeys改变tty终端下的键盘映射

虽然在GNOME下解决了Ctrl键的使用问题,可是切换到终端下,Ctrl与CapsLock又恢复了原来的行为。这时我们可以通过loadkeys来改变终端下的键盘映射。

通过查询manpage可知,系统提供的键盘布局文件是放在/usr/share/keymaps目录下的。找到其中的 defkeymap.kmap.gz文件(在/usr/share/keymaps/i386/qwerty目录下),复制到用户的HOME目录中,解压 并打开它。我们要做的就是把Ctrl键映射到CapsLock键上。找到其中包含Caps_Lock的那一行:keycode 58 = Caps_Lock,那就是CapsLock键对应的扫描码了。将它改成:keycode 58 = Control即可。如果想将Ctrl与CapsLock键交换,可以找到含有Control字样的keycode定义:keycode 29 = Controlkeycode 97 = Control,它们分别对应左、右Ctrl键(当然在我机器上只有左边的扫描码为29的Ctrl)。将其改为:keycode 29 = Caps_Lock即可。

在终端下,Shift+PageUp/PageDown是常用的屏幕向上/下翻页的快捷键。而PageUp键的损坏影响了这一功能的使用。我通过将 PageUp映射到不常用的“鼠标右键菜单”键上,解决了终端下的翻页问题。方法是:运行showkey命令,这时可以通过按下键盘上的按键,程序会显示 该键按下与释放所对应的扫描码。由此法可得到鼠标右键菜单键对应的扫描码为0x7f,即127。又在另一台机器上找到PageUp对应的扫描码为104。 在defkeymap.kmap文件中找到keycode 104对应的那两行:
Copy code
keycode 104 = Prior
shift   keycode 104 = Scroll_Backward

把扫描码127的那一行改成:
Copy code
keycode 127 = Prior
shift   keycode 127 = Scroll_Backward

即可。

现在我们已经有了修改过后的defkeymap.kmap文件。要在终端中使用这个键盘映射,我们只需要执行loadkeys defkeymap.kmap即可。可是这样每次进入终端都要执行这个命令,十分不爽,而我们又不应该将其加入.bashrc中,否则运行gnome- terminal时也会执行loadkeys命令,而虚拟终端下执行loadkeys会产生错误。这时,我们可以将在/etc目录下找到的kmap文件 ——/etc/console/boottime.kmap.gz按如上的方法修改,并将修改过后的文件用gzip压缩后替换原来的文件。这样,系统启动 后就会加载这个文件,使得每个终端睛的键盘映射都得到了改变。

3、使用setxkbmap在GNOME下将PageUp映射到鼠标右键菜单键上

虽然前面讲了在GNOME将Ctrl键映射到CapsLock键上的方法,但是还没有解决将PageUp键映射到鼠标右键菜单键上的问题。桌面环境自带的键盘首选项里没有相关的选项。经过在网上的寻找及自己的研究,我终于解决了这个问题:使用setxkbmap。

百度上能找到的修改X下的键盘映射的文章几乎都是讲使用xmodmap,执行xmodmap -pke > ~/.xmodmaprc后修改.xmodmaprc文件以达到修改的目的。但我试验后发现不成功。后来在国外的网站上看到说现在的桌面环境,如 GNOME、KDE等已经不再使用xmodmap了,而采用XKB进行键盘管理。通过setxkbmap可以较为方便地达到设定的目的。

例如,执行setxkbmap -option ctrl:swapcaps就可以将Ctrl键与CapsLock键进行切换。setxkbmap -print就可以显示当前键盘的布局及选项设置。执行setxkbmap -option就可以恢复到默认选项。

通过查看manpage得知,XKB的所有组件的源文件都在/usr/lib/X11/xkb目录下。而我的机器找到的是在/usr/share/X11 /xkb目录下。通过grep -R swapcaps *找到目录下所有包含swapcaps字样的文件,由此可知,swapcaps是在symbos/ctrl文件里定义的。打开该文件,可以见到 swapcaps是如此定义的:
Copy code
partial modifier_keys 
xkb_symbols "swapcaps" {
key <CAPS>   { symbols[Group1]= [ Control_L ] };
key <LCTL>   { symbols[Group1]= [ Caps_Lock ] };
};

以管理员身份编辑该文件,将这一部分复制一份,并修改为:
Copy code
partial modifier_keys 
xkb_symbols "swapmenu" {
key <MENU>   { symbols[Group1]= [ Prior ] };
key <PGUP>   { symbols[Group1]= [ Menu ] };
};

其中MENU即是“鼠标右键菜单键”,它的定义是在symbols/pc文件里找到的。

 

修改保存后,仍然不能使用setxkbmap -option ctrl:swapmenu。这时我们需要将先前用grep搜索到的文件里包含swapcaps的那一段统统复制一份,并将swapcaps改为 swapmenu。需要修改的文件有:symbols.dir、rules/base、rules/base.lst与rules/base.xml。这 样,我们就可以通过setxkbmap -option ctrl:swapmenu来将PageUp键与鼠标右键菜单键交换。此后鼠标右键菜单键就可以被当作PageUp键使用了。

二、Windows下的键盘映射修改方法

后来我买了个USB键盘(我懒得花钱去修键盘),总算进了Windows。我就想,Windows下也应该有修改键盘映射的方法吧。于是,我在网上好不容易找到了修改键盘映射的软件——sharpkeys。

Sharpkeys可以从http://www.randyrants.com下载并免费使用。我使用的是它的1.1版本。它通过修改Windows 2000/XP/2003的注册表里的特殊项来达到键盘映射的目的。下面我就来给大家演示一下如何使用。

以管理员身份运行sharpkeys。点击“Add”按钮,即可弹出如图所示的对话框。左边即是原来的按键,右边则为将要映射到的按键。例如将 CapsLock键映射为Ctrl键,则在左边选择Caps Lock,右边选择Left Ctrl即可。另外,点击“Type Key”即可弹出一对话框,接收用户的按键,并自动选择对应的列表中的选项。例如要将鼠标右键菜单键映射为PageUp键,则可点击“Type Key”按钮,按下鼠标右键菜单键,并点击OK,再在右边选择Page Up即可。

 

 

完成设置之后,在主窗口中点击“Write to Registry”即可将改动写入注册表。注销后即可生效。怎么样?现在按CapsLock+Alt+Del键就可以调出登录对话框了。



(完)

分享到:
评论

相关推荐

    键盘映射工具-更改Windows系统按键工具

    在这种情况下,“键盘映射工具”提供了一种解决方案,允许用户自定义按键功能,将不常用的键映射为那些失灵的键,从而临时替代并恢复基本的输入功能。 键盘映射是计算机编程和操作系统中的一个重要概念,它涉及到...

    键盘映射软件

    键盘映射软件是一种实用工具,它允许用户自定义计算机键盘上的按键功能,以便替代或扩展原始的键位布局。在描述中提到的“代替键盘损坏的按键”,这一功能对于那些因为物理损坏或其他原因无法正常工作的键盘按键尤其...

    键盘映射-坏键位映射

    "键盘映射-坏键位映射"这个主题关注的是如何通过映射工具,如KeyTweak,来处理键盘上损坏或不可用的按键。 **键盘映射** 是指将键盘上特定的按键重新分配到其他按键的功能,通常由软件程序实现。这使得用户可以调整...

    KeyTweak v2.20 键盘映射软件汉化版

    7. **故障排除**:对于有物理损坏或功能失效的键盘键,KeyTweak也可以作为一个临时解决方案,通过软件映射来替代实际物理按键的功能。 8. **定制化**:KeyTweak满足了用户的个性化需求,每个人可以根据自己的工作或...

    键盘映射 键盘改键下载

    RemapKey是一款实用的键盘映射工具,用户可以通过它轻松地更改键盘上任何按键的功能。这款软件的下载意味着你可以自由地调整你的键盘布局,将不常用的键替换为你经常需要用到的功能键,或者将损坏的键设置为其他替代...

    改变键盘按键,替换坏的键

    标题中的“改变键盘按键,替换坏的键”指的是在计算机使用过程中遇到键盘上某个按键损坏或失效时,可以通过特定的软件来实现按键映射,即用一个可正常使用的按键替代那个坏掉的键。这种技术在日常工作中非常实用,...

    键盘替换有一个键坏了,没关系,将其他不常用的键映射一下就可以了。

    键盘映射是操作系统或特定软件中的一个功能,它允许用户自定义键盘上的按键行为。也就是说,我们可以设置键盘上任意一个键,让它在按下时执行原本由另一个键完成的操作。这样,即使有键损坏,我们也能通过重新分配...

    键盘救星 替换坏的按键

    标题中的“键盘救星 替换坏的按键”指的是在计算机使用过程中,如果键盘上的某个键因为磨损或损坏无法正常工作,我们可以采取一种方法来替代它,使得键盘能继续正常使用。这种技术通常被称为键盘按键映射或者重映射...

    键盘移花接木小程序更改按键功能

    标题中的“键盘移花接木小程序更改按键功能”是指一种软件工具,它的主要作用是当用户的键盘上某个键出现故障或者不能正常使用时,通过该程序可以将其他仍然正常工作的键的功能映射到那个损坏的键上,从而实现键位...

    更换键盘按键位置(免安装)

    标签“系统工具”表明这是一款与操作系统交互的应用程序,它可能通过读取和修改键盘驱动或模拟键盘输入来实现按键功能的交换。这类工具通常需要系统权限,并且应当谨慎使用,以免影响其他软件或系统的稳定性。 根据...

    键盘按键修复软件

    这类软件通常能帮助用户重新映射键盘上的按键,使其恢复正常功能,或者使用其他可用的键来替代那些无法正常工作的键。 描述中提到的情况很常见,比如笔记本键盘上的某个键可能因为长期使用、液体溅到或是物理损坏...

    电脑键盘键值更换器-按键更改器-修改

    关键词“更换器”指的是它可以替换键盘上按键的功能,“键值更改”则表明它能修改按键的输出值,即改变按键在计算机系统中的映射关系。 至于压缩包中的“键值更换器.exe”文件,这是一个可执行文件,通常是Windows...

    键盘按钮坏了 可以更改另一个键代替 的一款小软件.rar

    2. **虚拟键盘映射**:软件通过读取键盘输入,检测到特定键无法响应时,可以将用户的输入映射到预设的替代键,实现键盘功能的替代。 3. **键盘事件处理**:软件通过捕获键盘输入事件(如键盘扫描码),然后解析并...

    键盘修改器

    KeyTweak是一个知名的键盘映射工具,它允许用户自定义键盘布局,通过简单的界面调整各个按键的对应功能。用户只需要运行这个程序,然后按照界面指示选择需要替换的按键和新的映射键,保存设置后,键盘就可以按照新的...

    键盘修复 笔记本上某个键坏了 可通过此软件转到别的键上

    "RemapKey.exe"是一款小巧而实用的键盘映射工具,它允许用户自定义键盘上的任何按键,将其功能转换为其他按键。该软件的操作流程相对简单,适合电脑初级用户使用。 1. **下载与安装**:首先,你需要从可靠来源下载...

    改写键盘的工具 键盘重布局、键盘修改大师 两个

    如果键盘有物理损坏,也可以通过软件映射其他键来替代。 "键盘修改大师.exe"是该软件的执行程序,用户运行此文件即可启动键盘修改过程。"注册说明.htm"提供了软件的授权和激活信息,确保用户能够合法使用软件。...

    KeyTweak 2.3.0 英文绿色版

    通过更改按键码,用户可以将损坏按键的功能转移到其他未使用的按键上,比如F1到F12之间的一些不常用键。这样不仅解决了输入问题,还避免了因为一个或几个按键损坏就更换整个键盘的高昂费用。 这个工具的操作流程...

    换键精灵,可以设置调换键位

    换键精灵是一款专门针对键盘损坏或误操作问题设计的键盘映射工具。它通过软件层面上的映射,允许用户自定义键盘布局,从而可以将一个坏掉的键位替换为另一个完好的键位。例如,当用户的键盘上“E”键损坏时,用户...

    键盘上有坏键位置转换器

    总的来说,键位转换器是一个实用的工具,它可以帮助用户应对键盘按键损坏的问题,通过自定义映射,使得键盘可以继续被有效地使用。对于依赖键盘工作的专业人士,如程序员、作家、数据输入员等,这种软件能大大降低因...

    键盘键位重定义

    在日常使用中,如果遇到键盘上的某个键损坏或功能失效,不必立即更换整个键盘,而是可以通过特定的软件工具进行键位的重新映射,即用其他正常工作的按键替代坏掉的按键功能。 在描述中提到的“本软件”可能是一款名...

Global site tag (gtag.js) - Google Analytics