-
Notifications
You must be signed in to change notification settings - Fork 0
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
maybe add option to change the default keys? #18
Comments
you mean keyboards without |
i'm asking coz i'm not sure if you're literally talking about options to choose your own ways to scroll, like |
it's not a bug per se, more like a feature consideration, what I'm trying to say is that I use a different keyboard layout distribution, so, the letters |
ah, i see. didn't make sense coz i had kindaVim in mind, but yeah, i see, you wanna keep the home row. usually what i've been recommending for custom mapping is using Karabiner-Elements or Hammerspoon. Karabiner-Elements is especially made for this. although for Scrolla itself, it's less of an issue to add a few custom keys. it's not like a whole .vimrc like for kV. so yeah, added to the list of things to explore. thanks. no ETA tho. will update the thread once i start digging. |
+1 for that. Much prefer IJKL to match my Ferris Arrow layout |
well i could do a native solution, but you can do it with KE and Hammerspoon. see post above. |
I configured Karabiner to enable a Scrolla layer with my remappings and disable it on It would be great to have an option to change the defaults instead of dealing with Karabiner. |
I found the section regarding the Distributed Notifications API and implemented it via Hammerspoon + Karabiner [commit]. |
@alex35mil does it work well? i had to remove the Distributed Notifications and replace them by something else for kV coz it was too slow and kinda unpredictable. is your solution working exactly the way you want? or would still adding settings to change the default keys be useful natively? i'd like to add that to Scrolla but as usual when you start digging then it becomes a series of hard questions: do i allow only one mapping? several? one keys or several keys? how do i represent things in the Settings? text input? dropdowns? blah blah blah. lemme know what you have in mind. that'll help me figure out something. thanks. |
I believe for most vim users this should be as "simple" as using a config file to remap things.. but this involves adding some "doc" page explaining what format to use (maybe toml?) and what things are able to modify, also, I believe the settings UI would be nine to allow the user search/pick the config file.. in my case I would place this file in |
so basically writing a Karabiner-Elements from scratch 🤣️🤣️🤣️ in that case i have a really hard time seeing the point. especially for Scrolla. for kV yes, but for Scrolla (and Wooshy), i'd expect having a bunch of users that are not super into Vim or don't care about Vim motions, so my idea would be to allow anyone to change the mapping easily through the UI. if it's through config files then why not using KE/Hammerspoon? macOS keyboard remapping is its whole thing in itself, which is why you have tools like KE taking care just of this. what i can see is that there's definitely a stronger and deeper need for kindaVim. so i'll have to dig into this. but this needs to be 1) done separately, maybe as a package 2) heavily tested. once done i may want to use that package for Wooshy and Scrolla. but again, that may mean 1) specific syntax for kV/Wooshy/Scrolla (which is a disadvantage imo) rather than widespread KE 2) heavy work that is not gonna happen overnight.
yeah this also brings a whole lot of discussion. some people want yaml, some want toml, some want json, others want edn. some want the stuff to be stored in macOS's standard folders. some in XDG directories, blah blah blah. not discarding the whole idea because in the long term i think it's very needed, again at least for kV, to have native kV remapping. but in the short/middle term i want something simpler. at least development wise, and for mainstream users. something that i can get out in a few weeks, and still heavily tested (automatedly. yes just invented the word). |
@godbout hey, I'm using Distributed Notifications without any issues. I use Hammerspoon to listen for the notifications + to set a Karabiner variable, and Karabiner to do the remappings. I don't see any perf issues with this setup and things work the way I want it. |
thanks for letting me know. it appears that the CLI might be slow, so i wondered if it was an issue in your case. would you still rather get the remapping natively within Scrolla? also if you don't mind sharing, it'd be interesting for me to know what kind of remapping you (and others) are doing. thank you! |
@godbout I don't notice any slowness, but I don't use it in a tight loop - just to activate a scroll mode.
Personally, I'm fine with either, but it is indeed quite a sophisticated setup. Not everyone would be motivated.
I'm on Dvorak and I don't use |
ok. good to know. thanks.
yeah. i think for kV i'd except for people to be ok with KE and Hammerspoon but for Scrolla and Wooshy not so much.
thank you! was curious about sequences rather than single letters. if you're using Scrolla intensively, you may want to chip in here: #16 (comment) pondering a way to move the cursor around for apps that don't support the macOS Accessibility. |
i'm gonna start developing custom key mapping. my current idea would be a yaml file that you can open from the Settings. in that file you'd define all the mapping you want for each of Scrolla's function. for example: scroll_a_bit_up:
- j
scroll_a_lot_up:
- u
- control u
... any other/better idea? |
up. starting working on the custom key mapping. any idea appreciated! |
so, the current idea (and development) is:
e.g.:
|
I know this is vim-inspired and it's awesome (absolutely mind blowing), but, considering there is people using a different keyboard distro (non-qwerty), may be adding an option to override the defaults may be helpful.
The text was updated successfully, but these errors were encountered: