Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[S] Macro - Delay between keypress support #24

Closed
hineybush opened this issue Apr 27, 2020 · 35 comments
Closed

[S] Macro - Delay between keypress support #24

hineybush opened this issue Apr 27, 2020 · 35 comments

Comments

@hineybush
Copy link

A delay between keypresses is very useful when doing multi-key macros in programs. The currently supported macros do not have a delay between keypresses, leading to mis-typed keys or not "waiting" to be on the right menu before making a selection.

QMK supports a delay between keypresses using SS_DELAY(msecs) between presses. This is beyond the current scope because it's not a basic keycode, however it would be extremely useful to add this functionality.

@kbps1411
Copy link

This is a very important feature, I was shocked that VIA did not support keystroke delays, which prevented my keyboard from recording many common shortcuts.

@domoaligato
Copy link

I am also having issues with this.
Here is an example I can do with qmk that doesn't translate into via.
{SS_DOWN(KC_LGUI), SS_DELAY(2), KC_R, SS_DELAY(2), SS_UP(KC_LGUI), SS_DELAY(5), KC_C, SS_DELAY(2), KC_A, SS_DELAY(2), KC_L,SS_DELAY(2), KC_CSS_DELAY(2),KC_ENTER}

Hold Windows Key, Press R, Release Windows Key, type calc, press enter.
I get it. I could change the key to use KC_CALCULATOR, but this is my basic hello world style example.

@stpn
Copy link

stpn commented Oct 29, 2021

Is there any workound how to achieve that?

@jonthesquirrel
Copy link

I would also find this very useful

@HALLAMNET
Copy link

Just bought a RoMac macro pad to replace my old Logitech G19 gaming keyboard and loved the fact you could create Macros with 1ms delay. This is a feature that I would like to see Via introduce. As I am new to the keyboard building/Macro pad building scene, I am not too sure if any other software would be able to do this for the time being. As one of my macros has about 200 key presses, the delay is quite important to me.

@Musketeer-D
Copy link

Also try to find a solution to add key delay to my QMK keyboard using VIA.

@jmwtsn
Copy link

jmwtsn commented Jan 24, 2022

The only strictly-VIA workaround I have found is adding a few empty mod key presses. {KC_LSFT}{KC_LSFT}{KC_LSFT}{KC_LCTL}{KC_LCTL}{KC_LCTL} will buy a bit of time. Very inelegant, but it works.

@kyleknighted
Copy link

This is a very important feature - any advice from the devs if this is on the roadmap?

@sqpce
Copy link

sqpce commented Apr 14, 2022

this must be added

@MexlTuba
Copy link

Agreed, I hope this can be added soon, I just realized I was trying to implemenet qmk's "wait_ms(x)" thinking it worked, but nope, via really needs this.

@Cr8zyIvan
Copy link

Agreed. Delay/Wait function is an essential part of configurating Macros.

@M4rkoV2
Copy link

M4rkoV2 commented Jun 27, 2022

Amen to that. We need that delay!

@r4ph74
Copy link

r4ph74 commented Jul 20, 2022

Any progress? I Agree it is a really important feature in macro. especially when you want to pull up an App .

@wantMoreSleep
Copy link

Really need this feature.

@ninitoris
Copy link

I second this

@csharpe
Copy link

csharpe commented Jul 29, 2022

Yeah having no delay feature really impacts the feature set of VIA, and really is essential when dealing with complex macros or instances where the application needs time to accept the keystrokes provided by the macro. For example, with Windows 11 I find creating macros to launch programs using the search or start menu feature simply do not work without the "empty key modifier padding" approach from above. And it's quite a dodgy approach which honestly is likely prone to failure, but it does seem to "work".

@wilba
Copy link

wilba commented Jul 30, 2022

We should be able to get this into VIA V3. The changes to support this in QMK are minimal and can be included in the PR that I create after the current QMK breaking change.

@macmacy
Copy link

macmacy commented Dec 7, 2022

I just started using QMK/VIA keyboard and I needed this function to write my FIRST macro. Couldn't believe it's not there until I found this issue. I had "macro delay" feature in config software for cheap keyboard that costed half of my new QMK-enabled one. What a pity :(
Please, add this feature.

@Ahren-with-an-h
Copy link

This feature is desperately needed.

@wilba
Copy link

wilba commented Dec 10, 2022

VIA now has delays in macros, use like this: {KC_1}{1000}{KC_2}

It will require latest firmware, which can be downloaded from here: https://www.caniusevia.com/docs/download_firmware

@wilba wilba closed this as completed Dec 10, 2022
@domoaligato
Copy link

Is there a commit in qmk that corresponds to these new firmware files?

@wilba
Copy link

wilba commented Dec 10, 2022

Is there a commit in qmk that corresponds to these new firmware files?

The firmware files are built from QMK master.

If you're asking about when this change happened, it was merged to QMK master in the last round of breaking changes.

https://github.com/qmk/qmk_firmware/blob/master/docs/ChangeLog/20221126.md

@wilba wilba reopened this Dec 10, 2022
@wilba wilba closed this as completed Dec 10, 2022
@Iguana662
Copy link

What if my keyboad don't have in firmware list, it's a macro key name vcl6key and I have to inport a jason file every time i need to change something. Then do you know how can i have a delay because if i just use it as you said it report invalid error. Thank you for reading my question!!

@Iguana662
Copy link

@wilba

@filthyemo
Copy link

I've got the same question! I purchased an MP1 Macropad from Mecx Labs and the board isn't listed on the Via website for new firmwares. I was sent the board with the firmware preinstalled and it simply asks that I upload a JSON file. I've got the board working in VIA, but I can't get any delays to work at the moment. Via just says that the delay code is invalid.

@wilba
Copy link

wilba commented Dec 29, 2022

This feature requires the latest firmware, which can be downloaded from here: https://www.caniusevia.com/docs/download_firmware

If the keyboard you are using does not have firmware in the QMK repository, then it cannot be built and hosted on the VIA website, nor will the keyboard definition be in the VIA repository.

Contact the vendor or manufacturer of the keyboard and ask them to put the firmware source code into the QMK repository and also add the keyboard definition to the VIA repository.

@meleemike
Copy link

meleemike commented Jan 4, 2023

Hello, I've got a question hopefully @wilba can answer.

I am a new Keychron Q6 user using ANSI layout (version without the knob/encoder) and I really needed this feature so I was relieved when I found this thread with the feature already added in the latest firmware. I downloaded the latest firmware file for my keyboard (keychron_q6_ansi_via.bin) from https://www.caniusevia.com/docs/download_firmware and installed it no problem; the ability to add custom delay/s in my macros worked properly.

However, it would appear that after flashing the latest firmware the default key combination for factory resetting my keyboard (fn+J+Z for 4 seconds) no longer works/I have no idea what key combo will factory reset my keyboard should I need to do so.

Factory resetting via the aforementioned key combo is recommended by Keychron before flashing firmware - https://www.keychron.com/blogs/archived/how-to-factory-reset-or-flash-your-qmk-via-enabled-keychron-q6-keyboard

@wilba are you able to check if this feature was included in the latest firmware for the Q6 and, if so, what the key combo has been set to?

Thank you in advance.

@wilba
Copy link

wilba commented Jan 5, 2023

@meleemike I have no idea what Keychron puts in their firmware. Talk to Keychron.

@meleemike
Copy link

@wilba ah ok - thank you. I'm new to the VIA scene and I didn't realize keyboard manufactures pushed their own firmware to this link -https://www.caniusevia.com/docs/download_firmware

I was under the impression the firmware releases there were maintained/generated by the VIA team; my mistake I'll reach out to Keychron.

@wilba
Copy link

wilba commented Jan 5, 2023

@meleemike The VIA website hosts firmware built from source code in QMK's Github repository. The VIA team does not maintain the firmware source code - that is up to the keyboard manufacturers, PCB designers, etc.

@NeoPrint3D
Copy link

When does Via version 3 come out? I'm really wanting to use delay

@wilba
Copy link

wilba commented Jan 31, 2023

This feature is available now, you will need to flash the latest firmware on your keyboard to use it.

@SNNDEVELOPER
Copy link

Any news on when or if the Keychron K3 Pro will make the firmware list [ https://www.caniusevia.com/docs/download_firmware ] so {delay} will be supported or is this up to Keychron to offer a firmware update and not VIA?

@M4rkoV2
Copy link

M4rkoV2 commented Mar 15, 2023

How do I enable this function in my custom keyboard? I used new keyboard definitions, build .hex file with latest QMK MSYS and flash to board with QMK ToolBox. But when I try to set up delays with VIA App, it says that i need latest firmware. What did I miss?

@YarrawahInteractive
Copy link

I love this keyboard, but would have purchased somethign else if I knew this wasn't supported. The inelegant solution of adding random key presses to simulate a delay is working for now though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests