This is a great trick, and absolutely worth doing. I have mine mapped to Hyper as well, which is tied to Slate bindings for resizing and managing windows.
Mine's a little crazy. :) I'm simulating logic using tortured math to cycle through 1/6th increments left-to-right, and then splitting into vertical halves if desired. It's buggy on boundary conditions, but good enough for my purposes. http://pastebin.com/qjD8TvrE
I ended up doing something very similar after reading Steve Losh's article. I kept Control where it was, using Caps Lock as Escape/Hyper . The best part by far is using Caps Lock + hjkl for navigation. At work, I leave my arrow keys & numpad covered up with a mouse platform so I can keep the mouse closer.
A side effect of this was feeling completely lost when using Windows in Boot Camp. I found that there's a great piece of software on Windows called "AutoHotKey" that lets me do the same hjkl navigation.
caps lock + hjkl requires your left pinky every time you want to move the cursor. This may very well induce RSI because "using the arrow keys" is something that we tend to do all the time.
I'm using the key physically at the left of the space bar (I don't like talking about the 'name' of the key because it's very keyboard-dependent) as the modifier which allows me to move the cursor. And I move the cursor using modifier+ijkl (for ijkl reproduces the inverted T arrow cluster, not unlike how gamers like to use WASD or ESDF). I do hit the modifier using my left thumb, which is a finger much stronger than the pinky (and, arguably, such a setup is less RSI inducing).
Regarding covering the arrow keys and numpad with a mouse platform: many people opt for for a "TKL" (no numpad) or even 60% keyboard (no numpad, no arrow cluster) and typically those 60% keyboards have the benefit of coming with quality switches (also arguably less RSI inducing).
If you want to see what others are doing, two great sites are geekhack.org and deskthority.net.
FWIW I use a 60% keyboard which has CTRL at the correct place (i.e. where CAPS-LOCK is on keyboards which have a caps-lock): an HHKB Pro 2 (using the amazing Topre switches)... Which doesn't even have a CAPS-LOCK key.
Note that lately there seem to be a regain in interest in alternate setups and alternate mappings: for example the "SpaceFN" layout uses the space bar as an additional modifier (when it is held down) and ijkl to move the cursor around (once again: ijkl and not vim's hjkl and a strong finger, the thumb, to press the modifier).
Regarding remapping and "feeling completely lost" on other OSes: if you want to not have to remap your keyboard on Windows / OS X / Linux etc. you may want to buy a keyboard which has a programmable controller: your setup then works the way you want on any computer.
Thanks for the info. I actually went through a whole mechanical keyboard phase myself and went through several keyboards without numpads. I spent months using these keyboards, but in the end I found I was fastest and most comfortable typing on an Apple wired keyboard (heresy, I know). I much prefer the footprint of the Apple wireless keyboard, but I find that even though it seems like it'd be identical to the wired version, the keys aren't nearly as solid.
I am kind of curious about Topre switches, I haven't tried them yet. Only various Cherry switches.
I think the pinky RSI issue isn't so bad for me because most of the time I'm in a text editor with vi keybindings, so I wouldn't be using the arrow keys anyway. It's just nice in other apps to have that ability. In the situations where I do use my pinky, it's typically when I'm not typing very much, so I actually just move my left hand so my pinky rests over the Caps Lock key and doesn't need to move laterally. It's some movement, but still less than reaching over to the arrow keys.
It may be useful to remap right shift to shift/delete in similar manner. Also look how awkwardly placed ctrl is. You can remap enter to act as ctrl if it is pressed with something (and plain old enter otherwise).
I did this in my keyboard layout: https://kozikow.wordpress.com/2013/11/15/the-only-alternativ... .
Caps is a fantastic key to use for things like backspace, but if you want even more functionality, try using it with Colemak as a modifier that puts all the other common keys right on your home row: http://forum.colemak.com/viewtopic.php?id=1467
Slap that on a Truly Ergonomic keyboard (https://www.trulyergonomic.com) and you're living my life. Do it all at once and type 4 wpm for a month.
(I have the older "international" version with a number of blank keys. I remapped the left space bar to command and the lower left dead key to hyper. Tapping either shift of course generates a paren.)
I do use it as backspace (I got the idea from Colemak, which I didn't like that much, but I found this particular idea great). It's very convenient especially for deleting entire words (it's ctrl + backspace normally, but ctrl + capslock only requires one hand and it just feels easier).
I've used Autohotkey (Windows) to remap my capslock to select the word my cursor is currently in. Essentially pressing ctrl+left, then ctrl+shift+right. I too have become so use to this that using other people's keyboards is frustrating. I've taken this a couple steps further, shift+capslock selects the current line and ctrl+capslock activates Sublime's multicursor feature.
This won't work in everything, will it? What about if your cursor is at the beginning of a word? Not to mention that different editors stop in different places with ctrl+arrows. Many editors have a key combo for select word already. In Visual Studio it's ctrl-w.
I've been using it for about 1.5 years, and it's been mostly consistent between applications; Notepad being the only one I've noticed with odd characters it includes in the ctrl+arrow movements. I really like the approach using Autohotkey because it becomes universal on my system, so capslock can select words in chrome, IM apps, etc. I don't have to worry that the app supports that feature.
I just disable its functionality and use it as an extra key for things such as push to talk. Getting in the hang of using as a replacement for delete/escape etc causes muscle memory problems when typing on someone else's keyboard, if you're only ever using your own then it's beneficial, kinda like switching from qwerty
I remapped my Caps Lock key to switch into a "Greek" mode for typing, since I frequently need to type Greek letters interspersed with English. (Anybody in STEM classes should know how awkward it is to do this normally.) If you have a Mac, you can do this with Ukelele, a free key remapping tool. You can even set up and add "dead key" modes (e.g. the way opt+E allows you to add a diacritic to the next letter typed). There are some really advanced configurations possible. Ukelele even still works on Mavericks.
Not awkward, just with a little steep learning curve.
The only way to type math notation (which isn't the same character set as Greek. Compare \varepsilon with \epsilon, for example: http://www.w3.org/2003/entities/2007doc/#epsilon) is LaTeX. And for that, the only keys you really need are the dollar sign and backwards-slash.
You'd find that STEM professionals (and academics, as some would say those two sets are disjoints) simply write LaTeX in their mails; I even find myself saying it when conversing face to face (but you loose the slashes: "take varepsilon less than frac x over y").
That's one big strength of LaTeX: everybody (in certain professions) knows it, so it is easy to collaborate on LaTeX typeset documents.
I haven't set it up since getting a new laptop, but I used to have lots of math notation available on my keyboard (e.g. AltGr, <, = would give ≤), and LaTeX set up so that I could put those characters directly in my documents, and it was so much nicer than doing everything with backslash.
Well, as a Greek, typing Greek isn't hard at all. Install the Greek keyboard layout (should be a few clicks in any OS) , switch to it and the letters should more or less make sense (a is α, e is ε, i is ι, etc).
I learned to type in a keyboarding class in high school in the nineties. I was taught to use the caps lock automatically for instances where there are 3 or more capital letters. I cannot give that up as infrequently as it happens. That is much more inconvenient to me than making that key do something else.
I originaly got this idea to remap when I started playing WoW in 2006. I needed a lot of keybinds and it turned I couldn't bind 'raw' caps lock, so I had to remap to other key and = seemed like a good choice.
I've got it mapped to Control like a standard hacker,
but this reminds me that some years ago I had it mapped so that if I hit SHIFT-CAPSLOCK (which is a rather unusual thing to do, think about it), it would type... a tilde. I have no idea why I thought I wanted that.
I do that by default now, too -- OS X has a few basic Emacs control keys that work in all text fields/boxes, like ^P/^N, ^A/^E, ^D, etc., and even though I rarely use Emacs itself those have become muscle memory.
(I use KeyRemap4MacBook for a couple things, including mapping Caps Lock to pressing both shift keys simultaneously, so I still have it if I need it.)
Have you compared it to CapsLock as ESC? I understand Escape is in a ridiculous position on most keyboards, but I think CapsLock makes a great mode switcher, and have been using it for a few months now. (Downside being that it can't be done in vimrc, at least not in terminal vim which I use.)
The jj and jk hacks always seemed ridiculous, but maybe I'll give them a try. I think I would prefer jk for speed and fatigue reduction, or maybe even something on the left home row since I'm left-handed.
As you say, you can't just tweak the capslock assignment in vimrc or by issuing a command. The great thing about the jj/jk hack is that if you end up on some random system or borrowing someone else's shell for a second then all you have to do is type ":inoremap jj <Esc>" and you're back in the groove.
I was a little skeptical about it at first as it seemed like a weird hack, but it's actually quite practical. The fact that you don't have to leave the home row to swap between modes is a huge efficiency boost.
I don't know when but very shortly after I started to use vi I learned about and used Ctrl+[, and have been doing that to this day. I still tend to use ^[ instead of Esc by instinct, even when it doesn't work in any other program.
Disabling CAPS is one of the first things I do when I refresh a system. I've always wanted to find a better alternative, but as of yet, it hasn't presented itself.
I've thought about mapping it to alt+tab since I use VNC quite a bit.
I guess, but do you still not have a use for it? What if you're talking to git and referring to HEAD? Or if you're #defining things in C? Or if you're writing an email and you want to emphasize a few words?
Any reasonable text editor will have more efficient ways to capitalize things than dedicating one of the most convenient keys on the keyboard to it. I prefer M-u (by word) or C-x C-u (by region) in emacs.
Interesting enough, all of the standard library for Common Lisp is in caps. However, the default reader upcases all unescaped characters.
A somewhat common way of getting case sensitivity without (CONS (CAR x) (CDR y)) is to change the reader to be case-inverting (which then requires you to type in all standard-library symbols as lowercase.
If someone's editor has got a convenient way to capitalize parts after they've been written, I'd be interested in knowing how it works. You can invert case with ~ in vi, but it's not so great for #defines and such (you capitalize every letter in these, and ~ works on a letter at a time).
We have entire departments that use it almost all day long. Then again, we could probably fix that by having auto-capitalizing fields, but you know you're talking to someone in IM/Email that uses caps all day, when they reply in caps.
ANYWHERE FOR LUNCH IS FINE LET ME KNOW WHEN YOU WANT TO LEAVE
Yeah, every time this subject is brought up, I think to myself that I must be the only one who actually uses caps lock for its intended purpose. I spend a lot of my day writing capital letters at work, and having to use shift for every letter would kill me. Instead I can hit caps lock then start typing like normal.
I use caps-lock instead of shift. For example, I do "CAP-LOCK, LETTER, CAPS-LOCK" to type a capital letter. It's less efficient, yes, but it works just fine for me. Explaining this to anyone gets "you're kidding" views, but I assure you, the caps lock key is already quite useful to me.
It's actually unclear whether it's less efficient or not. Sean Wrona, one of the fastest typists in various competitions, generally uses it in place of shift.
The first thing to come to mind when I read the parent was Sean Wrona too...
I use StickyKeys which lets me hit Shift and then a letter, which I think is even faster since you don't have to "un-shift" like you would with CapsLock.
144 comments
[ 4.6 ms ] story [ 557 ms ] threadhttps://github.com/jigish/slate
Was built by a co-worker of mine (ontop of slate). Pretty great set of defaults.
I use it combined with a hyper key mapping (similar to OP) and enjoy it very much.
my config file: https://github.com/n0nick/dotfiles/blob/master/slate/slate.j...
A side effect of this was feeling completely lost when using Windows in Boot Camp. I found that there's a great piece of software on Windows called "AutoHotKey" that lets me do the same hjkl navigation.
I'm using the key physically at the left of the space bar (I don't like talking about the 'name' of the key because it's very keyboard-dependent) as the modifier which allows me to move the cursor. And I move the cursor using modifier+ijkl (for ijkl reproduces the inverted T arrow cluster, not unlike how gamers like to use WASD or ESDF). I do hit the modifier using my left thumb, which is a finger much stronger than the pinky (and, arguably, such a setup is less RSI inducing).
Regarding covering the arrow keys and numpad with a mouse platform: many people opt for for a "TKL" (no numpad) or even 60% keyboard (no numpad, no arrow cluster) and typically those 60% keyboards have the benefit of coming with quality switches (also arguably less RSI inducing).
If you want to see what others are doing, two great sites are geekhack.org and deskthority.net.
FWIW I use a 60% keyboard which has CTRL at the correct place (i.e. where CAPS-LOCK is on keyboards which have a caps-lock): an HHKB Pro 2 (using the amazing Topre switches)... Which doesn't even have a CAPS-LOCK key.
Note that lately there seem to be a regain in interest in alternate setups and alternate mappings: for example the "SpaceFN" layout uses the space bar as an additional modifier (when it is held down) and ijkl to move the cursor around (once again: ijkl and not vim's hjkl and a strong finger, the thumb, to press the modifier).
Regarding remapping and "feeling completely lost" on other OSes: if you want to not have to remap your keyboard on Windows / OS X / Linux etc. you may want to buy a keyboard which has a programmable controller: your setup then works the way you want on any computer.
I am kind of curious about Topre switches, I haven't tried them yet. Only various Cherry switches.
I think the pinky RSI issue isn't so bad for me because most of the time I'm in a text editor with vi keybindings, so I wouldn't be using the arrow keys anyway. It's just nice in other apps to have that ability. In the situations where I do use my pinky, it's typically when I'm not typing very much, so I actually just move my left hand so my pinky rests over the Caps Lock key and doesn't need to move laterally. It's some movement, but still less than reaching over to the arrow keys.
(I have the older "international" version with a number of blank keys. I remapped the left space bar to command and the lower left dead key to hyper. Tapping either shift of course generates a paren.)
http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=...
Why wouldn't it? They didn't change the entire input system in Mavericks, did they?
That's one big strength of LaTeX: everybody (in certain professions) knows it, so it is easy to collaborate on LaTeX typeset documents.
No it isn't. Perhaps by far the best and most practical way, but not the only way ever to type math notation.
I'd be finishing typing a small monograph by then. LaTeX is far from perfect, but there isn't a better solution yet.
I originaly got this idea to remap when I started playing WoW in 2006. I needed a lot of keybinds and it turned I couldn't bind 'raw' caps lock, so I had to remap to other key and = seemed like a good choice.
but this reminds me that some years ago I had it mapped so that if I hit SHIFT-CAPSLOCK (which is a rather unusual thing to do, think about it), it would type... a tilde. I have no idea why I thought I wanted that.
(I use KeyRemap4MacBook for a couple things, including mapping Caps Lock to pressing both shift keys simultaneously, so I still have it if I need it.)
The jj and jk hacks always seemed ridiculous, but maybe I'll give them a try. I think I would prefer jk for speed and fatigue reduction, or maybe even something on the left home row since I'm left-handed.
I was a little skeptical about it at first as it seemed like a weird hack, but it's actually quite practical. The fact that you don't have to leave the home row to swap between modes is a huge efficiency boost.
I've thought about mapping it to alt+tab since I use VNC quite a bit.
A somewhat common way of getting case sensitivity without (CONS (CAR x) (CDR y)) is to change the reader to be case-inverting (which then requires you to type in all standard-library symbols as lowercase.
For example, gUaw changes the current word to upper case. guu changes the whole current line to lower case.
In visual mode, you can use just u and U.
Bonus useless tip: g? encodes and decodes rot13.
ANYWHERE FOR LUNCH IS FINE LET ME KNOW WHEN YOU WANT TO LEAVE
He posts about it here: http://forum.colemak.com/viewtopic.php?pid=8851#p8851
I use StickyKeys which lets me hit Shift and then a letter, which I think is even faster since you don't have to "un-shift" like you would with CapsLock.