<item>
<name>Autoselect Copy</name>
<identifier>private.autoselect_copy</identifier>
<only>TERMINAL</only>
<autogen>
__PointingButtonToKey__
PointingButton::LEFT, ModifierFlag::NONE,
KeyCode::VK_MODIFIER_EXTRA1,
Option::KEYTOKEY_BEFORE_KEYDOWN,
KeyCode::VK_MOUSEKEY_LOCK_BUTTON_LEFT,
KeyCode::VK_LOCK_EXTRA2_FORCE_ON,
<!-- VK_LOCK_EXTRA2 is necessary for Middle Button to Command+Tab (Switch
Applications) -->
Option::KEYTOKEY_AFTER_KEYUP,
KeyCode::VK_MOUSEKEY_LOCK_BUTTON_ALL_FORCE_OFF,
KeyCode::C, ModifierFlag::COMMAND_L,
KeyCode::VK_LOCK_EXTRA2_FORCE_OFF
</autogen>
</item>
After this I can paste the text... in this example my stickies.
Rants and ravings of a semi-autistic developer who has a hard time remembering idiotic nonsense details. Why remember it, when you know where to find it.
Showing posts with label keyremap4macbook. Show all posts
Showing posts with label keyremap4macbook. Show all posts
Monday, November 25, 2013
KeyRemap4MacBook implement XWindows auto select with Mouse Gestures.
I love the Xwindows feature that you can auto copy selected text from a cursor selection. So this is the scenario, when I select a piece of text I would like it to be stored in the buffer/clipboard with control-C after I lift my mouse button. I don't need the paste function however could easily be implemented as well.
With KeyRemap4MacBook your can rearrange your input events.
Here the snippet I use for the TERMINAL application to do just so:
Tuesday, December 27, 2011
KeyRemapForMacBook and Kinesis Classic Keyboad mapping private.xml
The KeyRemapFor4MacBook tool is excellent to map any key or mouse event to your needs. I have a Kinesis Classic Ergonomic keyboard (PS1) and wanted to use it in my new office setup. Love the keyboard, love the Mac however both together the do not play nice (plus I do not want to buy a new Kinesis with Multimedia keymapping)
So here we are the following details for the private.xml for Kenisis Classic
Using the following translation tables:
Key Mapping
The first thing is to identify the make and model of the keyboard that I have. Goto the "About This Mac" and click "More Info" and a detailed summary of all the hardware and software metadata pops up.
NOTE: scroll down for version 8 syntax which has slightly changed...
Its a work in progress but here the full what I have defined as the private.xml
<?xml version="1.0"?>
<root>
<devicevendordef>
<vendorname>Kinesis</vendorname>
<vendorid>0x0d3d</vendorid>
</devicevendordef>
<deviceproductdef>
<productname>Classic</productname>
<productid>0x001</productid>
</deviceproductdef>
<appdef>
<appname>com.apple.finder</appname>
<equal>com.apple.finder</equal>
</appdef>
<appdef>
<appname>RDC</appname>
<equal>com.microsoft.rdc</equal>
</appdef>
<appdef>
<appname>TERMINAL</appname>
<equal>com.apple.Terminal</equal>
</appdef>
<item>
<name>Kinesis Bindings</name>
<identifier>private.deviceproductdef</identifier>
<device_only>DeviceVendor::Kinesis, DeviceProduct::Classic
</device_only>
<list>
<item>
<name>Keys for Kinesis</name>
<not>TERMINAL</not>
<not>RDC</not>
<!-- Change the Kinesis Alt, TAB / Command to TAB -->
<autogen>--KeyToKey-- KeyCode::TAB, ModifierFlag::OPTION_R,
KeyCode::TAB, ModifierFlag::COMMAND_R
</autogen>
<!-- Change the Kinesis Alt, LeftArrow / Spaces Ctrl LeftArrow -->
<autogen>--KeyToKey-- KeyCode::CURSOR_LEFT, ModifierFlag::OPTION_R,
KeyCode::CURSOR_LEFT, ModifierFlag::CONTROL_R
</autogen>
<autogen>--KeyToKey-- KeyCode::CURSOR_RIGHT, ModifierFlag::OPTION_R,
KeyCode::CURSOR_RIGHT, ModifierFlag::CONTROL_R
</autogen>
<!-- Change the Kinesis Ctrl-END / Ctrl-HOME to HOME or END -->
<autogen>--KeyToKey-- KeyCode::HOME, ModifierFlag::COMMAND_R,
KeyCode::HOME, ModifierFlag::FN
</autogen>
<autogen>--KeyToKey-- KeyCode::END, ModifierFlag::COMMAND_R,
KeyCode::END, ModifierFlag::FN
</autogen>
<!-- Change the Kinesis END and HOME key to go to the begin and end of a
line -->
<autogen>--KeyToKey-- KeyCode::HOME, KeyCode::CURSOR_LEFT,
ModifierFlag::COMMAND_L
</autogen>
<autogen>--KeyToKey-- KeyCode::END, KeyCode::CURSOR_RIGHT,
ModifierFlag::COMMAND_R
</autogen>
<!-- Change the Kinesis Alt-Left and Alt-Right key to go to forward or backwards
one word -->
<autogen>--KeyToKey-- KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_R,
KeyCode::CURSOR_LEFT, ModifierFlag::OPTION_L
</autogen>
<autogen>--KeyToKey-- KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_R,
KeyCode::CURSOR_RIGHT, ModifierFlag::OPTION_R
</autogen>
<!-- Change the Kinesis Ctrls to Command buttons -->
<autogen>--KeyToKey-- KeyCode::CONTROL_L, KeyCode::COMMAND_L
</autogen>
<!-- Change the Kinesis Ctrls to Command buttons -->
<autogen>--KeyToKey-- KeyCode::CONTROL_R, KeyCode::COMMAND_R
</autogen>
</item>
<item>
<name>Kinesis Command Key under Alt for Terminal only</name>
<only>TERMINAL</only>
<autogen>--KeyToKey-- KeyCode::OPTION_R, KeyCode::COMMAND_R</autogen>
</item>
</list>
</item>
</root>
Version 8 Syntax
With the release of v8.x of the KeyRemapForMacBook also the syntax changed... thus the example above won't work... here the v8 of the same mapping for Kinesis.
<?xml version="1.0"?>
<root>
<devicevendordef>
<vendorname>Kinesis</vendorname>
<vendorid>0x0d3d</vendorid>
</devicevendordef>
<deviceproductdef>
<productname>Classic</productname>
<productid>0x001</productid>
</deviceproductdef>
<appdef>
<appname>com.apple.finder</appname>
<equal>com.apple.finder</equal>
</appdef>
<appdef>
<appname>RDC</appname>
<equal>com.microsoft.rdc</equal>
</appdef>
<appdef>
<appname>ECLIPSE</appname>
<equal>org.eclipse.eclipse</equal>
</appdef>
<appdef>
<appname>TERMINAL</appname>
<equal>com.apple.Terminal</equal>
</appdef>
<item>
<name>Kinesis Bindings</name>
<device_only>DeviceVendor::Kinesis, DeviceProduct::Classic</device_only>
<item>
<name>Keys for Kinesis</name>
<appendix>Keys for Kinesis Keyboard on MacOSX</appendix>
<not>TERMINAL</not>
<not>RDC</not>
<identifier>kinesis.mapping.basic</identifier>
<!-- Change the Kinesis Alt, TAB / Command to TAB -->
<autogen>__KeyToKey__ KeyCode::TAB, ModifierFlag::OPTION_R,
KeyCode::TAB, ModifierFlag::COMMAND_R
</autogen>
<!-- Change the Kinesis Alt, LeftArrow / Spaces Ctrl LeftArrow -->
<autogen>__KeyToKey__ KeyCode::CURSOR_LEFT, ModifierFlag::OPTION_R,
KeyCode::CURSOR_LEFT, ModifierFlag::CONTROL_R
</autogen>
<autogen>__KeyToKey__ KeyCode::CURSOR_RIGHT, ModifierFlag::OPTION_R,
KeyCode::CURSOR_RIGHT, ModifierFlag::CONTROL_R
</autogen>
<!-- Change the Kinesis Ctrl-END / Ctrl-HOME to HOME or END -->
<autogen>__KeyToKey__ KeyCode::HOME, ModifierFlag::COMMAND_R,
KeyCode::HOME, ModifierFlag::FN
</autogen>
<autogen>__KeyToKey__ KeyCode::END, ModifierFlag::COMMAND_R,
KeyCode::END, ModifierFlag::FN
</autogen>
<!-- Change the Kinesis END and HOME key to go to the begin and end of
a line -->
<autogen>__KeyToKey__ KeyCode::HOME, KeyCode::CURSOR_LEFT,
ModifierFlag::COMMAND_L
</autogen>
<autogen>__KeyToKey__ KeyCode::END, KeyCode::CURSOR_RIGHT,
ModifierFlag::COMMAND_R
</autogen>
<!-- Change the Kinesis Alt-Left and Alt-Right key to go to forward or
backwards one word -->
<autogen>__KeyToKey__ KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_R,
KeyCode::CURSOR_LEFT, ModifierFlag::OPTION_L
</autogen>
<autogen>__KeyToKey__ KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_R,
KeyCode::CURSOR_RIGHT, ModifierFlag::OPTION_R
</autogen>
<!-- Change the Kinesis Ctrls to Command buttons -->
<autogen>__KeyToKey__ KeyCode::CONTROL_L, KeyCode::COMMAND_L
</autogen>
<!-- Change the Kinesis Ctrls to Command buttons -->
<autogen>__KeyToKey__ KeyCode::CONTROL_R, KeyCode::COMMAND_R
</autogen>
</item>
<item>
<name>Kinesis Command Key under Alt for Terminal only</name>
<only>TERMINAL</only>
<identifier>kinesis.terminal</identifier>
<autogen>__KeyToKey__ KeyCode::K, VK_OPTION,
KeyCode::EQUAL, ModifierFlag::CONTROL_R</autogen>
<!-- Change the Kinesis Ctrls to Command buttons -->
<autogen>__KeyToKey__ KeyCode::CONTROL_R, KeyCode::COMMAND_R
</autogen>
</item>
<item>
<name>Kinesis Command Key under Alt for Eclipse only</name>
<only>ECLIPSE</only>
<identifier>kinesis.eclipse</identifier>
<!-- Change the Kinesis Ctrl - Space to buttons -->
<autogen>__KeyToKey__ KeyCode::SPACE, VK_COMMAND,
KeyCode::SPACE, ModifierFlag::CONTROL_L </autogen>
</item>
<!--
org.eclipse.eclipse
-->
</item>
</root>
Subscribe to:
Posts (Atom)


