Since putting together my ErgoMax a month back, I found myself feeling increasingly less keen to get back to productive stuff, which in my case is programming.

Yesterday I had a moment of clarity on the irritation that I couldn’t previously quite put my finger on — it was the steady hassle of having to fiddle with layer shifting and other mod keys such as shift or command, to type in even just a few lines of code.

How do all the programmers deal with having to constantly key in “, [] and {}, sometimes with cmd, ctrl etc keys held down, on boards without dedicated keys for them?

    • R4_Unit@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      This is a nice clean layout! I appreciate that it isn’t trying to be tricky, but just lay everything out simply. The only part I’m not really getting is the equals sign relative to things like plus and times? Seems like typing equations, and things like += or *= kinda awkward? Beautiful all the same.

  • luckybipedal@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    On my 34-40 key layouts I put all the symbols typically used together in programming on the same layer, including symbols that usually require Shift, along with all the numbers. This makes it comfortable to type whole formulas without leaving the symbol layer and without needing Shift. Important bigrams that I can type without switching layers in the middle include <= >= != += -= *= /= %= &= |= -> /* */ => := :) ;) . I also optimize the layer so that none of these are same-finger bigrams. Because = appears in so many bigrams, I found it convenient to map it on a thumb key.

    I make sure all the mods are comfortable to use and in the same place on all my layers, either as bottom row mod-taps or on opposite side thumb keys or worst case as a oneshot mod. I don’t need Shift on my symbol layer, so one less mod to worry about.

    Probably my favourite feature for a programming key map is _ on a base layer thumb key. That makes typing snake_case_names a breeze.

    • roux is a lib@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      I do something similar with bigrams but on my left half. I have “other syntax” on my right side Most if it is inward or outward finger rolls to. So for example, != is like typing “at” on Colemak but on my symbol layer. (); is rolling “nei” and so on. I based it off of Mental_Gymnastic’s write- up I found from reddit.

      Link: https://getreuer.info/posts/keyboards/symbol-layer/index.html

      It’s worth a read because this dude has a ton of good ideas.

  • will@midwest.social
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    I use a 30% split keyboard as my daily driver for work as a software developer. I use a keymapping where holding the F key down turns the right side into a numpad plus some of the other punctuation, and holding D down gives me the shifted versions of all that. So I have to chord to get the esoteric symbols but I don’t have to actually move my left hand from home row to chord. I don’t think this is a very common way of doing things though. I’m not sure it’s any better than using a bigger keyboard, but I’m used to it now.

    • curioushom
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Yeah, I do the same with my thumb keys, they shift the layer so the symbols/numbers are all one handed typing operation. I use homerow mods so there’s even less finger shifting but that also means I don’t use the homerow for layers. It’s definitely a learning curve, especially since my keycaps don’t have a legend but you get used to it pretty quickly. I need to return to a right side being numpad, I got clever with F keys but I only use 4 F keys, I should just optimize for those, it doesn’t need to be a “sensible” layout for anyone else.

  • redchlorophyll@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    Many people are forgetting the simplest answer here. Just use a full size keyboard. They are abundant and cheap. They come with ALL THE KEYS and don’t make you layer shift in order to efficiently achieve what you need to do.

  • BigWuk@pathfinder.social
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    I’m a developer and I use a (slightly modified) miryoku layout for my daily driver. I know not everyone loves the home-row mods, but I really like how I can use the layer keys on one hand to get all the symbols on the other. I have to move my hands waaay less than I did with a full size.

  • heron@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    You should be able to cmd down > layer shift > symbol > layer release > cmd up. It sounds like a lot, but I don’t need to do anything like that very often.

  • d3zd3z
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    I ended up with pretty much my own entire layout. For the most part, I don’t use layers, but instead use pairs of keys for symbols, numbers, etc. I also kept things largely where they are on a traditional keyboard, so that I’m not fighting against several decades of muscle memory.

    The main issue with what I’ve done is that I’m kind of pushing past the limits of combining features with QMK. I use pairs of keys as modifiers (my left shift is ‘E’+‘D’ for example), this key pressed is also ‘3’. If I roll on numbers, I end up with stuck modifiers. I’ve gotten fairly used to it, but it still hits me from time to time.

    I do use a layer for things like cursor keys, though.