{"action":"created","issue":{"url":"https://api.github.com/repos/syl20bnr/spacemacs/issues/2443","labels_url":"https://api.github.com/repos/syl20bnr/spacemacs/issues/2443/labels{/name}","comments_url":"https://api.github.com/repos/syl20bnr/spacemacs/issues/2443/comments","events_url":"https://api.github.com/repos/syl20bnr/spacemacs/issues/2443/events","html_url":"https://github.com/syl20bnr/spacemacs/issues/2443","id":97736809,"number":2443,"title":"Navigation keys in Dvorak layout","user":{"login":"vkz","id":917220,"avatar_url":"https://avatars.githubusercontent.com/u/917220?v=3","gravatar_id":"","url":"https://api.github.com/users/vkz","html_url":"https://github.com/vkz","followers_url":"https://api.github.com/users/vkz/followers","following_url":"https://api.github.com/users/vkz/following{/other_user}","gists_url":"https://api.github.com/users/vkz/gists{/gist_id}","starred_url":"https://api.github.com/users/vkz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vkz/subscriptions","organizations_url":"https://api.github.com/users/vkz/orgs","repos_url":"https://api.github.com/users/vkz/repos","events_url":"https://api.github.com/users/vkz/events{/privacy}","received_events_url":"https://api.github.com/users/vkz/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":22,"created_at":"2015-07-28T15:34:49Z","updated_at":"2015-10-05T11:38:04Z","closed_at":"2015-10-05T10:32:52Z","body":"I wonder if Dvorak-typists considered binding navigation keys to something more accessible than `hjkl`? I see 3 possible solutions here:\r\n* bind `dhtn` as nav keys to match physical keys `hjkl` typical for qwerty keyboards\r\n* bind `b` to move left, `f` to move right, `n` to move down, `p` to move up: basically drop `CTRL` in your default nav Emacs commands\r\n* leave default Emacs nav commands unchanged i.e. `C-b/f/n/p`. `vim` normal mode steels them and it's driving me nuts\r\n\r\nI seem to be ok with the rest of `vim` bindings, but navigation keys are unusable on Dvorak. Problem is that any solution would probably require changing a bunch of packages and extensions."},"comment":{"url":"https://api.github.com/repos/syl20bnr/spacemacs/issues/comments/145502000","html_url":"https://github.com/syl20bnr/spacemacs/issues/2443#issuecomment-145502000","issue_url":"https://api.github.com/repos/syl20bnr/spacemacs/issues/2443","id":145502000,"user":{"login":"StreakyCobra","id":1587877,"avatar_url":"https://avatars.githubusercontent.com/u/1587877?v=3","gravatar_id":"","url":"https://api.github.com/users/StreakyCobra","html_url":"https://github.com/StreakyCobra","followers_url":"https://api.github.com/users/StreakyCobra/followers","following_url":"https://api.github.com/users/StreakyCobra/following{/other_user}","gists_url":"https://api.github.com/users/StreakyCobra/gists{/gist_id}","starred_url":"https://api.github.com/users/StreakyCobra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/StreakyCobra/subscriptions","organizations_url":"https://api.github.com/users/StreakyCobra/orgs","repos_url":"https://api.github.com/users/StreakyCobra/repos","events_url":"https://api.github.com/users/StreakyCobra/events{/privacy}","received_events_url":"https://api.github.com/users/StreakyCobra/received_events","type":"User","site_admin":false},"created_at":"2015-10-05T11:38:04Z","updated_at":"2015-10-05T11:38:04Z","body":"For me there aren't miracles with alternative keyboard-layouts. Either:\r\n\r\n- You deal with the new positions of `hjkl` on your keyboard-layout.\r\n- You remap, mode by mode, the equivalent `hjkl` keys to your keyboard-layout (`dhtn` for dvorak, `ctsr` for bepo).\r\n\r\nIt is a personal choice, there is no true/false answer. Although the first one is the easier to do, it isn't the best in term of ergonomic and speed. This is especially true for bepo, where `hl` are upper and lower rows of the ring finger (not the better one for this usage :neutral_face:). The second option, remapping the keys, is a nightmare to do and maintain.\r\n\r\nPeople who want to keep `hjkl` don't have anything to change, and people wanting to remap can join their forces to create a `+keyboard-layouts/dvorak` layer. That will allow to share and save work, and newcomers will thank you for doing this, even if it is not complete.\r\n\r\n----\r\n\r\nI'm currently writing a layer [`+keyboard-layouts/bepo`](https://github.com/StreakyCobra/spacemacs/tree/layer/bepo/layers/%2Bkeyboard-layouts/bepo) which is doing this. Here is few remarks:\r\n\r\n- Start with an already existing, simple and accepted solution to remap. (I took [this one](http://bepo.fr/wiki/Vim#Principe) from the original bepo's wiki). It's a one to one mapping between keys, so people who had taken this as staring point for their custom config will not be lost. Notice the keys don't have  to have a meaning (`change` is now on `l` on my keyboard), but nobody cares as it gets soon in the fingers memory.\r\n- Invert the keys only **if they represent a movement**. If there is – an imaginary – `gt` binding, and `t` is for `tag` and doesn't represent the movement, don't remap it.\r\n- If some move doesn't make sense, like in magit status where action are made line by line, there is no meaning of going left and right, so I kept the `c` for `commit` instead or rebinding it to left as in bepo layout."}}