4 ms·
Ask HN: Do you use Dvorak or any alternative typing / input technology?
Any time I find myself repeating some process a lot I generally try to reflect on how I might make that process more efficient. This has led me to adopting new workflow tools and plugins, but I still haven't done much to address what seems to be the elephant in the room - having most of the work I do go through a keyboard with a infamously impractical layout, especially for programming. I've been curious to try switching to a layout like Dvorak, but never actually wanted to spend the time. One thing I find particularly frustrating is the frequency of symbols I have to type while programming that are pretty unergonomic to input and often lead to typos. For example all the []\{}|;':" keys on the right hand side. I saw a snippet of some Rust code a minute ago (below) and one of my initial reactions was apprehension toward the use of pipes "|" in the lambda syntax since they're relatively difficult to press. The keyboard is definitely something I don't want biasing my judgement of a language or syntax, so that feeling has reminded me that it might be worth investing the time in taking a new approach.
Rust snippet:
let squares: Vec<_> = (0..10).map(|i| i * i).collect();
Do you use Dvorak or another keyboard layout alternative to QWERTY?
Do you use any other unconventional input devices such as mouse alternatives?
Do you use any other non-standard input configurations?
- auslegung 6y agoI use an ergodox EZ with this layout https://configure.ergodox-ez.com/ergodox-ez/layouts/ZPn5v/latest/0 https://configure.ergodox-ez.com/ergodox-ez/layouts/ZPn5v/la... (I'm constantly tweaking it though). There are lots of inefficiencies but they aren't causing me enough pain to change them yet. My favorite things about this layout are the number of dual-function keys (blue keys), the Mvmnt layer (I use the keyboard for 95% and laptop's mousepad the other 5%), and the sym&num layer so my most-used symbols are easily accessible for me. There's a relatively easy way to find out what keys you use the most using git log, clean up the output, then feed that into a tool (forget the name) that outputs the frequency of each key. I did that and that's why those particular symbols are where they are.
- monroewalker 6y agoOh cool, thanks for sharing. That keyboard has a similar shape to the Kinesis keyboard I got a while ago. Could never really get into it though. It was nice for typing with two hands once I got familiar with it, but I think it made one-hand typing too difficult and there were actually a number of times where I'd have one hand on the mouse and the other on the keyboard and just need to do minimal typing. I should give that keyboard another shot though. Which key switches the layer/function of the keys? I think something like that is possible with the keyboard I have as well but I haven't explored it at all
- auslegung 6y agoI switch layers with my right thumb. Any key that has LT -> 1 (or whatever number) switches to that layer while I’m holding that key. I could set it up to not have to hold the key but then I forget what layer I’m on lol
- monroewalker 6y agoJust found a layout called "Workman" which seems to be a more reasonably designed layout for programming. Also has a "Workman-P" variant which switches the number/symbol keys so that shift is needed for numbers and the symbols insert with a regular press. https://github.com/workman-layout/Workman https://github.com/workman-layout/Workman
- mech422 6y agothis is a rabbit hole that can go pretty deep... there are actually a couple of well known programs for generating layouts, that let you optimize the layout based on your corpus..This(1) is probably a good place to start. I believe these(2)(3) are some of the more commonly used tools, though its been a while since I looked. 1: http://xahlee.info/kbd/keyboard_layout_keybinding.html http://xahlee.info/kbd/keyboard_layout_keybinding.html 2: http://mkweb.bcgsc.ca/carpalx/?readme http://mkweb.bcgsc.ca/carpalx/?readme 3: http://www.michaelcapewell.com/programming/keyboardevolve.htm http://www.michaelcapewell.com/programming/keyboardevolve.ht...
- mech422 6y agoI'm actually trying to customize a 'tracktyl' (Dactyl manuform keyboard with thumb trackball)(1). Qqurn has code up at gitlab(2) that can generate layouts with thumb cluster, trackball, or joystick. The code can create .stl files to be used with 3d printers, as well as viewed on-line for sanity checking. Interestingly, the original code was clojure, but migrated to python. Oh! And QMK is awesome for keyboard mapping, macros, etc! 1: https://imgur.com/a/TDE640k https://imgur.com/a/TDE640k 2: https://gitlab.com/keyboards1 https://gitlab.com/keyboards1
- iforgottherest 6y agoIf symbols are your pain point, why not just put those on an external macro pad? From what I remember, switching to Dvorak et al isn't best for increased efficiency, and you lock yourself from standard devices. Qwerty is better than good: it's good enough. Ergonomic keyboards are a good consideration, not for efficiency, but to avoid wrist pain.
- danieka 6y agoI know you question really isn't about ergonomics and RSI, but I can't help myself. I usually get pain in my little fingers after typing a lot. Switch to Dvorak has really helped, but I still had some trouble with typing "special characters". Using shift and cmd put a lot of strain on my left little finger. What has been a huge boon for me is using pedals for the shift modifier keys. So to hold down shift I press down my right foot. That way I let my little fingers rest a bit and I have to use one finger less for key combinations. It took me maybe a week to get back to (almost) my normal typing speed. And for me typing speed isn't the limiting factor when programming, it's my brain. I also use the Advantage2 keyboard, note how the keyboard is "hollowed out". This means that my fingers can rest comfortably and not "bend backwards". Also note that modifier keys are placed by the thumbs. So to sum up: - Dvorak - Advantage2 [https://kinesis-ergo.com/shop/advantage2/ https://kinesis-ergo.com/shop/advantage2/] - Advantage Triple Pedal [https://kinesis-ergo.com/shop/advantage-triple-pedal-refurbished/ https://kinesis-ergo.com/shop/advantage-triple-pedal-refurbi...]