Shifting and TapDance`


(Tré Ammatuna) #1

I’ve got a brackets key setup mostly the same way as @algernon and only have one issue. I also have my shift key as a OneShot so the action I would like is to tap that, then the bracket key when I want a curly bracket. However, I always have to hold my shift key until it actually puts the curly bracket on my screen, which has the delay as TapDance is seeing if I’m going to press it again. I would also like shift to work on the multiple press hits on the parens key as well, but having to hold it down and wait is really annoying. I haven’t been able to solve this yet and looking for help.

Link to my ino file: https://github.com/TreTuna/Model01-Firmware/blob/ef338a225868f1cb4e5bf9505ead6a89f69a2834/Model01-Firmware.ino#L623

void tapDanceAction(uint8_t tap_dance_index, byte row, byte col, uint8_t tap_count,
                    kaleidoscope::TapDance::ActionType tap_dance_action) {
  switch (tap_dance_index) {
    case 0: {
      return tapDanceActionKeys(tap_count, tap_dance_action,
                                Key_LeftBracket,
                                Key_LeftParen
      );
    }
    case 1: {
      return tapDanceActionKeys(tap_count, tap_dance_action,
                                Key_RightBracket,
                                Key_RightParen
      );
    }
  }
}

(Gergely Nagy) #2

I think this is currently a bug in TapDance, there’s a bit of a weird interaction between that and OneShot, which I need to revisit Very Soon.

I have my hands full with other things at the moment, but I plan to spend the next Friday + Saturday pair on ironing out existing issues, such as this one. Can’t promise anything yet at this time, I’m afraid.


(Tré Ammatuna) #3

Thanks for letting me know. I had thought of a different implementation for the brackets key that would work around this (single tap for straight bracket, double tap for curly bracket, and move parens to fn+tap) so I guess I’ll implement that until this issue gets settled.