Mapping for one handed touch typing

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Mapping for one handed touch typing

Robert Bower
I am a occasional Vim user.  It is my default rescue editor and I use it for a few tasks but not many.  I would like to use it for more because it is so customizable.  What holds me back is I am a one handed left handed touch typist.  I only have use of my left arm.  

The problem I have with Vim is while the key maps are natural for a two handed touch typist, they are awkward for for a one handed typist.  The home row for one handed typing is fghj. That makes the direction keys of hjkl  somewhat unnatural.

Before, I create my own map, I was wondering has anyone found a remapping for one handed typing?  

Thanks in advance.

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Mapping for one handed touch typing

Tim Chase
On 2018-03-23 14:03, Robert Bower wrote:
> I am a occasional Vim user.  It is my default rescue editor and I
> use it for a few tasks but not many.  I would like to use it for
> more because it is so customizable.  What holds me back is I am a
> one handed left handed touch typist.  I only have use of my left
> arm.  

My first thought would be to get a hardware solution like

  http://www.nanopac.com/Half+Keyboard.htm

which would solve issues not only within vim, but in other
applications as well.  Though at $595, it's a steep investment.

> The problem I have with Vim is while the key maps are natural for a
> two handed touch typist, they are awkward for for a one handed
> typist.  The home row for one handed typing is fghj. That makes the
> direction keys of hjkl  somewhat unnatural.

Totally understandable!

> Before, I create my own map, I was wondering has anyone found a
> remapping for one handed typing?  

Looks like there are a couple possibilities for pre-existing
solutions available here

http://www.onehandkeyboard.org/linux-one-handed-keyboards/

-tim



--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Mapping for one handed touch typing

Tony Mechelynck
In reply to this post by Robert Bower
On Fri, Mar 23, 2018 at 10:03 PM, Robert Bower <[hidden email]> wrote:
> I am a occasional Vim user.  It is my default rescue editor and I use it for a few tasks but not many.  I would like to use it for more because it is so customizable.  What holds me back is I am a one handed left handed touch typist.  I only have use of my left arm.
>
> The problem I have with Vim is while the key maps are natural for a two handed touch typist, they are awkward for for a one handed typist.  The home row for one handed typing is fghj. That makes the direction keys of hjkl  somewhat unnatural.
>
> Before, I create my own map, I was wondering has anyone found a remapping for one handed typing?
>
> Thanks in advance.

I'm not a touch-typist, but I usually type one-handed, with most of
the fingers of my right hand, which jumps this way and that over the
keyboard in a manner similar to how a pianist's hands may jump from
one octave to another. I don't use "special" one-handed mappings,
though; the mappings I use are either for key sequences which I use
often, or ones which are difficult to find on my Belgian AZERTY
keyboard (e.g. <F9> for Ctrl-] in both Normal mode [to follow Vim's
help hotlinks] and Insert mode [to end an abbreviation or to avoid
triggering it]).

So if you find out that there are complex key sequences that you use
repeatedly, or key combinations which are awkward to get on your
particular national keyboard, that's what you should assign to the
{rhs} of your mappings — which will probably be different than mine,
because they should suit you, not me. As {lhs} I recommend the Fn and
Shift-Fn keys with the exception of <F1> (Help) and maybe also <F10>
(Menu). Or, in Normal mode only, any non-ASCII key (if there are any)
present on your national keyboard: mine has ² ³ é § è ç à ° ù µ £ but
yours may have a different set.

IMHO any Vim user, touch-typist or not, left-handed, right-handed or
both, should learn which keys do what in Vim (in Insert mode, of
course, most keys used just by themselves, or only with Shift, insert
a character into the current editfile; but even in Normal mode, most
keys do something), then it's just a matter of remembering which key
or key combination does what. And my counsel is not to try to use only
hjkl to move the cursor to the next character cell: Vim understands
what the arrow keys do, and it listens to the mouse, so don't be
afraid to use them. (Of course, on a desktop keyboard the arrow keys
are usually on the far right, and that could be awkward for someone
who hasn't got a usable right hand, but it is common to all programs,
not only Vim.)

To learn which keys do what, I recommend the "vimtutor" utility,
distributed together with Vim: it moves the beginner step by step
through the elementary use of Vim; and then I recommend to all users,
beginners or otherwise, to make good use of the online help: AFAIK, no
program available today has such a complete and detailed help system,
available at every user's fingertips without even leaving the program.


Best regards,
Tony.

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Mapping for one handed touch typing

Dan Wierenga-2
In reply to this post by Robert Bower

On Fri, Mar 23, 2018 at 2:03 PM, Robert Bower <[hidden email]> wrote:
Before, I create my own map, I was wondering has anyone found a remapping for one handed typing?

When I broke my right hand and it was immobilized, I made a bunch of mappings to allow me to continue to be fairly productive.

First, I mapped F1 to F4 to hjkl respectively.  This allowed me to somewhat emulate the normal Vim movement keys, and since I had no muscle memory built up, I needed to visually verify my finger position often.  I found it convenient that the keys I mapped were laid out in relation to the keys I was mapping so I could check my finger position literally at a glance. A little dab of epoxy resin on F1 and F4 also helped me identify them by touch (simulating the dots on F and J on most keyboards).

I also mapped the Leader to be the ` (backtick) character, as the default leader of \ (backslash) was rather inconvenient.  I think there was something buggy about this, but I never figured out what, and I don't use the map leader functionality very often.

I then mapped the : (colon) to be `` (double backticks), so that I could just mash that key twice in order to access command mode.  This, of course, I used A LOT.

I also mapped CapsLock to be the Enter key, so that I could access that easily as well.   I ended up turning that off sometimes though, because I found that certain all-capital letter sequences were super tedious to type one-handed without Caps Lock. YMMV.   I did this with AutoHotKey on Windows, not with native Vim functionality.  xmodmap on Linux should do something similar.

But, the absolute best thing I did was to get a dictionary file of weighted words (i.e., sorted by frequency of use in the English language) and set my dictionary file to use that.  Then I used the ACP (autocompletepop)  plugin so that I could tab-complete most English words. When I type two-handed, and my output is English words (not computer code)  it's generally faster to type a word than it is to try to have ACP complete it for me, but when typing one handed I found it much, much faster to have ACP suggest words for me.    I found a ~200k word file online without too much trouble, sadly I don't remember where anymore.  I believe it was some university somewhere.  It was freely available, but I don't want to publish my personal copy of it because it isn't my own work, and I didn't think to save the link or the author information.

The upshot of all those mappings is, your fingers generally hover near the top-left of the keyboard, largely mitigating the need to keep them near fghj.   Tab-completing words ends up being quick enough to offset -in terms of typed words per minute -  the distance you have to move your hand to type "p" or "?" or whatnot.   

My actual .vimrc entries:

 " LEFT-HANDED """"""""""""""""""""""""""""""""""""""""""""""""""""""""""
" let double backticks act like the colon
nnoremap `` :
" change the Leader key to be ` for left-handed typing
let mapleader="`"
"map the movement keys to F1 to F4, and follow virtual lines
nnoremap <F1> h
nnoremap <F2> gj
nnoremap <F3> gk
nnoremap <F4> l
vnoremap <F1> h
vnoremap <F2> gj
vnoremap <F3> gk
vnoremap <F4> l
" turn on the ACP plugin on startup
let g:acp_enableAtStartup = 1
set dictionary=~/.vim/dict/weighted_words
" LEFT-HANDED """"""""""""""""""""""""""""""""""""""""""""""""""""""""""


Hope that helps,
Dan


--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
BPJ
Reply | Threaded
Open this post in threaded view
|

Re: Mapping for one handed touch typing

BPJ
In reply to this post by Robert Bower
I'm also disabled having cerebral palsy with reduced mobility in both hands and arms. While most of my remappings probably won't help you one of the things I've done might: I've remapped most of the <C-{key}> commands to <F5>{key} because it's hard for me to hold down two keys simultanously and because I find it easier to hit <F5> with either index finger than reaching for the ctrl keys with my little fingers which are almost useless. I also find a longish timeout value very helpful, but that may be different when you have full mobility in one hand.

Den fre 23 mar 2018 22:05Robert Bower <[hidden email]> skrev:
I am a occasional Vim user.  It is my default rescue editor and I use it for a few tasks but not many.  I would like to use it for more because it is so customizable.  What holds me back is I am a one handed left handed touch typist.  I only have use of my left arm.

The problem I have with Vim is while the key maps are natural for a two handed touch typist, they are awkward for for a one handed typist.  The home row for one handed typing is fghj. That makes the direction keys of hjkl  somewhat unnatural.

Before, I create my own map, I was wondering has anyone found a remapping for one handed typing?

Thanks in advance.

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.