Dasharo / dasharo-issues

The Dasharo issue tracker
https://dasharo.com/
25 stars 0 forks source link

Microphone mute Fn key doesn't work in Windows #1006

Open wessel-novacustom opened 2 months ago

wessel-novacustom commented 2 months ago

Component

Dasharo firmware

Device

NovaCustom V54 14th Gen, NovaCustom V56 14th Gen

Dasharo version

v0.9.0

Dasharo Tools Suite version

No response

Test case ID

No response

Brief summary

The microphone mute Fn key doesn't work, regardless of the OS

How reproducible

100% reproducible.

How to reproduce

  1. Open a sound recording application like Audacity.
  2. Recording the sound while keep talking.
  3. Try to interrupt the recording with Fn + 4 (microphone mute)

Expected behavior

The microphone gets muted.

Actual behavior

The microphone doesn't mute.

Screenshots

No response

Additional context

If possible, this Fn shortcut may be enabled for:

It is not needed for other laptop series.

Solutions you've tried

No response

mkopec commented 2 months ago

Added firmware side fix in https://github.com/Dasharo/ec/pull/62/commits/c93707e5bf44d967c10f76c6804a4be3abf2fe81

mkopec commented 2 months ago

Need to add a quirk to systemd hwdb, something like this: https://github.com/systemd/systemd/blob/d1b04f47e32bd1012ae2e3e6ac9159702463bf15/hwdb.d/60-keyboard.hwdb#L787

but using the actual micmute scancode that is generated on V5x0Tx. A temporary fix can be added to post-install steps.

wessel-novacustom commented 2 months ago

Yes, that needs to be done

filipleple commented 1 month ago

I've additionally enabled the Fn key for NV41 ADL in https://github.com/Dasharo/ec/pull/63/commits/12d626f3ea1fc16c2ad89d2ec0e560121111d5a4 and added the quirks for NV41 ADL and V5x to systemd in https://github.com/systemd/systemd/pull/34183/commits/40ef5cc669f1d6d9a1854909c4dcd8e68f20f1ea . The combination works as expected now:

micmute

wessel-novacustom commented 1 month ago

I've additionally enabled the Fn key for NV41 ADL in Dasharo/ec@12d626f and added the quirks for NV41 ADL and V5x to systemd in systemd/systemd@40ef5cc . The combination works as expected now [ ... ]

Amazing! Hopefully, the same can easily be done on the V54 Series (-TU and NVIDIA variants), as well as the V56 Series (-TU and NVIDIA variants), while it's being skipped for the other variants.

I will close the issue once it has been integrated in a release.

mkopec commented 1 month ago

On the firmware side this is integrated in rc5 for nvidia models. The fix is also implemented for -TU models, but it's not included in any release for those models yet.

philipandag commented 1 month ago

On V540TND v0.9.1-rc5 adding the change works https://github.com/Dasharo/dasharo-issues/issues/1006#issuecomment-2344096304

You only need to add the line:

KEYBOARD_KEY_81=f20

to /etc/udev/hwdb.d/60-keyboard.hwdb under evdev:atkbd:dmi:bvn*:bvr*:svnNotebook:pnV5xTNX_TND_TNE:*, run udevadm trigger and reboot. Then the mic mute key works perfectly.

filipleple commented 1 month ago

Just to clarify, manually adding the line shouldn't be necessary after the next systemd release, which should happen in a week or two. Then, just keeping the OS updated should do it.

wessel-novacustom commented 1 month ago

Great progress!

Is it also possible to enable this for Windows? It is not working on a V560TND running rc5.

SebastianCzapla commented 2 weeks ago

On V540TND v0.9.1-rc7, I could not get the button to work with this fix:

On V540TND v0.9.1-rc5 adding the change works #1006 (comment)

You only need to add the line:

KEYBOARD_KEY_81=f20

to /etc/udev/hwdb.d/60-keyboard.hwdb under evdev:atkbd:dmi:bvn*:bvr*:svnNotebook:pnV5xTNX_TND_TNE:*, run udevadm trigger and reboot. Then the mic mute key works perfectly.

With or without it, shortcut does not toggle the state.

mkopec commented 1 week ago

I think the udev rule might not be correct, but the EC is sending the correct scancode, so it's probably an OS issue

mkopec commented 1 week ago

After adding the rule, you have to run:

sudo systemd-hwdb update
sudo udevadm trigger

after doing this, the key is now correctly mapped to KEY_F20. Now re-login to Gnome and the key should work.

mkopec commented 1 week ago

To get it working on Windows, we could fork https://github.com/coolstar/croskeyboard4 and rework it to support our keycodes instead

wessel-novacustom commented 1 week ago

To get it working on Windows, we could fork https://github.com/coolstar/croskeyboard4 and rework it to support our keycodes instead

I assume that this doesn't need any changes on the firmware side, we badly need the initial release.

mkopec commented 1 week ago

no, on firmware side there are no changes required. It's purely a Windows driver issue

wessel-novacustom commented 1 week ago

Ok so let's work on that after the firmware release.