ryodeushii / qmk-firmware

Open-source keyboard firmware for Atmel AVR and Arm USB families - fork is Focused on NuPhy Gem80 | Halo75V2 | Air75V2 CFW. If you want to support development of the CFW for Nuphy keyboards - you're welcome here https://buymeacoffee.com/ryodeushii
https://qmk.fm
GNU General Public License v2.0
57 stars 7 forks source link

Plans for new firmware based on newest official firmware? #15

Open godzinilla opened 5 days ago

godzinilla commented 5 days ago

Feature Request Type

Description

Hello. Do you have any plans to release a new version of your firmware based on the newest official firmware? Nuphy claims that they fixed some (if not all) issues which are common for their keyboards (eg. sticky keys or missing the input when leaving sleep mode).

I was not testing this firmware yet because I think that your version is a way better in terms of functionality and special features. I've just updated my RF and dongle firmware with the official ones (the newest firmware comes with keyboard, RF and dongle fw) and your firmware is working with them but the issues are still there. Additionally sometimes keyboard works quite slow while entering the text - looks like some wireless interference imo.

ryodeushii commented 5 days ago

Hi! So first of all about wireless interference: this is not really related to firmware. Only way to avoid it is to have dongle as close to the keyboard itself as possible withoub obstacles.

Regardging updates from official firmware - they published literally nothing. Few cosmetical changes like key 5 highlighting on numpad for Halo96v2, no real fixes for any problem in repo.

Also issues might be caused by actual dongle & RF module update. Main problem in wireless communication in Nuphy's keyboards is in RF driver itself, not in wireless module firmware.

Also if you have issues with double input (yet) so please tune up your debounce settings (especially release one) it definetely should help.

ryodeushii commented 4 days ago

Regarding sleep mode - they don't miss input just because their firmware has no real sleep. It only has LEDs turned off. Also due to their implementation there is issue where you can have hard times accessing bios using any Nuphy's V2 keyboard and sometimes with KVMs and hubs. So my firmware solves that part, as this is more critical for keyboard usage. But that part kinda introduces loss of first key on wake. Feel free to reply if you have more questions

godzinilla commented 4 days ago

So first of all about wireless interference: this is not really related to firmware. Only way to avoid it is to have dongle as close to the keyboard itself as possible withoub obstacles.

You may be right but I've using this keyboard for a couple of months with various different firmware and that was the first time I am seeing this. And I was having this issue at least twice. Maybe it is interfered related, but we can't be sure atm.

Regardging updates from official firmware - they published literally nothing. Few cosmetical changes like key 5 highlighting on numpad for Halo96v2, no real fixes for any problem in repo.

Maybe that is why they are not released the official changelog 🤣

Also issues might be caused by actual dongle & RF module update. Main problem in wireless communication in Nuphy's keyboards is in RF driver itself, not in wireless module firmware.

If so it may be connected with the interfered problem. Maybe I switch back to older fw for RF if the issue shows again.

Also if you have issues with double input (yet) so please tune up your debounce settings (especially release one) it definetely should help.

Would you be so kind and tell me more about this feature? What it really is? Currently I've switched the debounce release from 5ms to 10ms (press is still 5ms). Is the low values takes any advantages in e.g. gaming? The maximum value is 30ms.

Regarding sleep mode - they don't miss input just because their firmware has no real sleep. It only has LEDs turned off.

Didn't know that 😄

Also due to their implementation there is issue where you can have hard times accessing bios using any Nuphy's V2 keyboard and sometimes with KVMs and hubs. So my firmware solves that part, as this is more critical for keyboard usage. But that part kinda introduces loss of first key on wake.

If I understood correctly - there is no really way to fix this?

Anyway, thank you for your flawless work. Your implementation of basic function and additional, special features (such as debounce/sleep values, battery meter, lights adjustments, etc.) takes this keyboard to the sky limits 👍 Very appreciate that 👏

ryodeushii commented 2 days ago

Would you be so kind and tell me more about this feature? What it really is? Currently I've switched the debounce release from 5ms to 10ms (press is still 5ms). Is the low values takes any advantages in e.g. gaming? The maximum value is 30ms.

I'll try to explain how thid debounce type works (asym_eager_defer_pk), 'cause basically I copy-pasted QMK internal debounce algrorithm, but made in configurable "live". When you press your key - input registered for your PC (let's assume your host is PC) and then "press-debounce" is waited if key is not stabilized (no noise after press). When you release your key - if signal is noisy (not stabilized) - it will wait for "release-debounce" milliseconds to allow switch to stabilize. Only thing affecting visual snappiness of the keyboard is press debounce, usually 3-5ms is enough, lower will cause more problems than solve but it all switch dependand and your typing style affects it too. Release debounce on other side usually should be raised if your switches either tactile/clicky or if switch has double stage spring in them, in this case switch itself is a bit more bouncy than regular linear ones thus requiring more debounce to be applied.


Btw, now I have in testing slight modification for the firmware (it will apply to all keyboards, but halo96v2) so it will in general allow usage of much lower debounce values with the same switches. To give you some idea:

  1. On firmware 1.1.4 (latest release) I would use debounce 5 for press, 10 for release for my WS Morandi switches in Gem80 to avoid double press (ghosting) issue - these switches use double-stage sprint and their actual physical bounce time is around 2.5-2.9ms
  2. On current build I test (basically it's in nuphy-keyboards branch and you can build it yourself if you want) - I can stick to 3ms press and 3ms release and no ghosting happens like at all.