# One Shotting Loveness

**URL:** <https://community.keyboard.io/t/one-shotting-loveness/596>\
**Category:** Programming\
**Created:** [October 29, 2017, 6:31pm UTC](https://community.keyboard.io/t/one-shotting-loveness/596 "2017-10-29T18:31:15Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![fishheadsoup](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/fishheadsoup/32/161_2.png) [@fishheadsoup](https://community.keyboard.io/u/fishheadsoup)\
**Post date:** [October 29, 2017, 6:31pm UTC](https://community.keyboard.io/t/one-shotting-loveness/596/1 "2017-10-29T18:31:16Z")

</div>

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

I believe the [kb.io](http://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.

---

<div class="post-metadata">

**Author:** ![arley](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/arley/32/56_2.png) [@arley](https://community.keyboard.io/u/arley)\
**Post date:** [October 29, 2017, 6:42pm UTC](https://community.keyboard.io/t/one-shotting-loveness/596/2 "2017-10-29T18:42:05Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![jesse](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/jesse/32/361_2.png) [@jesse](https://community.keyboard.io/u/jesse)\
**Post date:** [October 29, 2017, 7:52pm UTC](https://community.keyboard.io/t/one-shotting-loveness/596/3 "2017-10-29T19:52:38Z")

</div>

> [@fishheadsoup](#):
>
> 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.

❤❤❤

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

---

<div class="post-metadata">

**Author:** ![james.nvc](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/james.nvc/32/54_2.png) [@james.nvc](https://community.keyboard.io/u/james.nvc)\
**Post date:** [October 29, 2017, 8:32pm UTC](https://community.keyboard.io/t/one-shotting-loveness/596/4 "2017-10-29T20:32:38Z")

</div>

> [@fishheadsoup](#):
>
> Although, I may have to ask james.nvc how he switches between layers

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](https://bitbucket.org/jamesnvc/keyboardiolayout/src/7c83f2575e88e22b5776688fa6ca3d7b6846dc76/james_layout.ino?at=master&fileviewer=file-view-default#james_layout.ino-181) to make holding down both palm keys plus the “QWER” and “UIOP” keys switch between Dvorak and QWERTY.

---

<div class="post-metadata">

**Author:** ![fishheadsoup](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/fishheadsoup/32/161_2.png) [@fishheadsoup](https://community.keyboard.io/u/fishheadsoup)\
**Post date:** [October 29, 2017, 9:31pm UTC](https://community.keyboard.io/t/one-shotting-loveness/596/5 "2017-10-29T21:31:52Z")

</div>

> [@james.nvc](#):
>
> 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.

```auto
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?

```auto
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.

---

<div class="post-metadata">

**Author:** ![james.nvc](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/james.nvc/32/54_2.png) [@james.nvc](https://community.keyboard.io/u/james.nvc)\
**Post date:** [October 29, 2017, 10:10pm UTC](https://community.keyboard.io/t/one-shotting-loveness/596/6 "2017-10-29T22:10:06Z")

</div>

> [@fishheadsoup](#):
>
> So if I changed your sequence to use right fn + escape + 1 would it look like this?

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](https://github.com/keyboardio/Kaleidoscope-MagicCombo/blob/master/README.md)

---

<div class="post-metadata">

**Author:** ![rumpel](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/rumpel/32/626_2.png) [@rumpel](https://community.keyboard.io/u/rumpel)\
**Post date:** [November 4, 2017, 5:35pm UTC](https://community.keyboard.io/t/one-shotting-loveness/596/7 "2017-11-04T17:35:34Z")

</div>

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).

---

<div class="post-metadata">

**Author:** ![algernon](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/algernon/32/4404_2.png) [@algernon](https://community.keyboard.io/u/algernon)\
**Post date:** [November 4, 2017, 5:39pm UTC](https://community.keyboard.io/t/one-shotting-loveness/596/8 "2017-11-04T17:39:55Z")

</div>

> [@rumpel](#):
>
> It might have been suggested already, but how about making OneShot keys glow when active. To provide visual feedback.

[LED-ActiveModColor](https://github.com/keyboardio/Kaleidoscope-LED-ActiveModColor) does just that. 🙂

---

<div class="post-metadata">

**Author:** ![rumpel](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/rumpel/32/626_2.png) [@rumpel](https://community.keyboard.io/u/rumpel)\
**Post date:** [November 4, 2017, 5:50pm UTC](https://community.keyboard.io/t/one-shotting-loveness/596/9 "2017-11-04T17:50:17Z")

</div>

That’s awesome! Thank you.
