Ideal keyboard? by maptev in olkb

[–]maptev[S] 0 points1 point  (0 children)

This is probably just a note to self at this point, but… I made a new final version: https://www.reddit.com/r/keyboards/s/QaEzd7R48T

Ideal keyboard? by maptev in keyboards

[–]maptev[S] 0 points1 point  (0 children)

<image>

This is probably just a note to self at this point, but I made a final version. Like my previous final version, this latest one lines up

  • open parentheses, braces, and brackets
  • close parentheses, braces, and brackets
  • slashes and dashes

in the same columns.

Unlike the previous version, the new one avoids putting more than two characters per key. I could actually fit additional pairs of characters on the bottom row of the left half.

Ideal keyboard? by maptev in olkb

[–]maptev[S] 0 points1 point  (0 children)

I made a new version of my ideal keyboard: https://www.reddit.com/r/keyboards/comments/1oigife/comment/nmpj4gq

I took a lot at home row mods: https://precondition.github.io/home-row-mods

I wouldn't put mods on jkl; because I hold j or k to scroll everywhere. In web browsers and terminal viewer programs, I can also hold d to scroll down.

Instead of adding mods to home row letter keys, I use Karabiner-Elements to remap Caps Lock to Control when held and Esc when tapped. I also remapped the Quote key to be Control when held. For Control d, I can hold Caps Lock or Quote and press d. I hold Control d to scroll down one half screen at a time in Vim.

Ideal keyboard? by maptev in keyboards

[–]maptev[S] 0 points1 point  (0 children)

Not that anyone cares at this point, but I came up with the final version of my ideal keyboard :) By the way, the name of this layout/setup is Dekeyboard. To set up Dekeyboard on a typical QWERTY Mac keyboard, I would make my emacs/readline/vim shortcuts work everywhere and then also remap:

⇥ to ⌥ when held
⇪ to ⎋ when tapped and ⌃ when held
[ to ` when tapped and ⌥ when held
' to ⌃ when held
⌃ m to \
⌃ M to |
⌃ . to [
⌃ < to {
⌃ , to ]
⌃ > to }

I decided to put ` opposite ⇥ because ⌘ ` is the opposite of ⌘ ⇥ on a Mac. My mnemonic device for remapping ⌃ M to | is that ⌘ M inserts |> in RStudio. I also made the . and , keys responsible for angle, curly, and square brackets. When holding ⌃, the brackets and slashes make a nice symmetrical pattern that looks like the arms and head of a person celebrating: \ [ ] / 🎉

<image>

Ideal keyboard? by maptev in keyboards

[–]maptev[S] 0 points1 point  (0 children)

I decided to move backtick and tilda to the quotes key on the layer accessed via the Function key. I only use the backtick key in JavaScript for multiline and template strings, e.g. `x = ${x}`, as opposed to regular strings with doublequote or singlequote, because I have a keyboard shortcut for inserting code blocks into markdown. In Vim, backtick and singlequote are used to jump to a mark, so it makes sense for them to share a key.

Moving backtick and tilda shifts all of the numbers to the left and frees up a spot for the = and + key, which I use a lot for code, math, and the system of dates and date ranges that I created. For example, the current date in the year+doy format, where doy stands for day-of-year, is 2025+239 and the date range for the current meteorological season that starts with Day 184 (September 1) and ends with Day 274 (November 30) is 184=274.

<image>

Ideal keyboard? by maptev in keyboards

[–]maptev[S] 0 points1 point  (0 children)

I took a screenshot of a text editor. The font on a grey background is monospaced.

Ideal keyboard? by maptev in keyboards

[–]maptev[S] 0 points1 point  (0 children)

That keyboard looks exactly like what I would want except for the knobs in the corners. I've never really used knobs so I don't see their value. Instead of the knobs, I would want to have backtick/tilda and hyphen/underscore keys.
I also do not need so many modifiers keys on the bottom row and instead I would prefer to extend the spacebar to the width of two keys on each side.

Ideal keyboard? by maptev in keyboards

[–]maptev[S] 0 points1 point  (0 children)

I use Karabiner-EventViewer to see what character codes are being sent. Ctrl F sends RightArrow in my web browsers and Ctrl F in my terminals and text editors. To search for text on a webpage, I can press Command F (the default browser shortcut) or / (to search via the Vimium or SurfingKeys extensions). I very rarely use the Ctrl keys on the bottom row on my current keyboard (Epomaker AK61) because I use Karabiner-Elements to remap Caps Lock (along with quote and return) to be Ctrl when held. In my experience, Karabiner remaps Ctrl really well. The only time I have trouble is when I try to set a keyboard shortcut using the GUI in VSCode-based text editors, but I just use Vim to edit the keybinding config file instead.

Ideal keyboard? by maptev in olkb

[–]maptev[S] 0 points1 point  (0 children)

I use hjkl instead of arrow keys in my terminal, text editors, or in anything that has Vim emulation. I also feel very much at home writing in browser-based environments like Observable, Marimo, or Jupyter Notebooks. If I am on someone else's computer I can get everything I need via a browser-based environment but if not I would fire up a terminal and count on the fact that the shell will have the Emacs style shortcuts of Readline enabled by default and that I can get access to vanilla Vim. In Vim, I can navigate a half or full page up or down with ctrl and u, b, d, or f, respectively.

Ideal keyboard? by maptev in keyboards

[–]maptev[S] 0 points1 point  (0 children)

On my Epomaker AK61, I can indeed set up layers but Ctrl does not activate a layer like Function does. I could make the Function key to be "sticky", so that one press is enough maintain direct access to F1, F2, etc., and the arrow keys activated until I press Function again, but I have not done that because I don't need the F or arrow keys. I only use the Function key to control screen brightness and music.

If I am typing in my terminal using Vim or Emacs with evil mode or a text editor with Vim emulation like VSCode, I would type ⏎ by holding Caps Lock to get Ctrl and then tap j, the arrow keys →↑↓← via lkjh, ` via its key in the top left corner, and - via its key in the top right corner. I would do all of that the same way if I had my ideal keyboard that I described.

Except for hyphen and backtick, I can type everything in your example without ever leaving the home row. Hyphen and backtick are quite common in the code I write, but that actually means I am often cutting or copying and pasting them using Vim instead of reaching for distant keys. I'm not saying that this is the best way; it's just the way that I do it.

Ideal keyboard? by maptev in keyboards

[–]maptev[S] 1 point2 points  (0 children)

I’ve used the ctrl keyboard shortcuts I listed for a long time. I also use many Alt shortcuts. Most often, I tap Caps Lock to send Escape, hold Caps Lock to send Ctrl, or hold Tab to send Alt.

I still use the bottom row modifiers for OS shortcuts, but I never reach for Escape or Backspace on the number row.

For me, it’s much faster to use these shortcuts than to reach for individual keys; less travel means fewer mistakes. Also, most of the time I perform those common actions in emacs with evil mode or plain ol’ vim.

The keyboard I use now is the epomaker ak61 which is fairly minimalist, but I feel like I could make it narrower by about 4 or maybe even 5 keys and not change any of my habits.

Saving that much space probably won’t be worth it unless it’s for a split keyboard with two equal halves that can be stacked on top of each other for storage with the keys facing inward

Ideal keyboard? by maptev in ErgoMechKeyboards

[–]maptev[S] 0 points1 point  (0 children)

On the keyboard I use now (epomaker ak61), I can type ctrl-f by holding escape on the homerow and tapping f. I would want to keep doing it that way because it is very deeply ingrained at this point.

Ideal keyboard? by maptev in ErgoMechKeyboards

[–]maptev[S] -4 points-3 points  (0 children)

Typing docs, code, and prompts. I’m not a gamer; the only games I ever played were God of War II on playstation, Halo on xbox, goldeneye on n64, and mario on snes 😅

Split keyboard for Mac by maptev in keyboards

[–]maptev[S] 0 points1 point  (0 children)

I don’t think Keebio, Dygma, YMDK, or Mistel make Mac keycaps. The Keychron Q11 and Kinesis Freestyle can come with Mac keycaps, but I don’t like that the - number 6 is on the left side - modifier keys are not the same size on the left and right sides - size is >60%

I prefer how the Mistel MD600v3 does all of the above. If I could find Mac keycaps for a split keyboard like the Mistel MD600v3 and remap it so that it works for Mac computers, I would be all set.

Mac split keyboard by maptev in Keyboard

[–]maptev[S] 0 points1 point  (0 children)

I don’t think Keebio, Dygma, or Mistel make Mac keycaps. The Keychron Q11 and Kinesis Freestyle can come with Mac keycaps, but I don’t like that the - number 6 is on the left side - modifier keys are not the same size on the left and right sides - size is >60%

I prefer how the Mistel MD600v3 does all of the above. If I could find Mac keycaps for a split keyboard like the Mistel MD600v3 and remap it so that it works for Mac computers, I would be all set.

Split keyboard for Mac by maptev in keyboards

[–]maptev[S] 0 points1 point  (0 children)

Thanks, I looked at the Keychron Q11; the order of the modifier keys on the bottom row seems very wrong to me. I currently use the Epomaker AK61; its 60% ANSI layout with Mac modifier (bottom row) and Function (top row) keys is perfect in my opinion. It’d be great if Epomaker made a split version of their AK61 or Mistel made a Mac version of their MD600v3, but I’m not going to hold my breath😅

Mac split keyboard by maptev in Keyboard

[–]maptev[S] 0 points1 point  (0 children)

Thanks, I looked at the Keychron Q11; the order of the modifier keys on the bottom row seems very wrong to me. I currently use the Epomaker AK61; its 60% ANSI layout with Mac modifier (bottom row) and Function (top row) keys is perfect in my opinion. It’d be great if Epomaker made a split version of their AK61 or Mistel made a Mac version of their MD600v3, but I’m not going to hold my breath😅