# OneShot Shift stopped working with Ctrl+Arrow

**URL:** <https://community.keyboard.io/t/oneshot-shift-stopped-working-with-ctrl-arrow/1913>\
**Category:** Help and Getting Started\
**Created:** [August 13, 2018, 1:02pm UTC](https://community.keyboard.io/t/oneshot-shift-stopped-working-with-ctrl-arrow/1913 "2018-08-13T13:02:30Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![jamadagni](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/jamadagni/32/2030_2.png) [@jamadagni](https://community.keyboard.io/u/jamadagni)\
**Post date:** [August 13, 2018, 1:02pm UTC](https://community.keyboard.io/t/oneshot-shift-stopped-working-with-ctrl-arrow/1913/1 "2018-08-13T13:02:30Z")

</div>

Just half an hour back I recursively pulled all the latest updates to my local `avr/libraries` and seem to have noticed some changes to some keyboard HID library or such (unfortunately I don’t recall exactly and that console app has since been closed so the screen output isn’t available now).

Not sure which library is the culprit but **OSM(Shift)** has stopped working in combination with my **Ctrl+Arrow** keys used for word left/right.

I am still able to do **OSM(Ctrl) + OSM(Shift) + Arrow**, to get the desired behaviour, but if I do **OSM(Shift) + Ctrl(Arrow)** (whether in sequence or holding the OneShot key down), only the **LCtrl(Arrow)** works and the **OSM(Shift)** is ignored so that I am unable to select word left/right this way.

If I replace **OSM(Shift)** on my keymap with plain **Shift** then it works fine with **Ctrl(Arrow)** as before.

The OneShot library hasn’t had any recent changes so it probably isn’t the culprit.

I hope this problem can be set right…

---

<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:** [August 13, 2018, 1:17pm UTC](https://community.keyboard.io/t/oneshot-shift-stopped-working-with-ctrl-arrow/1913/2 "2018-08-13T13:17:49Z")

</div>

It is likely the `Kaleidoscope-HIDAdaptor-KeyboardioHID` library ([see here](https://github.com/keyboardio/Kaleidoscope-HIDAdaptor-KeyboardioHID/pull/9#issuecomment-412474338)). For now, reverting that change should fix the issue.

Longer-term, I need to rework OneShot anyway, but I’m not sure when I’ll get around to do that.

---

<div class="post-metadata">

**Author:** ![jamadagni](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/jamadagni/32/2030_2.png) [@jamadagni](https://community.keyboard.io/u/jamadagni)\
**Post date:** [August 13, 2018, 1:53pm UTC](https://community.keyboard.io/t/oneshot-shift-stopped-working-with-ctrl-arrow/1913/3 "2018-08-13T13:53:09Z")

</div>

Are you saying that that library is on the way forward but it breaks the current OneShot implementation and it is actually OneShot which needs to be updated?

---

<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:** [August 13, 2018, 1:58pm UTC](https://community.keyboard.io/t/oneshot-shift-stopped-working-with-ctrl-arrow/1913/4 "2018-08-13T13:58:13Z")

</div>

I’m saying it is likely the plugin that breaks OneShot, something we did not realize prior to merging the patch. I do not yet know what the correct way to fix the issue is.

There are plenty of other issues with OneShot, which would warrant a major rework. If we can fix this one at the same time, so much the better. But like I sad, at this time, all I have is a suspicion.

---

<div class="post-metadata">

**Author:** ![jamadagni](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/jamadagni/32/2030_2.png) [@jamadagni](https://community.keyboard.io/u/jamadagni)\
**Post date:** [August 13, 2018, 2:07pm UTC](https://community.keyboard.io/t/oneshot-shift-stopped-working-with-ctrl-arrow/1913/5 "2018-08-13T14:07:40Z")

</div>

Now the only reason I pulled the latest libs in full was that at some point in my work, trying to compile got me the following errors:

```auto
BOARD_HARDWARE_PATH="/home/samjnaa/bn/kbdio//hardware" /home/samjnaa/bn/kbdio//hardware/keyboardio/avr/libraries/Kaleidoscope/bin//kaleidoscope-builder flash
Building output/Model01-Firmware/Model01-Firmware (0.0.0-gv1.22-52-gc1d9-dirty) ...
/tmp/tmp.AJ2UgXhdsi/libraries/Kaleidoscope-NumPad/Kaleidoscope-NumPad.a(Kaleidoscope-NumPad.cpp.o): In function `syncNumlock(bool)':
/home/samjnaa/bn/kbdio/mine/Kaleidoscope-NumPad/src/Kaleidoscope-NumPad.cpp:28: undefined reference to `kaleidoscope::hid::pressKey(kaleidoscope::Key, bool)'
/tmp/tmp.AJ2UgXhdsi/libraries/Kaleidoscope/Kaleidoscope.a(key_events.cpp.o): In function `handleKeyswitchEventDefault':
/home/samjnaa/bn/kbdio/mine/Kaleidoscope/src/key_events.cpp:39: undefined reference to `kaleidoscope::hid::pressKey(kaleidoscope::Key, bool)'
collect2: error: ld returned 1 exit status

```

I am not sure what sequence of events led to this.

Any idea on what to do to fix this?

---

<div class="post-metadata">

**Author:** ![jamadagni](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/jamadagni/32/2030_2.png) [@jamadagni](https://community.keyboard.io/u/jamadagni)\
**Post date:** [August 13, 2018, 2:11pm UTC](https://community.keyboard.io/t/oneshot-shift-stopped-working-with-ctrl-arrow/1913/6 "2018-08-13T14:11:20Z")

</div>

Hmm I had to revert the corresponding changes not only in **Kaleidoscope-HIDAdaptor-KeyboardioHID** but also in **Kaleidoscope** itself and now it’s compiling…

---

<div class="post-metadata">

**Author:** ![jamadagni](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/jamadagni/32/2030_2.png) [@jamadagni](https://community.keyboard.io/u/jamadagni)\
**Post date:** [August 13, 2018, 2:13pm UTC](https://community.keyboard.io/t/oneshot-shift-stopped-working-with-ctrl-arrow/1913/7 "2018-08-13T14:13:33Z")

</div>

… not only compiling but OneShot keys work as before, so it is indeed the culprit…
