Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Colemak layout to keyboard-layout layer #7015

Closed
wants to merge 1 commit into from
Closed

Add Colemak layout to keyboard-layout layer #7015

wants to merge 1 commit into from

Conversation

lyallcooper
Copy link
Contributor

@lyallcooper lyallcooper commented Sep 4, 2016

The Colemak keyboard layout is the third most popular English language keyboard layout (behind QWERTY and Dvorak), and also my keyboard layout of choice. So, I thought it'd be worth adding to the new keyboard-layout layer for myself and anyone else that might find it useful.

Overall, this is a pretty basic change that just adds the hjklhnei mapping, specifies the home row keys and updates the README with a description of the layout.

@ajgrf
Copy link

ajgrf commented Sep 11, 2016

I'm glad I found this PR because I was about to start working on Colemak support myself. So thank you for getting it started! However, I think these are slightly better Colemak rebindings. So the rebinding table would look like this:

(colemak . (("n" . "j")
            ("e" . "k")
            ("i" . "l")
            ("k" . "n")
            ("u" . "i")
            ("l" . "u")
            ("j" . "e"))))

They are still pretty minimal changes but it puts I, U, and N back into their QWERTY positions. With your bindings I would probably forever confuse I and U in both QWERTY and Colemak layouts!

What do you think? I know that there are a lot of Colemak users out there who have come up with their own incompatible vim bindings, so I hope this isn't too contentious.

@lyallcooper
Copy link
Contributor Author

That's an interesting remapping. Though I'd be hesitant to make it the default colemak mapping simply because I don't think it would be what people would expect. One solution could be to add a colemak-alt map, or perhaps let the user specify their own map.

I'll have a look to see if there's a nice way of doing it when I've got a little bit of time.

@ajgrf
Copy link

ajgrf commented Oct 8, 2016

I realized I may have over-emphasized swapping the insert/undo commands, but even if you don't do that I think putting the N bindings back into their QWERTY spot is still worthwhile. So it would look like this:

(colemak . (("n" . "j")
            ("e" . "k")
            ("i" . "l")
            ("k" . "n")
            ("l" . "i")
            ("j" . "e"))))

@TheBB
Copy link
Collaborator

TheBB commented Oct 17, 2016

What's the relationship between this and #7178?

@allentiak
Copy link
Contributor

#7178 has the same objective. Whereas #6631 contains the related discussion (!).
What about merging all these three issues?
I would say #7178 seems to be the best candidate, as it seems to be the most complete PR.

@wbolster
Copy link

wbolster commented Nov 18, 2016

@ajgrf i agree with your preferred colemak remappings. my evil-colemak-basics package is an extended implementation of this idea.

@syl20bnr syl20bnr self-assigned this Apr 20, 2017
@syl20bnr
Copy link
Owner

Thank you !
There are multiple PR for colemak, see 4461721e
Cherry-picked into develop branch, you can safely delete your branch.

@syl20bnr syl20bnr closed this Apr 20, 2017
@syl20bnr syl20bnr removed the Merged label Apr 20, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants