One Shotting Loveness

one shotting - noun, the action of using a one shot modifier on your kbm01

I believe the kb.io community just added a new word to the lexicon. Shotting as opposed to shooting. One shooting just sounds off.

Anyway, its the best. I might be one of the few non devs here so I’d like to thank algernon - Gergely Nagy and james.nvc for posting up examples of their config files so I can reference them. With solid examples, I can muddle my way through (almost) anything and break (al)most everything. Although, I may have to ask james.nvc how he switches between layers.

I’m not a huge fan of liking “things” but I have to admit, I like my M01 as much as my as I like my Ducati.

5 Likes

Same! OneShot shift makes it so I only need one shift key too which frees up some primo real estate on the thumbkeys. The only mod I’m not using OSM for is alt which I think I’ll keep mis-hitting as space or mischording for Alfredapp.

1 Like

:heart::heart::heart:

I…may ask for permission to use that quote in marketing materials at some point.

2 Likes

I use one-shots on the palm keys - in my Dvorak layout, you can see the OSL(_NAV) and OSL(_NUMPAD) - those are one-shot layers, acting like one-shot modifiers, but for layers.

To switch to QWERTY (which is just for letting people test-drive the keyboard, so I don’t care about it being easy to hit), I use the MagicCombo plugin to make holding down both palm keys plus the “QWER” and “UIOP” keys switch between Dvorak and QWERTY.

Right, OSM and OSL, I did manage to figure out. Let me see if I properly understand MagicCombo.

void toggleQwerty() {
  if (Layer.isOn(_QWERTY)) {
    Layer.defaultLayer(_DVORAK);
  } else {
    Layer.defaultLayer(_QWERTY);
  }
}

const kaleidoscope::MagicCombo::combo_t magic_combos[] PROGMEM = {
  // both palm keys + Q W E R I U O P (i.e. top four keys of both
  // hands) to switch to qwerty
  [MC_QWERTY] = {
    R3C6 | R1C1  | R1C2  | R1C3  | R1C4,
    R3C9 | R1C11 | R1C12 | R1C13 | R1C14
  },

After reading and rereading, I understand, thanks.

So if I changed your sequence to use right fn + escape + 1 would it look like this?

const kaleidoscope::MagicCombo::combo_t magic_combos[] PROGMEM = {
  // both palm keys + Q W E R I U O P (i.e. top four keys of both
  // hands) to switch to qwerty
  [MC_QWERTY] = {
    R3C9 | R2C6  | R0C1
  },

Thanks in advance.

1 Like

I think you’d have to include a mask for the right hand as well - 0, I suppose? - but that looks right.

For people (like me) that are confused by the RC notation, there’s a diagram at the bottom of the docs here

It might have been suggested already, but how about making OneShot keys glow when active. To provide visual feedback. I’ve been having some difficulty with OneShot keys when I think I’ve activated a OneShot key, when in fact I haven’t (due to me not pressing the key properly or pressing it twice absent mindedly and thus canceling the OneShot effect).

LED-ActiveModColor does just that. :slight_smile:

6 Likes

That’s awesome! Thank you.

1 Like