最后我发现了karabiner https://pqrs.org/osx/karabiner/index.html.en这个神器软件,购入了樱桃的G80-3000白色茶轴机械键盘,研究了一番,实现了完美的苹果键位:
- COMMAND和OPTION互换,win键成为command键,可以互换键帽。
- 菜单键 设为 fn
- f1-f3 控制亮度
- f2 mission control
- f4 launchpad
- f5-f6 键盘背光
- f7-f9 媒体控制
- f10-f12 音量控制
- PrintScreen 设为 Eject
- NumLock 设为 Command+Delete 一键删除文件(mac上NumLock没用,DAS键盘对应的就是Clear键)
完美~~~
附上private.xml吧,需要的可以照搬,只需要修改下产品型号id字符串即可。注意,不可用已有的配置配合不映射内置键盘或者apple键盘的选项使用,实测会造成eject、f7、f9等键失效。
用了这个private.xml,针对特定型号键盘映射后,只需勾选一项即可。
<?xml version="1.0"?> <root> <devicevendordef> <vendorname>CHERRY_KEYBORD</vendorname> <vendorid>0x046a</vendorid> </devicevendordef> <deviceproductdef> <productname>PC_KEYBOARD</productname> <productid>0x0011</productid> </deviceproductdef> <item> <name>CHERRY G80-3000 KEYBOARD</name> <identifier>private.deviceproductdef</identifier> <device_only>DeviceVendor::CHERRY_KEYBORD, DeviceProduct::PC_KEYBOARD</device_only> <identifier>private.remap.pc_to_mac</identifier> <autogen>__KeyToKey__ KeyCode::PC_APPLICATION, KeyCode::FN</autogen> <autogen>__KeyToKey__ KeyCode::COMMAND_L, KeyCode::OPTION_L</autogen> <autogen>__KeyToKey__ KeyCode::COMMAND_R, KeyCode::OPTION_R</autogen> <autogen>__KeyToKey__ KeyCode::OPTION_L, KeyCode::COMMAND_L</autogen> <autogen>__KeyToKey__ KeyCode::OPTION_R, KeyCode::COMMAND_R</autogen> <autogen>__KeyToKey__ KeyCode::F1, ConsumerKeyCode::BRIGHTNESS_DOWN</autogen> <autogen>__KeyToKey__ KeyCode::F2, ConsumerKeyCode::BRIGHTNESS_UP</autogen> <autogen>__KeyToKey__ KeyCode::F3, KeyCode::EXPOSE_ALL</autogen> <autogen>__KeyToKey__ KeyCode::F4, KeyCode::DASHBOARD</autogen> <autogen>__KeyToKey__ KeyCode::F7, ConsumerKeyCode::MUSIC_PREV</autogen> <autogen>__KeyToKey__ KeyCode::F8, ConsumerKeyCode::MUSIC_PLAY</autogen> <autogen>__KeyToKey__ KeyCode::F9, ConsumerKeyCode::MUSIC_NEXT</autogen> <autogen>__KeyToKey__ KeyCode::F10, ConsumerKeyCode::VOLUME_MUTE</autogen> <autogen>__KeyToKey__ KeyCode::F11, ConsumerKeyCode::VOLUME_DOWN</autogen> <autogen>__KeyToKey__ KeyCode::F12, ConsumerKeyCode::VOLUME_UP</autogen> <autogen>__KeyToKey__ KeyCode::KEYPAD_CLEAR, KeyCode::DELETE, ModifierFlag::COMMAND_L</autogen> <autogen>__KeyToKey__ KeyCode::PC_PRINTSCREEN, ConsumerKeyCode::EJECT</autogen> </item> </root>
注意不同键盘的 vendorid 和 productid 部分是不同的,具体可以在 EventViewer中查看。
本人博客迁移到 http://yiidev.cn 本博客停止更新