Karabiner – Easy Keyboard Remapping for OS X
github.com
github.com
So, now my left hand is always on the home keys, and if I'm touching the touchpad with one finger, the home keys are my left, right, and middle mouse buttons. If I'm touching it with two fingers, the home keys and nearby keys remap to save, refresh, find, select all, copy, paste, cut, close, and others. If three fingers are touching, then my keys remap to my windows layout and other utility programs which I often call (such as the terminal).
There are many other general remappings which have made my life at a keyboard much faster and easier to use, but the multi-touch extensions are the ones that I would struggle to live without.
As a side note, if you use the product and find it helpful, you should really consider donating to it. It will make you feel like a better human, and encourage continued support.
It's mostly definitely due to the recent update to Sierra. If you do use Sierra, have you managed to make it work?
I had to get my Esc key remapped to Caps Lock, and that's the only way I could do it for now. See: http://www.jeffgeerling.com/blog/2016/remapping-caps-lock-ke...
I had Karabiner remap my keyboard to half-qwerty, so that I could type entirely using my left hand on the left side of the keyboard only. A modifier key would switch it into "mirror mode" so that all the left-side keys would be remapped to right-side keys. Fun stuff!
How close to your two hand WPM did you achieve with your left hand alone?
With just my left hand, I could only manage more like 20%, which felt very very slow to me. The bottleneck with half-querty was the modifier key, which I had to hit very often to switch layouts. If you could move that to something else, that layout could speed up much more.
Had I been out of action much longer, I might have tried some kind of custom one-handed chording setup instead.
I tried to learn a one handed keyboard back in college (Matias Half Keyboard) just to see if there was any benefit to always having one hand on the kb and one on the mouse.
I never did find out; I gave up learning how to type with one hand after a month and sent the keyboard back.
I ended up hobbling together a simple app that switched two full system key layouts while holding the spacebar, more or less mimicking the half-qwerty behavior. It was my first Mac app, and it was pretty crashy, but it kept me working for those couple weeks.
I wanted to open source it, but ceased work when I was able to type with both hands again, because I knew half-qwerty was patented and didn't want to take that risk.
Really glad there's an easier solution now!
I have literally rebinded every single key on my mac with it. It is very powerful especially when you combine it with the multitude of Alfred workflows and different scripts that you can run.
I open Alfred with just single press of right command, I switch between all my apps through hotkeys, my caps lock is a hyper key, my right shift is delete. Can't give more praise to this tool really.
Here is how I use it and what my config file for it looks like for all interested :
https://github.com/nikitavoloboev/dotfiles/tree/master/karab...
More importantly, it allows to keep myself sane with the enormous amounts of apps and tools I run on my system (https://github.com/nikitavoloboev/my-mac-os) and interchange with them seamlessly.
I use this everyday on both my work and personal macbooks.
Last time I tried to automate it I used homebrew cask, but it definitely wasn't a satisfying solution.
You should probably consider reading this if you are on 10.12 or planning to upgrade
It's great that Karabiner is being developed, but given the number of people that are surely using MS keyboards, the situation is rather untenable. The built in key re-mapping using system preferences, at least for my mechanical keyboard, simply doesn't work. This meant that when I upgraded to Sierra, I was left with no way to remap my keyboard.
Perhaps the moral of the story is that if you use an external keyboard, consider waiting on the upgrade to Sierra.
1. Create ~/.karabiner.d/configuration/karabiner.json 2. Put some stuff in it (my simple example below) 3. Install the app from the GH page.
Key definitions are in the source code, but if you check the Issues discussion on the Elements project, you'll probably find good examples to send you on your way.
Sample karabiner.json: { "profiles": [ { "name": "Default profile", "selected": true, "simple_modifications": { "right_option": "delete_forward" } } ] }
The next Sierra release might allow the Esc key to be remapped natively, through the Keyboard System Preferences...
Why? The real thing has been out since September 20.
Hence why Seil/KarabinerElements is the first thing I install on a new Mac.
https://github.com/tekezo/Seil/issues/68#issuecomment-250195...
I was using Karabiner to set caps lock to control AND escape when pressed independently, something extremely useful to use Vim and command line. This doesn't appear to be supported, unfortunately.
I really did not expect Apple to finally fill this gap that has been around for so many years.
I tried Karabiner Elements but couldn't figure out how to replicate my configuration.
I like having Enter open a file or directory and F2 rename it, and not just because I'm used to Windows. I open things a lot more than I rename them. Enter is the canonical key for opening something, and does just that in OSX file dialogs. It makes no sense that Enter does one thing in file dialogs but something completely different in Finder.
Sure enough, right there in Karabiner's built-in settings were options to remap those keys.
{ "profiles": [ { "name": "Default profile", "selected": true, "simple_modifications": { "caps_lock": "delete_forward" } } ] }
For X11, there's xcape: https://github.com/alols/xcape
For Windows, of course, AutoHotKey (my config: https://github.com/myfreeweb/dotfiles/blob/master/windows/ke...)
[0] https://medium.com/@.sasha/hacking-apple-s-consumerist-cultu...
I couldn't get Karabiner to work - it seemed to install correctly, but none of the "prepared settings" did anything. No matter what options I'd chosen, my keyboard (both laptop keyboard and external) were unaffected.
Reading over your guide I decided to just try your "swap space and tab" example in the private.xml file, and lo-and-behold, that worked. As does recreating the inbuilt "play/pause, mute and volume to F9-F12" in private.xml, whereas the inbuilt version doesn't work for me.
I'm happy with the fix for now. In fact, I've learned how awesome Hammerspoon is!
I have trouble using other people's keyboards now but I'm very productive on my own!
OSX does not allow usb devices to modify input from other devices:
Note: Modifier actions from one USB device cannot modify the input of a second USB device due to limitations designed into the Apple operating system. Example: Shift, Control, Command, or Option keystrokes programmed into the footswitch cannot modify the input of a separate USB keyboard or mouse. However, a key sequence like ‘Cmd-W’ or ‘Cmd-Shift-left arrow’ will work on a Macintosh if the entire sequence of keystrokes has been pre-programmed into the footswitch. (Footswitch can only be programmed on a Windows PC).
http://apple.stackexchange.com/q/140732/8592
While Karabiner supports this:
Share state of modifier keys with all connected keyboards: When you are using multiple keyboards, modifier keys are shared with all keyboards. For example, pressing "shift key on keyboard1" and "space key on keyboard2" sends shift-space.
I want to remap an ordinary letter key to another ordinary letter key. This app loves special keys to death, but I can't figure out how to do anything with boring keys.
I also want to disable the built-in keyboard while I'm using a bluetooth keyboard. Apparently you could maybe do this before Sierra, but not with the Sierra prototype? I don't know. This is the kind of byzantine app where it's next to impossible to know whether you're missing something among its piles of features.
> I want to remap an ordinary letter key to another ordinary letter key.
Regular keys should probably be mapped with a regular keyboard layout, unless 10.12 screwed that up too. See Ukelele (sic) http://www.sil.org/resources/software_fonts/ukelele or just copy and edit a .keylayout file.I'm lazy, so I ended up just running Karabiner with this tiny private.xml: https://gist.github.com/mherdeg/4eca69637d176bc81ea19207b911...
I found that I context-switched between places where I wanted the arrow key to send hjkl (Terminal.app running the binary) and places where I did not (everywhere else). To make things slightly easier, I set up a "profile" in Terminal.app called "nethack" which uses xterm-16color, displays ANSI colors in a readable way, sets the window title to "Nethack", and launches /usr/local/bin/nethack when this profile is opened. The Karabiner private.xml setting that can be toggled on/off here ends up pretty much only rewriting arrow keys when I want them to.
This seems like kind of a crazy workaround but it was really easy to deploy.
It would be more useful to more people to temporarily fix Karabiner and work on Elements later, but no, gotta ignore paying users and stick to "the plan."
They stated in several places that it can't be "temporarily" fixed due to major structural changes to (I believe) the keyboard driver in Sierra.
Also pretty sure that Karabiner has been free forever. (Donations accepted, but you know how rarely that happens.)
Just keeping the record straight, as someone who loves the app and, yes was temporarily inconvenienced, but bravo to them for rapidly putting out something to tide users over.
I think that UI was added for the Mac Mini, as it was the first Mac sold without keyboard ("bring your own keyboard and mouse")
> Do not change the location of Karabiner.app from /Applications.
> For example, Karabiner will not work properly if you moved Karabiner.app into /Applications/Utils.
I'm curious: why is this?
1) fn + cursor key to Page Up/Page Down/Home/End.
Occasionally nice, but usually not necessary.
2) Option-R to right click
Slightly nicer than Ctrl-click, but not essential.
3) Caps Lock to left click
Absolutely essential and I can hardly live without it. Tap to click is fine on the touchpad, but "click to drag" was something I hated until I did this mapping. If you haven't already mapped Caps Lock to something else you can't live without, I would highly recommend trying this. You'll probably need Karabiner's partner program Seil to do it: (https://pqrs.org/osx/karabiner/seil.html.en)
Why not 3 finger drag (they moved it to Accessibility in El Capitan)?
What I'd really like for 3-finger drag is the ability to move windows without having to click in the title-bar. That is, 3-finger drag anywhere within the window to reposition. Do you know if there is any way to enable this? Currently I use Better Touch Tool (another excellent configuration program) for Cmd-Option-Click-drag to reposition, but this sometimes interferes with certain applications.
It doesn't need a kernel extension. http://xahlee.info/kbd/osx_keybinding.html
Most of the keybindings don't seem to work on El Capitan, but just having a system wide alt-b and alt-f is very nice.
E.g. RightCmd+Up = Home but LeftCmd+Up = Cmd+Up
Incidentally, remapping Caps Lock to Control on that keyboard required a soldering iron and a pair of side cutters. But it works.
The only exception is that the power key still functions.
Works great if you have an "I set my drink too close to my keyboard" moment and need to make a spare PC keyboard work with your Mac to meet your deadlines. =D
Works great! saved my day.