arsenik icon indicating copy to clipboard operation
arsenik copied to clipboard

[Kanata] Add a HRM-optimized navigation layer

Open fnuttens opened this issue 1 year ago • 11 comments

In the navigation layer, WASZXCV shortcuts are useful for some layouts, but they dramatically reduce the amount of good spots for other keys, such as tab and S-tab.

These are particularly useful with Ctrl and Alt, but their current position makes it difficult to press, say Alt-tab using home-row mods.

What if we keep extending Arsenik by adding a navigation layer built for HRM, losing the Qwerty shortcuts in the same process?

fnuttens avatar Oct 07 '24 22:10 fnuttens

I personally use [S] / [F] for S-tab / tab.

  • + strong finger
  • + homerow
  • + easy C-tab and C-S-tab
  • + easy M-tab (I dont know if it’s common?)

bouttier avatar Oct 14 '24 11:10 bouttier

@bouttier interesting, I didn’t consider separating S-tab and tab but maybe this could work. However tab on [F] doesn’t work for me because it makes Alt-tab impossible using one hand.

easy M-tab (I dont know if it’s common?)

On Windows it opens the virtual desktops task view, so I’d say it’s pretty common if you use virtual desktops.

fnuttens avatar Oct 14 '24 11:10 fnuttens

Here’s a table summing up each position strengths and weaknesses:

S-tab/tab position Homerow? Finger strength A-tab A-S-tab C-tab C-S-tab M-tab
[W]/[E] no 🟢 🟢 🟢 🔴* 🟢 🟢
[A]/[S] yes 🟡 🟢 🟢 🟢 🟢 🔴
[S]/[D] yes 🟢 🟢 🟢 🔴 🟢 🟢
[S]/[F] yes 🟢 🔴 🟢 🟢 🟢 🟢
[S]/[D]+[F] yes 🟢 🟢 🟢 🟢 🟢 🟢

* Uncomfortable on staggered keyboards, impossible on ortholinear ones.

fnuttens avatar Oct 14 '24 12:10 fnuttens

Oups, I forgot about A-tab! Nice synthesis table. And what about tab on [D] and [F]?

bouttier avatar Oct 14 '24 13:10 bouttier

@bouttier tab on both [D] and [F] actually ticks all the boxes, yay! Sure, it takes a third slot but I don’t see any collision at the moment. I’ll just dogfood this position for a few days and see if I prefer this compared to [W]/[E]; thanks for your help!

Edit: OK this position is definitely my favorite so far, the C-(S-)tab movements are so comfortable that I literally use them instead of Vimium’s actions to navigate tabs!

fnuttens avatar Oct 14 '24 14:10 fnuttens

Looks really cool! Two small remarks:

  • I think @fun and esc should be switched for more consistency with the right hand.
  • Quit shortcut make sens at this place; may be suggests Alt-F4 as a possible binding in the comment?

bouttier avatar Oct 22 '24 09:10 bouttier

  • I think @fun and esc should be switched for more consistency with the right hand.

I’m afraid that’s not possible, doing so would block access to F5 on the funpad 🙁

  • Quit shortcut make sens at this place; may be suggests Alt-F4 as a possible binding in the comment?

Since the comment above explains that it’s meant to receive an OS-specific shortcut, I’m not sure why the example (because an example is just what it is) should showcase Windows instead of Linux. Maybe we could add the correct shortcut for each OS?

;; qut C-q ;; [Control]-[Q] (Linux)
;; qut M-q ;; [Command]-[Q] (macOS)
;; qut A-f4 ;; [Alt]-[F4] (Windows)

fnuttens avatar Oct 22 '24 12:10 fnuttens

  • I think @fun and esc should be switched for more consistency with the right hand.

I’m afraid that’s not possible, doing so would block access to F5 on the funpad 🙁

Oups, I mean @pad and esc!

  • Quit shortcut make sens at this place; may be suggests Alt-F4 as a possible binding in the comment?

Since the comment above explains that it’s meant to receive an OS-specific shortcut, I’m not sure why the example (because an example is just what it is) should showcase Windows instead of Linux. Maybe we could add the correct shortcut for each OS?

;; qut C-q ;; [Control]-[Q] (Linux)
;; qut M-q ;; [Command]-[Q] (macOS)
;; qut A-f4 ;; [Alt]-[F4] (Windows)

Yes, also win, not instead, looks perfect to me like that!

bouttier avatar Oct 22 '24 13:10 bouttier

Yes, also win, not instead, looks perfect to me like that!

Done 🙂

Oups, I mean @pad and esc!

Wow, this is actually a pretty clever change because it plays nicely with your upcoming PR (#50). Currently, having the numpad as a layer-while-held is only helpful for the right hand to type numbers. With @pad on [A], you can actually use the arrow keys without locking the layer, which is helpful if you need to quickly navigate something using only the left hand 🤯

Thanks again for your help @bouttier!

fnuttens avatar Oct 22 '24 19:10 fnuttens

It’s really nice to have media controls on Fn layer, but I think we should have hrm on the right hand also on the Fn layer to be able to do Ctrl-Alt-Fx while the layer is locked (currently, you have to do [J]+[L]+[Space]+[:]+[W] for Ctrl-Alt-F2, not easy!).

bouttier avatar Oct 25 '24 09:10 bouttier

Oops, since I don’t really use Fx keys with modifiers I overlooked this use case. Do you think it’s still a good idea to put media controls on this layer?

Maybe something like this:

;; function keys
(deflayer funpad
  XX   XX   XX   XX   XX   XX   XX   XX   XX   XX   XX
  f1   f2   f3   f4   XX        XX   vold volu mute XX
  f5   f6   f7   f8   XX        XX   lctl lalt lmet _
  f9   f10  f11  f12  XX   XX   XX   brdn bru  XX   XX
            _               _             _
)

I don’t know, with the modifiers on the right hand it’s less obvious where to put the media controls, maybe it’s best to leave that choice to the user (do like I proposed above, create a media layer, etc.).

Edit: in the end I removed media controls because they are out of this PR’s scope. I still believe this feature would be a great addition to Arsenik, but it has to be well thought out in a dedicated PR/issue.

fnuttens avatar Oct 25 '24 21:10 fnuttens