Mac上的大部分软件对外置USB键盘支持都是不错的,但是也有一些软件比较偷懒,比如我最近碰到的一个软件就是根本不支持小键盘输入数字,而用大键盘上的数字键倒是没有问题,实在是奇葩。
奇葩归奇葩,问题终究还是要解决的。稍微研究了一下这个问题,发现可以用Karabiner这个软件来对键盘进行映射。对于我的需求,就是把小键盘上的数字键映射成大键盘上的数字键。实现起来不怎么难,先上我修改的private.xml文件内容吧:
<?xml version="1.0"?> <root> <item> <name>Change KeyPad 0 to Num 0</name> <identifier>private.change_keypad0_to_num0</identifier> <autogen>__KeyToKey__ KeyCode::KEYPAD_0, KeyCode::KEY_0</autogen> </item> <item> <name>Change KeyPad 1 to Num 1</name> <identifier>private.change_keypad1_to_num1</identifier> <autogen>__KeyToKey__ KeyCode::KEYPAD_1, KeyCode::KEY_1</autogen> </item> <item> <name>Change KeyPad 2 to Num 2</name> <identifier>private.change_keypad2_to_num2</identifier> <autogen>__KeyToKey__ KeyCode::KEYPAD_2, KeyCode::KEY_2</autogen> </item> <item> <name>Change KeyPad 3 to Num 3</name> <identifier>private.change_keypad3_to_num3</identifier> <autogen>__KeyToKey__ KeyCode::KEYPAD_3, KeyCode::KEY_3</autogen> </item> <item> <name>Change KeyPad 4 to Num 4</name> <identifier>private.change_keypad4_to_num4</identifier> <autogen>__KeyToKey__ KeyCode::KEYPAD_4, KeyCode::KEY_4</autogen> </item> <item> <name>Change KeyPad 5 to Num 5</name> <identifier>private.change_keypad5_to_num5</identifier> <autogen>__KeyToKey__ KeyCode::KEYPAD_5, KeyCode::KEY_5</autogen> </item> <item> <name>Change KeyPad 6 to Num 6</name> <identifier>private.change_keypad6_to_num6</identifier> <autogen>__KeyToKey__ KeyCode::KEYPAD_6, KeyCode::KEY_6</autogen> </item> <item> <name>Change KeyPad 7 to Num 7</name> <identifier>private.change_keypad7_to_num7</identifier> <autogen>__KeyToKey__ KeyCode::KEYPAD_7, KeyCode::KEY_7</autogen> </item> <item> <name>Change KeyPad 8 to Num 8</name> <identifier>private.change_keypad8_to_num8</identifier> <autogen>__KeyToKey__ KeyCode::KEYPAD_8, KeyCode::KEY_8</autogen> </item> <item> <name>Change KeyPad 9 to Num 9</name> <identifier>private.change_keypad9_to_num9</identifier> <autogen>__KeyToKey__ KeyCode::KEYPAD_9, KeyCode::KEY_9</autogen> </item> <item> <name>Change KeyPad Enter to Return</name> <identifier>private.change_keypadEnter_to_return</identifier> <autogen>__KeyToKey__ KeyCode::ENTER, KeyCode::RETURN</autogen> </item> </root>
修改xml文件参考了以下两个网页:
How to add your own settings: https://pqrs.org/osx/karabiner/document.html.en#privatexml
private.xml参考手册: https://pqrs.org/osx/karabiner/xml.html.en
我是怎么找各个键的键值的?
这可以通过Karabiner菜单上的"Launch EventViewer"工具来解决,在这个工具里,你每按一个键都会显示键值的。
Karabiner是日本人开发的开源软件,还是蛮强大的,本身就自带了许多映射功能。如果你需要的话,可以对键盘上的任意一个键进行映射。
软件主页:https://pqrs.org/osx/karabiner/index.html.en
Github主页:https://github.com/tekezo/Karabiner
时间: 2024-11-07 20:50:03