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

Simultaneous Vi mode - is this feature on the roadmap? #153

Closed
bobobox opened this issue Sep 26, 2016 · 15 comments
Closed

Simultaneous Vi mode - is this feature on the roadmap? #153

bobobox opened this issue Sep 26, 2016 · 15 comments
Labels

Comments

@bobobox
Copy link

bobobox commented Sep 26, 2016

First, thank you for your work on this incredibly useful tool, and and sorry to just post a basic question: Can @tekezo or anyone else familiar with the development of Karabiner-Elements give an idea of how far away the re-implementation of Simultaneous Vi mode is (or if it will ever be part of Elements?)

This was the major feature of Karabiner that I relied on, but I'm learning that it's a pretty unique thing.

Sorry, I'm not familiar with C++ and can't just read the source code to answer my own question :P

Thank you

Bobo

@bobobox bobobox changed the title Simultaneous Vi mode - will this feature be returning? Simultaneous Vi mode - is this feature on the roadmap? Sep 26, 2016
@watsoncj
Copy link

watsoncj commented Nov 7, 2016

Hi @bobobox, I've hard-coded fn+hjkl here: watsoncj@5531032

You may be able to hard-code simultaneous Vim mode with a similar approach.

@paxl13
Copy link

paxl13 commented Dec 14, 2016

@watsoncj I'd be interested to see how this could be done. My c++ is sadly quite rusty. I've been using the Simulatenous VI mode since so long I miss it soo much :) Thanks

@paxl13
Copy link

paxl13 commented Dec 14, 2016

Yep. there isn't a simple way to implment this as it rely on key chording... which would need to be implemented from ground up :(

@jasonrudolph
Copy link

I've been using the Simulatenous VI mode since so long I miss it soo much

Until Simultaneous VI Mode is available in Karabiner-Elements, I think we can approximate the functionality with Hammerspoon. If you can turn a blind eye to the code 🙈😇, the implementation in jasonrudolph/keyboard#10 might meet your needs. That pull request isn't an exact port of Simultaneous VI Mode, but it may be close enough for you. If not, perhaps the code can serve as a starting point that you can customize as needed. ✌️

@Peeja
Copy link

Peeja commented Dec 20, 2016

looks up from the macOS device driver docs

Hammerspoon, you say…

@raineorshine
Copy link

Thank you @jasonrudolph! That Super Duper mode was just what I needed to restore my previous Simultaneous VI settings. For those who are interested in just this feature, here were my exact steps:

  1. Install Hammerspoon
  2. Download init.lua and super.lua to ~/.hammerspoon/.
  3. Comment out all require statements in init.lua except the one to 'super'.

My final config is here. (Note: I changed the home row keys since I use a different keyboard layout.)

@Peeja
Copy link

Peeja commented Sep 17, 2017

Almost a year on and I still haven't managed a good replacement for __SimultaneousKeyPresses__. I used to use several of them: one on [SD], one on [DF], one on [ER], and one on [CV]. I'm finding the Hammerspoon solutions break down after a while and I need to reload the config several times a day to get them to keep running. I also can't see a good way to enable chords on [SD] and [DF] without conflicting with each other horribly.

I would be extremely grateful for a first class solution again in Karabiner Elements. My fingers feel like they've been broken for a year.

@stifynsemons
Copy link

stifynsemons commented Sep 17, 2017 via email

@Peeja
Copy link

Peeja commented Sep 18, 2017

@stifynsemons It looks like that's for translating chords to words, yes? What I'm trying to do is map a chord to mode, so for instance, [ER] + H/J/K/L is left/down/up/right, and [DF] + H/J/K/L moves between panes within a window. I've been using variables, but it just gets too complicated. I'm actually not certain it's possible to do the chording I want and type normally if I just press the chord characters as part of normal typing and don't hold them to press another key. __SimultaneousKeyPresses__ just did what I wanted perfectly.

(I should say that I'm eternally grateful for Karabiner, and I wouldn't have anything to miss in the first place if it weren't for the hard work that's gone into this amazing project. I fear my previous comment came out a bit entitled. I'm only frustrated because I feel like I've tasted the perfect keyboard setup and Sierra took it all away.) :)

@stifynsemons
Copy link

stifynsemons commented Sep 19, 2017 via email

@stifynsemons
Copy link

stifynsemons commented Sep 23, 2017 via email

@Peeja
Copy link

Peeja commented Sep 26, 2017

@stifynsemons That's quite impressive! Thanks!

What I'm actually talking about it holding [ER] while pressing another key. So, it's like a three-key chord, but the ER has to come first. At least, that's how I had it in Karabiner, but maybe it wouldn't hurt to make it work in any order? I'll give it a try.

@stifynsemons
Copy link

stifynsemons commented Sep 27, 2017 via email

@ramseysparrow
Copy link

ramseysparrow commented Oct 18, 2017

Hi @Peeja and @stifynsemons, @watsoncj

Please forgive me for bluntly joining this conversation, but it seems to be related to my issue and contrary to myself you seem to know your code rather well. I'm a writer / film-maker with absolutely ZERO knowledge of coding other than basic writing markdown.

I do write a lot and to top it up I'm also left handed, so Karabiner was to me an absolute blessing and one of the best things that ever happened to my hands when on keyboard. Unfortunately I will soon have to update from el capitan to sierra or further - that means karabiner elements.

Could I please ask your advice. The below is what I currently use; I wonder if I can replicate the same behavior with karabiner elements. It is also worth mentioning that I managed to create my own custom variations in Karabiner by monkey-copying and reverse engineering some custom stuff I found around - which is the extent of my coding knowledge. So the question is really: can I do the same things via custom code with Karabiner Elements?

S+D
hold-press to activate simultaneous VI mode for those functions:

JIKL
arrow keys.

SD+,
SD+.
to jump one word back or forward (replicating standard 'alt+arrow' behaviour)

SD+F
to turn backspace into forward delete (F becomes fn key)

CMD + \ to mirror CMD+Tab as an app switcher for a left-hander with:
[ to act as W (close window in app switcher mode)
] to act as Q (close app in app switcher mode)
CMD+. to mirror CMD+` as a window switcher for a left-hander.

Any advice or help would be much appreciated, it's a terrible shame that karabiner got killed off by sierra update just 4 months after I found out about it.

Thanks in advance!
M

@stale
Copy link

stale bot commented Mar 4, 2018

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Mar 4, 2018
@stale stale bot closed this as completed Mar 11, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

8 participants