Fork me on GitHub
#off-topic
<
2022-07-30
>
teodorlu08:07:34

What keys have you bound the functions to?

Martynas Maciulevičius09:07:36

If it's a ZMK keyboard this can be anything. Maybe first let's see the picture of your keyboard. Is it even standard one?

lilactown17:07:11

this is the board I'm trying it on currently

lilactown17:07:17

I have a "symbol" layer that I activate by holding one of the right thumb keys. kind of like shift but it changes what all the keys do to be symbols

teodorlu17:07:26

Wow, that looks nice. Is it buy-able, or do you have to make one yourself?

lilactown17:07:27

on the symbol layer, if I press with my index the top two lavender keys at the same time it will type (defn []) and move my cursor to type the function name 😄

lilactown17:07:03

the keyboard is called the "Zaphod," it's a DIY kit. you can get one here https://mkultra.click/zaphod-wireless-ble-34-key-lopro-kit/

❤️ 1
lilactown17:07:30

they also have a very nice plate for the bottom that I use. the keycaps are hand made by https://www.asymplex.xyz

Martynas Maciulevičius17:07:53

Assuming that the board is QWERTY, how do you map { and [ (and pairs) to it? It has only five keys of width and if you place your pointing finger onto second column then you don't have multiple keys that are important. For instance not only {}[] but also Enter and Backspace :thinking_face: Is it key-combo-heavy then? This is why I stayed away from happy hacking keyboard or very small layouts and I have a tkl one right now. I basically use all of the keys (even F1-F12 ones (I use these to switch to workspaces))....

lilactown17:07:16

I have many layers

lilactown17:07:59

each layer is bound to a thumb key. left outer thumb is "navigation", right outer thumb is "symbols". both of those combined is numbers and other misc

Martynas Maciulevičius18:07:52

Is it better this way (e.g. for coding) or do you want your [ and { back? Does it prevent fatigue?

sheluchin19:07:46

I've got a highly customized Ergodox layout with a layer for accessing all the non-alphanumeric characters like {}()[]. I hold h to access it and then it puts all of those handy characters as close as possible to my left index and middle fingers. Then there's a different layer when holding n, which takes me to the next/previous of those same characters (in vim). Would recommend. The idea of putting a symbols layer in there somewhere is something I've been thinking about too, but haven't really tried yet. I'm just doing the mental gymnastics guessing at whether the additional cognitive load of recalling another layer is a good tradeoff for typing a few characters.

lilactown21:07:17

it's a little annoying to have the symbols on another layer, but it means that I can have less keys. I'm kind of obsessed with having less keys. It does reduce finger & hand movement but I can't say it's actually better for ergonomics. I just think it's fun

lilactown21:07:35

@UPWHQK562 that pic looks similar to my symbols layer tbh, except I have left paren/bracket/curly on my left hand and right paren/bracket/curly on my right hand

sheluchin21:07:09

My layout philosophy is to try and concentrate as much as possible around the home row. I have a few different layers that are activated by holding different keys near the home row, and they usually activate something on the opposite hand, also around the home row. Like, holding e activates my num layer, turning the right hand into a numpad. Holding g turns hjkl into vim-like navigation arrows. asfd is meta, alt, control, shift, so word-wise text navigation is all on the home row too. Lately I'm trying to think of how to set up some keys to tie in with LSP refactoring commands, which I guess is similar to what you're doing with the defn symbol.. if you use LSP the snippets functionality might be helpful to you. I'd love to see some Clojure-centric layouts. I think there's some untapped potential around a custom keyboard layout designed around LSP, Parinfer, and the REPL.

sheluchin21:07:31

And yes, it is just fun 😛

lilactown00:07:22

I used home row mods and other mod-tap behaviors for a bit, and decided I hated the latency it introduced. Now I use one shot mods (“sticky keys” in ZMK) on the home row on layers, which solved that for me

lilactown00:07:30

I tried one shot layers and didn't like it. Gonna try using thumb chords to add two more layers. I might do those one shot since holding down two thumb keys with one thumb, even with nice key caps for it, kinda sucks

Martynas Maciulevičius03:07:26

How does it work to have g key for accessing a different layer? When I do KEYDOWN in a text field it types the letter immediately and when I do KEYUP then it does nothing. So did you make your KEYUP type the key? How do you prevent g from typing the letter when you access the layer? It sounds weird if you send the key signal from keyboard on KEYUP :thinking_face: Or even worse -- lag the key input :thinking_face: Also have you ever tried vim? They have these multi-letter commands which somewhat neuter the need of multiple layers.

Martynas Maciulevičius07:07:04

For me I think I don't want to go less than tkl layout. Leopold fc980m is somewhat appealing but Home key is quite far away (scrolling to the top of webpage but I do it with extension already so it's not that useful (also I tried to press Ctrl+End to go to the end of this text so... I use those keys...)). What I wanted to do with my durgod keyboard was to use the Fn key to map PrtSc and all these nine keys to numbers. But their layouting engine doesn't support to map two actions to one key (I didn't flash to QMK tho). Do you have any kind of vim mode in browser text fields? I found that I could have nvim server to pick up those fields via an extension but I don't yet know if this is a good idea security-wise :thinking_face: Actually what would be great is to have some kind of basic vim functionality compiled into JS and then run as an extension to allow vim-modes in the inputs :thinking_face:

sheluchin14:07:12

@U028ART884X g works because you can set different actions for hold, tap, double tap, tap and hold. So I have my hold g mapped to switch layers, while tapping g is just a normal keystroke. You can fine tune how long you have to hold the key for to register as a hold vs. tap, and at 175ms I don't really notice latency. Yes, I do use vim. I have my layout set up to compliment vim rather than replace it. Like allowing g to turn hjkl into arrow keys allows me to use the vim bindings outside of vim, but also to use those same keys to navigate text while in insert mode, instead of reaching for arrow keys. I don't use vim mode in browser text fields. I had that a few years ago and it didn't work well enough - I found it annoying. Maybe the options are better now... not sure. I do use Vimium to give me some vim mappings in the browser for navigation though.

Martynas Maciulevičius15:07:05

I do use Vimium too but I didn't try the inputs. Vimium is janky sometimes as well (for instance it doesn't work if tab is not loaded) but it's pretty good.

Oliver George22:07:32

I like this for the behind the scenes peak Shows momentum without relying on constantly shipping features Also something pleasing about seeing problem statements about things I’ve been uncomfortable with (losing state when bits of the screen are not being rendered) https://reactjs.org/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.html