Created
November 8, 2013 11:41
-
-
Save xwoker/7369861 to your computer and use it in GitHub Desktop.
I have an English International Keyboard (better for programming) but I still need an easy way to enter German special characters in my normal writing. This does it for me: CapsLock + a/e/i/o/u/s (the first ones also with Shift for uppercase) In addition: Shift-Left / Shift-Right work as () when pressed without additional key
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0"?> | |
<root> | |
<!-- inspired and partially copied from http://stevelosh.com/blog/2012/10/a-modern-space-cadet/ and http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/ --> | |
<item> | |
<name>Shifts to Parentheses</name> | |
<appendix>Shifts, when pressed alone, type parentheses. When used with other keys they're normal shifts.</appendix> | |
<identifier>private.shifts_to_parens</identifier> | |
<!-- This is the basic mapping. --> | |
<autogen>--KeyOverlaidModifier-- KeyCode::SHIFT_R, ModifierFlag::SHIFT_R | ModifierFlag::NONE, KeyCode::SHIFT_R, KeyCode::KEY_0, ModifierFlag::SHIFT_L</autogen> | |
<autogen>--KeyOverlaidModifier-- KeyCode::SHIFT_L, ModifierFlag::SHIFT_L | ModifierFlag::NONE, KeyCode::SHIFT_L, KeyCode::KEY_9, ModifierFlag::SHIFT_R</autogen> | |
<!-- | |
Remap the "rolls" of () and )( because it's too easy to hit one | |
before finishing the other, and there's no other reason to be | |
pressing both shift keys at once anyway | |
--> | |
<autogen>--KeyToKey-- KeyCode::SHIFT_L, ModifierFlag::SHIFT_R, KeyCode::KEY_0, ModifierFlag::SHIFT_L, KeyCode::KEY_9, ModifierFlag::SHIFT_L</autogen> | |
<autogen>--KeyToKey-- KeyCode::SHIFT_R, ModifierFlag::SHIFT_L, KeyCode::KEY_9, ModifierFlag::SHIFT_L, KeyCode::KEY_0, ModifierFlag::SHIFT_L</autogen> | |
<!-- | |
Remap Rshift+Space to ') ', because when typing an end paren and | |
then a space I tend to hit space before I let go of rshift. | |
--> | |
<autogen>--KeyToKey-- KeyCode::SPACE, ModifierFlag::SHIFT_R, KeyCode::KEY_0, ModifierFlag::SHIFT_L, KeyCode::SPACE</autogen> | |
</item> | |
<item> | |
<name>Lazy äëïöüß Layer</name> | |
<appendix>Map your CapsLock to 110 (PC_APPLICATION)) with PCKeyboardHack. Choose Unicode Input Source as Keyboard in Mac </appendix> | |
<identifier>lazy.german_umlaute</identifier> | |
<autogen> | |
--KeyToKey-- | |
KeyCode::PC_APPLICATION, | |
KeyCode::VK_STICKY_EXTRA4 | |
</autogen> | |
<!-- Ä / ä --> | |
<autogen> | |
--KeyToKey-- | |
KeyCode::A, ModifierFlag::EXTRA4 | VK_SHIFT, | |
KeyCode::KEY_0, ModifierFlag::OPTION_L, | |
KeyCode::KEY_0, ModifierFlag::OPTION_L, | |
KeyCode::C, ModifierFlag::OPTION_L, | |
KeyCode::KEY_4, ModifierFlag::OPTION_L, | |
</autogen> | |
<autogen> | |
--KeyToKey-- | |
KeyCode::A, ModifierFlag::EXTRA4, | |
KeyCode::KEY_0, ModifierFlag::OPTION_L, | |
KeyCode::KEY_0, ModifierFlag::OPTION_L, | |
KeyCode::E, ModifierFlag::OPTION_L, | |
KeyCode::KEY_4, ModifierFlag::OPTION_L, | |
</autogen> | |
<!-- Ë / ë --> | |
<autogen> | |
--KeyToKey-- | |
KeyCode::E, ModifierFlag::EXTRA4 | VK_SHIFT, | |
KeyCode::KEY_0, ModifierFlag::OPTION_L, | |
KeyCode::KEY_0, ModifierFlag::OPTION_L, | |
KeyCode::C, ModifierFlag::OPTION_L, | |
KeyCode::B, ModifierFlag::OPTION_L, | |
</autogen> | |
<autogen> | |
--KeyToKey-- | |
KeyCode::E, ModifierFlag::EXTRA4, | |
KeyCode::KEY_0, ModifierFlag::OPTION_L, | |
KeyCode::KEY_0, ModifierFlag::OPTION_L, | |
KeyCode::E, ModifierFlag::OPTION_L, | |
KeyCode::B, ModifierFlag::OPTION_L, | |
</autogen> | |
<!-- Ï / ï --> | |
<autogen> | |
--KeyToKey-- | |
KeyCode::I, ModifierFlag::EXTRA4 | VK_SHIFT, | |
KeyCode::KEY_0, ModifierFlag::OPTION_L, | |
KeyCode::KEY_0, ModifierFlag::OPTION_L, | |
KeyCode::C, ModifierFlag::OPTION_L, | |
KeyCode::F, ModifierFlag::OPTION_L, | |
</autogen> | |
<autogen> | |
--KeyToKey-- | |
KeyCode::I, ModifierFlag::EXTRA4, | |
KeyCode::KEY_0, ModifierFlag::OPTION_L, | |
KeyCode::KEY_0, ModifierFlag::OPTION_L, | |
KeyCode::E, ModifierFlag::OPTION_L, | |
KeyCode::F, ModifierFlag::OPTION_L, | |
</autogen> | |
<!-- Ö / ö --> | |
<autogen> | |
--KeyToKey-- | |
KeyCode::O, ModifierFlag::EXTRA4 | VK_SHIFT, | |
KeyCode::KEY_0, ModifierFlag::OPTION_L, | |
KeyCode::KEY_0, ModifierFlag::OPTION_L, | |
KeyCode::D, ModifierFlag::OPTION_L, | |
KeyCode::KEY_6, ModifierFlag::OPTION_L, | |
</autogen> | |
<autogen> | |
--KeyToKey-- | |
KeyCode::O, ModifierFlag::EXTRA4, | |
KeyCode::KEY_0, ModifierFlag::OPTION_L, | |
KeyCode::KEY_0, ModifierFlag::OPTION_L, | |
KeyCode::F, ModifierFlag::OPTION_L, | |
KeyCode::KEY_6, ModifierFlag::OPTION_L, | |
</autogen> | |
<!-- Ü / ü --> | |
<autogen> | |
--KeyToKey-- | |
KeyCode::U, ModifierFlag::EXTRA4 | VK_SHIFT, | |
KeyCode::KEY_0, ModifierFlag::OPTION_L, | |
KeyCode::KEY_0, ModifierFlag::OPTION_L, | |
KeyCode::D, ModifierFlag::OPTION_L, | |
KeyCode::C, ModifierFlag::OPTION_L, | |
</autogen> | |
<autogen> | |
--KeyToKey-- | |
KeyCode::U, ModifierFlag::EXTRA4, | |
KeyCode::KEY_0, ModifierFlag::OPTION_L, | |
KeyCode::KEY_0, ModifierFlag::OPTION_L, | |
KeyCode::F, ModifierFlag::OPTION_L, | |
KeyCode::C, ModifierFlag::OPTION_L, | |
</autogen> | |
<!-- ß --> | |
<autogen> | |
--KeyToKey-- | |
KeyCode::S, ModifierFlag::EXTRA4, | |
KeyCode::KEY_0, ModifierFlag::OPTION_L, | |
KeyCode::KEY_0, ModifierFlag::OPTION_L, | |
KeyCode::D, ModifierFlag::OPTION_L, | |
KeyCode::F, ModifierFlag::OPTION_L, | |
</autogen> | |
</item> | |
</root> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment