Author Topic: Small keyboard with Navigation layer?  (Read 3393 times)

0 Members and 1 Guest are viewing this topic.

Offline wolfv

  • Thread Starter
  • Posts: 269
Small keyboard with Navigation layer?
« on: Mon, 14 April 2014, 21:33:24 »
I am designing a small keyboard with three layers:
  • Alpha
  • Navigation and F-keys
  • Symbols and numbers
DataHand and some other small keyboards also have a Navigation layer.
My only concern is that navigation is a very frequent function.
Do combinations like ctrl+navigation+arrow increase the metal or physical workload?
Seems like Navigation layer might lighten the workload for simple navigation but increase the work load for combinations.
If you are one of the few people with Navigation layer experience, please share your experience with us.
How does the user experience compare with a 50% larger keyboard with only two layers, where the Navigation keys are on the top layer?:
  • Alpha and Navigation
  • Symbols, numbers, and F-keys

Thank you.

Offline jacobolus

  • Posts: 3661
  • Location: San Francisco, CA
Re: Small keyboard with Navigation layer?
« Reply #1 on: Wed, 16 April 2014, 19:56:42 »
I think it’s great having arrows, etc. on a modifier + keys near the home row. Much nicer to use in the middle of other actions than a standard set of arrow keys, far away from the default hand position.

The one negative thing I’ve heard some people say about this is that for "casual" navigation, such as web surfing, etc., when only one hand is on the keyboard, they find that just having arrows is nice / lacking them is annoying. Personally I don’t find it to be a problem, though.

Combinations of modifiers + arrows aren’t hard to put together if you have sufficient thumb keys and you’re careful in how you program your layout.

I’m planning to build myself a keyboard without a number row and without any dedicated navigation keys, etc. So far I’ve just used roughly-standard-layout keyboards with some extra modifiers and layers programmed in, and an Ergodox. Neither is really ideal for me though.

I think a keyboard with <50 keys should be entirely usable though.

Offline ideus

  • * Exalted Elder
  • Posts: 8123
  • Location: In the middle of nowhere.
  • Björkö.
Re: Small keyboard with Navigation layer?
« Reply #2 on: Wed, 16 April 2014, 20:04:09 »
I think you are basically describing a 40%, or a 60%. In general the main issue I have found is when I need some chords using arrows, plus other modifiers like control, and home, or end. So far, I have used only the Poker X with arrows in the WASD second layer. The good part of the Poker X is that you can set the right modifiers cluster as arrows in the first layer, and that is what I use when in need for those chords, like when I have to edit a large spread sheet. In general, I find it easy to use. I want to try a Poker II soon.

Offline Oobly

  • * Esteemed Elder
  • Posts: 3929
  • Location: Finland
Re: Small keyboard with Navigation layer?
« Reply #3 on: Thu, 17 April 2014, 03:31:57 »
I like my navigation keys on the main layer, although on a board with thumb keys for modifiers and layers, I'm okay with them being on a 2nd layer.

I have 2 boards with layers, one is a DIY custom with thumb keys (48 keys total), the other is a 60% (KBT Pure, just got it). On the Pure, the default behaviour is to have arrows on "OKL;", but I find that rather clunky (due to the positioning of the Fn switch in relation to the arrows and trying to do shift+arrows for selecting text), so I switch the right mods into a permanent arrow cluster on the main layer.

On my DIY board, I have dedicated navigation keys, but I wouldn't mind having them on a layer, using home key positions (ESDF anf IJKL for arrows and PgUp, PgDn, Home, End). However it makes it difficult to design the layers, since I don't want too many layers and still need to fit in F-keys, numbers, symbols, etc.

Also, being able to do combinations like Shift+navigation, Shift+Insert or Ctrl+Alt+Shift+F-keys makes designing the layers even harder, but it's doable if you're careful with key placement.
Buying more keycaps,
it really hacks my wallet,
but I must have them.

Offline plainbriny

  • Posts: 192
  • Location: Taiwan
Re: Small keyboard with Navigation layer?
« Reply #4 on: Thu, 17 April 2014, 03:58:33 »
I am using an ErgoDox, but I use 'f' as layer switch
So when I hold 'f', the navigation layer will be activated, and the right hand home row becomes arrow keys

This way I don't need to move my hand away when doing navigation
The modifiers are in the thumb cluster, thus combinations are also possible with my hands on the home row

This dual role key will also work on an ordinary keyboard, it is a must-have function for me now

Offline ideus

  • * Exalted Elder
  • Posts: 8123
  • Location: In the middle of nowhere.
  • Björkö.
Re: Small keyboard with Navigation layer?
« Reply #5 on: Thu, 17 April 2014, 10:35:57 »
I am using an ErgoDox, but I use 'f' as layer switch
So when I hold 'f', the navigation layer will be activated, and the right hand home row becomes arrow keys

This way I don't need to move my hand away when doing navigation
The modifiers are in the thumb cluster, thus combinations are also possible with my hands on the home row

This dual role key will also work on an ordinary keyboard, it is a must-have function for me now


That sounds interesting, do you know a way to implement it using software on a windows machine? Maybe with AHK?

Offline plainbriny

  • Posts: 192
  • Location: Taiwan
Re: Small keyboard with Navigation layer?
« Reply #6 on: Thu, 17 April 2014, 17:11:40 »
I am using tmk firmware by hasu

This has enabled highest level of portability and consistency
Thus the same keyboard works the same way under any operating system

I am not sure whether autohotkey can do this or not.. there was a 'dual-role' key thread in this forum, you may find a solution there
http://geekhack.org/index.php?topic=41685.0

Offline angelic_sedition

  • Posts: 124
  • Location: Flatland
Re: Small keyboard with Navigation layer?
« Reply #7 on: Thu, 17 April 2014, 19:37:50 »
I've really only found a navigation layer useful for bad (non keyboard friendly) programs. Since I only use keyboard friendly programs now, I've pretty much stopped using a nav layer. I don't really get building one into a fn layer (fn usually has a terrible location). I used caps (and s for a brief time; though there aren't really any great implementations of dual role programs that work well with letter keys).

If you put control alt and shift on the left hand home row, it makes things pretty easy. Though, again, I would argue that if you want to use the keyboard for navigating and selecting text, you should use a decent editor that doesn't make you use alt, shift, and control.
« Last Edit: Thu, 17 April 2014, 19:40:13 by angelic_sedition »
QWERTY(104wpm) -> CarpalxQ(modded) -> Colemak(118wpm) -> Colemak-DH
Mouse less.

Offline ideus

  • * Exalted Elder
  • Posts: 8123
  • Location: In the middle of nowhere.
  • Björkö.
Re: Small keyboard with Navigation layer?
« Reply #8 on: Thu, 17 April 2014, 19:39:43 »
I am using tmk firmware by hasu

This has enabled highest level of portability and consistency
Thus the same keyboard works the same way under any operating system

I am not sure whether autohotkey can do this or not.. there was a 'dual-role' key thread in this forum, you may find a solution there
http://geekhack.org/index.php?topic=41685.0


Thank you for the link, I am gonna explore it.

Offline angelic_sedition

  • Posts: 124
  • Location: Flatland
Re: Small keyboard with Navigation layer?
« Reply #9 on: Thu, 17 April 2014, 19:42:59 »
I am using tmk firmware by hasu

This has enabled highest level of portability and consistency
Thus the same keyboard works the same way under any operating system

I am not sure whether autohotkey can do this or not.. there was a 'dual-role' key thread in this forum, you may find a solution there
http://geekhack.org/index.php?topic=41685.0


Thank you for the link, I am gonna explore it.

I have tried all the X and Windows implementations and don't consider any of them to really be usable if you want to dual role a letter ("f" in this case). The ahk implementations felt clunky, slow, and weren't much better for me.
QWERTY(104wpm) -> CarpalxQ(modded) -> Colemak(118wpm) -> Colemak-DH
Mouse less.

Offline jacobolus

  • Posts: 3661
  • Location: San Francisco, CA
Re: Small keyboard with Navigation layer?
« Reply #10 on: Fri, 18 April 2014, 08:53:10 »
I've really only found a navigation layer useful for bad (non keyboard friendly) programs. Since I only use keyboard friendly programs now, I've pretty much stopped using a nav layer. I don't really get building one into a fn layer (fn usually has a terrible location). I used caps (and s for a brief time; though there aren't really any great implementations of dual role programs that work well with letter keys).

If you put control alt and shift on the left hand home row, it makes things pretty easy. Though, again, I would argue that if you want to use the keyboard for navigating and selecting text, you should use a decent editor that doesn't make you use alt, shift, and control.
In other words, you never need the keyboard to emit events for e.g. arrow keys, page up/page down, etc. at all, in any of the programs you use?

Offline angelic_sedition

  • Posts: 124
  • Location: Flatland
Re: Small keyboard with Navigation layer?
« Reply #11 on: Fri, 18 April 2014, 09:21:22 »
I've really only found a navigation layer useful for bad (non keyboard friendly) programs. Since I only use keyboard friendly programs now, I've pretty much stopped using a nav layer. I don't really get building one into a fn layer (fn usually has a terrible location). I used caps (and s for a brief time; though there aren't really any great implementations of dual role programs that work well with letter keys).

If you put control alt and shift on the left hand home row, it makes things pretty easy. Though, again, I would argue that if you want to use the keyboard for navigating and selecting text, you should use a decent editor that doesn't make you use alt, shift, and control.
In other words, you never need the keyboard to emit events for e.g. arrow keys, page up/page down, etc. at all, in any of the programs you use?
That is correct (I never need them at all, though sometimes when I'm feeling lazy, I'll use home and end). There certainly is never any need for page up or down. I have all these keys on my caps layer (as well as home, end, modifiers, and scroll keys) and no longer really have use for them. Modality or letter bindings obsolete the need for such a layer. I write essentially all text in vim now (this included). That's really the only place where I see the nav layer to be particularly useful for heavy use (with a word processor). I  have recently spent a bit of time learning LaTeX and stopped using libre office for basic documents. Previously when I did use libre writer, I created modal bindings for it. Obviously it's just personal preference, but heavy reliance on my caps layer was hurting my pinky (and my thumbkeys are dedicated to more frequently used actions), so I stopped using programs that required a nav layer. I'd prefer to hit one key instead of two.
« Last Edit: Fri, 18 April 2014, 09:24:31 by angelic_sedition »
QWERTY(104wpm) -> CarpalxQ(modded) -> Colemak(118wpm) -> Colemak-DH
Mouse less.

Offline wolfv

  • Thread Starter
  • Posts: 269
Re: Small keyboard with Navigation layer?
« Reply #12 on: Mon, 21 April 2014, 21:10:49 »
I've really only found a navigation layer useful for bad (non keyboard friendly) programs. Since I only use keyboard friendly programs now, I've pretty much stopped using a nav layer. I don't really get building one into a fn layer (fn usually has a terrible location). I used caps (and s for a brief time; though there aren't really any great implementations of dual role programs that work well with letter keys).

If you put control alt and shift on the left hand home row, it makes things pretty easy. Though, again, I would argue that if you want to use the keyboard for navigating and selecting text, you should use a decent editor that doesn't make you use alt, shift, and control.
In other words, you never need the keyboard to emit events for e.g. arrow keys, page up/page down, etc. at all, in any of the programs you use?
That is correct (I never need them at all, though sometimes when I'm feeling lazy, I'll use home and end). There certainly is never any need for page up or down. I have all these keys on my caps layer (as well as home, end, modifiers, and scroll keys) and no longer really have use for them. Modality or letter bindings obsolete the need for such a layer. I write essentially all text in vim now (this included). That's really the only place where I see the nav layer to be particularly useful for heavy use (with a word processor). I  have recently spent a bit of time learning LaTeX and stopped using libre office for basic documents. Previously when I did use libre writer, I created modal bindings for it. Obviously it's just personal preference, but heavy reliance on my caps layer was hurting my pinky (and my thumbkeys are dedicated to more frequently used actions), so I stopped using programs that required a nav layer. I'd prefer to hit one key instead of two.
angelic_sedition,
That sounds interesting.  Could you recommend some keyboard-friendly software?

Offline angelic_sedition

  • Posts: 124
  • Location: Flatland
Re: Small keyboard with Navigation layer?
« Reply #13 on: Mon, 21 April 2014, 23:33:28 »
angelic_sedition,
That sounds interesting.  Could you recommend some keyboard-friendly software?

Sure. Though I would probably be able to give better recommendations if you specify the OS and exactly what you want to do with the keyboard. I pretty much only use programs that support exclusive use of the keyboard and use gnu/linux, so what I use might be overkill or hard to install (usually not impossible) on OSX or Windows. I also do a lot of things that might be considered weird. I generally don't use modifiers often apart from shift and don't use keys positioned away from home row finger placement. ~90% of navigation (window, desktop/workspace, file, browser, tab, text, etc.) I do with mostly or exclusively the home row. I could elaborate on plugins or bindings for any one of those if they are of interest. To me, keyboard friendly means support for exclusive keyboard use, modality (or at least letter bindings), multikey bindings, and the possibility for extensive remappings. Often commandline and tui programs best meet these requirements (though the terminal is something a lot of people stay away from).

The only gui programs I use often are gvim (all text; clipboard manager), apvlv (pdf viewer), pentadactyl/firefox (browsing), and mpv (video viewer). Emacs with evil is the other best option for keyboard text editing. For my terminal programs, I use vimus/mpd for music. Ranger is my file manager (and sometimes image viewer). For more *nixy things, bspwm is my window manager (I've built bindings into all my programs and use two home row keys as my window management prefix keys for bspwm and tmux). My shell is zsh (with vi readline bindings) and my pager is less. I use weechat (with my fork of vimode.py) for im (bitlbee) and irc chat. Mutt is my mail client, but right now I use gmail in browser more often. I use sxhkd for arbitrary hotkeys (such as better volume and brightness adjustment key combos and hotkeys for screenshots, opening programs, etc.). All of these programs support modality, extensive customizability, and multikey bindings (as well as bindings to scripts/shell commands). I use xmodmap for rebindings (I.e. wide mod colemak, layers, and for remapping my thumb keys on my japanese keyboard).

I could also give some recommendations for Windows if that's what you're using. For example, ahk is infinitely useful. Teledactyl/muttator are interesting plugins for thunderbird. For chromium browsers, there's vimium and bookmarx (which is a nice way to quickly bookmark with just the keyboard). Launchy is a good program launcher (among other things). There are some nice tilers, if that is of interest, though I generally just use cygwin for most everything when on windows.

I'll also add my support for tmk firmware (I've never used it, but it does quite a few nice things, like a lot of layers, dual role possibilities even with layer switching keys, and macros).
QWERTY(104wpm) -> CarpalxQ(modded) -> Colemak(118wpm) -> Colemak-DH
Mouse less.

Offline wolfv

  • Thread Starter
  • Posts: 269
Re: Small keyboard with Navigation layer?
« Reply #14 on: Tue, 22 April 2014, 09:37:49 »
Thanks angelic_sedition.  That gives me a good overview of the learning curve.
I am using Windows 7 and plan to switch to Linux next year when I finish my CAD project.
I currently use Vim, next I will learn a browser with vi key bindings.
I don't want to invest any more than that until I settle into an operating system.

Offline angelic_sedition

  • Posts: 124
  • Location: Flatland
Re: Small keyboard with Navigation layer?
« Reply #15 on: Tue, 22 April 2014, 15:34:40 »
Thanks angelic_sedition.  That gives me a good overview of the learning curve.
I am using Windows 7 and plan to switch to Linux next year when I finish my CAD project.
I currently use Vim, next I will learn a browser with vi key bindings.
I don't want to invest any more than that until I settle into an operating system.

That's probably a good idea. I switched to linux six months ago. The learning curve is pretty steep for an all keyboard workflow; though just using a few more vim like programs is much easier, especially if you already know vim.  If you're not already using them, two plugins I would highly recommend for vim are sneak (text navigation) and unite (file navigation and other).

For browsing, I would recommend pentadactyl because nothing else really compares in my experience. Actual browsers like dwb, luakit, etc. often don't have as many features or a wealth of addons like firefox (but are okay options if you don't need these features). Vimium and other chrome plugins only cover very basic actions and don't work universally (such as on new tab pages). Pentadactyl has a lot more useful default bindings, a command line and supports autocommands, use of an actual config file, saving files through hints and without a gui popup, completion, bookmark and quickmark adding, much better tab navigation, bindings to scripts, abbreviations, customizable pretty much everything (including look, hintkeys, etc.), as well as some good plugins. None of this may be particularly useful at first, but just between using visual to mode to highlight and yank web text and using <c-i> or pterosaur to actually use vim for text boxes makes it a lot more useful than something like vimium.
QWERTY(104wpm) -> CarpalxQ(modded) -> Colemak(118wpm) -> Colemak-DH
Mouse less.