# DualUse with shifted brackets?

**URL:** <https://community.keyboard.io/t/dualuse-with-shifted-brackets/590>\
**Category:** Help and Getting Started\
**Created:** [October 29, 2017, 4:16am UTC](https://community.keyboard.io/t/dualuse-with-shifted-brackets/590 "2017-10-29T04:16:14Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![tjkirch](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/tjkirch/32/589_2.png) [@tjkirch](https://community.keyboard.io/u/tjkirch)\
**Post date:** [October 29, 2017, 4:16am UTC](https://community.keyboard.io/t/dualuse-with-shifted-brackets/590/1 "2017-10-29T04:16:14Z")

</div>

I’m just getting my Model 01 flashed with a comfy layout, but I ran into one issue with the awesome DualUse plugin. The shifted bracket keys just output their unshifted versions.

What works: Most tapped keys, like Escape and LeftBracket/RightBracket  
Examples: CTL\_T(LeftBracket), MT(RightControl, RightBracket)

What doesn’t work: LeftCurlyBracket or RightCurlyBracket - it only outputs a [or]  
Examples: ALT\_T(LeftCurlyBracket), MT(RightAlt, RightCurlyBracket)

Now, LeftCurlyBracket and RightCurlyBracket work fine when they’re on their own keys. They’re in the default Model 01 layout, after all. It’s just with DualUse that they seem to revert to their unshifted selves.

Has anyone else run into this? Is there a fix, or another way to accomplish it? Thanks!

---

<div class="post-metadata">

**Author:** ![Kipples](https://avatars.discourse-cdn.com/v4/letter/k/848f3c/32.png) [@Kipples](https://community.keyboard.io/u/Kipples)\
**Post date:** [October 29, 2017, 4:30am UTC](https://community.keyboard.io/t/dualuse-with-shifted-brackets/590/2 "2017-10-29T04:30:55Z")

</div>

Might be a bug in dual use this issue might be related.

> <https://github.com/keyboardio/Kaleidoscope-DualUse/issues/6>
>
> I have a CMD\_T(Tab) key, but when holding shift and tapping that key, I don't get the same result as holding...

you could try the [https://github.com/keyboardio/Kaleidoscope-SpaceCadet](https://github.com/keyboardio/Kaleidoscope-SpaceCadet) plugin instead

---

<div class="post-metadata">

**Author:** ![john](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/john/32/72_2.png) [@john](https://community.keyboard.io/u/john)\
**Post date:** [October 29, 2017, 4:53am UTC](https://community.keyboard.io/t/dualuse-with-shifted-brackets/590/3 "2017-10-29T04:53:48Z")

</div>

Is this maybe related to the warning in the DualUse `README` about not being able to use it with shifted keys? Curly brackets would be shifted, I think.

I’ll second the suggestion of the SpaceCadet plugin – I’ve used it to put {, [, ( and ),], } on the tapped version of the inner three arc keys on both sides, respectively. Haven’t had a chance to really get used to it yet, but I expect it’ll work out quite nicely.

---

<div class="post-metadata">

**Author:** ![tjkirch](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/tjkirch/32/589_2.png) [@tjkirch](https://community.keyboard.io/u/tjkirch)\
**Post date:** [October 29, 2017, 5:17am UTC](https://community.keyboard.io/t/dualuse-with-shifted-brackets/590/4 "2017-10-29T05:17:51Z")

</div>

I must have missed that warning! I don’t see it in the README at [https://github.com/keyboardio/Kaleidoscope-DualUse](https://github.com/keyboardio/Kaleidoscope-DualUse) – is there somewhere else?

Thanks for the SpaceCadet suggestions – that’s working for me. I prefer the DualUse mechanism, so I hope I can figure that out, but it’s not a big deal. 🙂

---

<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:** [October 29, 2017, 6:07am UTC](https://community.keyboard.io/t/dualuse-with-shifted-brackets/590/5 "2017-10-29T06:07:26Z")

</div>

> [@tjkirch](#):
>
> Now, LeftCurlyBracket and RightCurlyBracket work fine when they’re on their own keys. They’re in the default Model 01 layout, after all. It’s just with DualUse that they seem to revert to their unshifted selves.

@Kipples was referring to [this](https://github.com/keyboardio/Kaleidoscope-DualUse#sft_tkey) part of the README, the last sentence of the paragraph. Should be made more evident, I guess.

The reason for this limitation is that we have a finite amount of bits to store what the DualUse key does, and we already use 8 bits (out of the 16 we have) to store the key part. `LeftCurlyBracket` is already a shifted key, and uses more than 8 bits for description. Combined with `DualUse`, we drop some of those bits, which results in the plugin only storing the 8 that correspond to the unshifted char.

A possible solution is to use `SpaceCadet` - you can get very similar behaviour with that too, and its interface allows for this kind of thing too.

---

<div class="post-metadata">

**Author:** ![tjkirch](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/tjkirch/32/589_2.png) [@tjkirch](https://community.keyboard.io/u/tjkirch)\
**Post date:** [October 29, 2017, 11:47pm UTC](https://community.keyboard.io/t/dualuse-with-shifted-brackets/590/6 "2017-10-29T23:47:47Z")

</div>

Unfortunately, and confusingly, SpaceCadet worked for the shifted keys in Linux but not in Windows 7. In Windows, the LeftBracket/RightBracket keys are fine, but LeftCurlyBracket and RightCurlyBracket just make the computer beep and no input is recognized. When held down, the modifiers work fine, so it’s just the taps that are broken.

I also found that my Escape mapping doesn’t work – but this time, it’s because it outputs the modifier _and_ the tap key. I use a GUI/Escape mapping, which means every time I want Escape I also get the Windows menu popping up. ☹
