利用 KeyRemap4MacBook 进行键盘映射

/

交换外接键盘的 command 和 option 键(虚拟机和远程控制时除外)

最近买了个机械键盘 keycool 87,跟 Mac OS X 的兼容性不错,唯一的缺憾就是 command 和 option 位置反了,虽然可以在系统设置里互换 command 和 option 键,但是这样连笔记本的内置键盘也一并改了,当用笔记本内置键盘时又要改回来,很麻烦。

外接键盘键位

而利用 KeyRemap4MacBook 进行键盘映射可以很容易的做到:

  1. 仅针对外接键盘交换 command 和 option 键,笔记本内置键盘不变;
  2. 运行虚拟机和远程控制 Windows 时保持正常的 Windows 键位。

映射方法:

  1. 切换到 Misc & Uninstall 标签页,点 Open private.xml 按钮,键入如下内容:

     <?xml version="1.0"?>
     <root>
         <devicevendordef>
             <vendorname>USB_KEYBOARD</vendorname>
             <vendorid>0x04b4</vendorid>
         </devicevendordef>
         <deviceproductdef>
             <productname>KEYCOOL</productname>
             <productid>0x0101</productid>
         </deviceproductdef>
         <item>
             <name>BeyondIM custom settings</name>
             <item>
                 <name>Swap Option_L and Command_L for USB keyboard</name>
                 <appendix>(except virtual machine, RDC)</appendix>
                 <identifier>private.swap_OPTION_L_COMMAND_L_for_USB_keyboard</identifier>
                 <not>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</not>
                 <device_only>DeviceVendor::USB_KEYBOARD, DeviceProduct::KEYCOOL</device_only>
                 <autogen>--KeyToKey-- KeyCode::OPTION_L, KeyCode::COMMAND_L</autogen>
                 <autogen>--KeyToKey-- KeyCode::COMMAND_L, KeyCode::OPTION_L</autogen>
             </item>
         </item>
     </root>
    

    其中 devicevendordef 和 deviceproductdef 字段不同的外接键盘作相应调整,在 EventViewer 中找到外接键盘的 Vendor ID 和 Product ID 进行内容替换即可。

    EventViewer

  2. 回到 Change Key 标签页,右上角有个 ReloadXML 按钮,点击下重新加载我们修改的配置文件,这时 remapping 下应该就会出现一个新的设置列表 “BeyondIM custom settings”,勾选里面的选项。OK,搞定!

Comments