the-via / app

GNU General Public License v3.0
843 stars 189 forks source link

Add support for tap-hold configuration #229

Open olekgierczak opened 8 months ago

olekgierczak commented 8 months ago

I love the tool but have found that the default tap-hold settings for ModTaps don't work well. QMK provides configuration options for these: https://docs.qmk.fm/#/tap_hold

It would be great if we could have VIA support for

  1. keys to temporarily change tap timing: DT_UP and DT_DOWN, as well as the key to print the current value DT_PRNT. Would require adding DYNAMIC_TAPPING_TERM_ENABLE = yes in rules.mk
  2. a setting for tap timing: #define TAPPING_TERM {value} in config.h
  3. a setting for tap mode: #define PERMISSIVE_HOLD or #define HOLD_ON_OTHER_KEY_PRESS in config.h

I tried poking around to see how to add this myself, but got lost trying to find where configurations happen, so to start if someone could tell me if you can, and if so how to create the effect of setting these configurations in rules.mk and config.h, I could probably go from there.

Also, this is probably an extension of #181.

Tyler-Hoyt commented 7 months ago

This would be great, the delay is pretty bad

olekgierczak commented 7 months ago

I have a temporary workaround that lets you change this and use via to update some keybindings, but it requires reflashing the keyboard to make permanent changes to the tap-hold delay. This doesn't get the DT_UP, etc keys working, but if you add the corresponding line to rules.mk and poke around in the via repo, you may be able to get them working too.

  1. Get qmk setup on your computer for compiling and flashing (the wiki has a good tutorial on this).
  2. In the qmk directory, go to keyboards/keebio/iris/keymaps, and add a folder called whatever you want (i called mine "{keyboard}-tap")
  3. copy the contents of the "via" folder into your new folder.
  4. Either add the following lines to your config.h file, or make one with this line if there's none:
    #define TAPPING_TERM 150

    Here you can also add whatever tap mode you want, check the qmk docs for those.

  5. Compile and flash your keyboard with this firmware and keymap.
  6. Use via as normal

This is obviously pretty annoying though, and I have no idea how to add this to via. This might be my queue to just use vial, since it seems developers are more responsive and the customization options seem better, even if the ui is a little more heavyweight.

Tyler-Hoyt commented 7 months ago

I have been taking a look at just flashing my keyboard with a QMK layout and using vial because you get options to tapping term and everything else through the GUI. I just want to turn on permissive hold lol. Thank you for the response!