On Mon, Apr 20, 2020 at 05:07:26PM +0200, Alessandro De Laurenzis wrote: > Greetings, > > Latest -current here: > > OpenBSD theseus.atlantide.priv 6.7 GENERIC.MP#140 amd64 > > Of course, mixerctl doesn't work anymore for volume control. > > I have a Logitech wireless keyboard whose multimedia keys were pretty > functional in OpenBSD through usbhidaction(1): > > [...] > Apr 20 16:54:48 theseus /bsd: uhidev0 at uhub0 port 2 configuration 1 > interface 0 "Logitech USB Receiver" rev 2.00/12.01 addr 2 > Apr 20 16:54:48 theseus /bsd: uhidev0: iclass 3/1 > Apr 20 16:54:48 theseus /bsd: ukbd0 at uhidev0: 8 variable keys, 6 key codes > Apr 20 16:54:48 theseus /bsd: wskbd1 at ukbd0 mux 1 > Apr 20 16:54:48 theseus /bsd: wskbd1: connecting to wsdisplay0 > Apr 20 16:54:48 theseus /bsd: uhidev1 at uhub0 port 2 configuration 1 > interface 1 "Logitech USB Receiver" rev 2.00/12.01 addr 2 > Apr 20 16:54:48 theseus /bsd: uhidev1: iclass 3/1, 8 report ids > Apr 20 16:54:48 theseus /bsd: ums0 at uhidev1 reportid 2: 16 buttons, Z and W > dir > Apr 20 16:54:48 theseus /bsd: wsmouse2 at ums0 mux 0 > Apr 20 16:54:48 theseus /bsd: uhid0 at uhidev1 reportid 3: input=4, output=0, > feature=0 > Apr 20 16:54:48 theseus /bsd: uhid1 at uhidev1 reportid 4: input=1, output=0, > feature=0 > Apr 20 16:54:48 theseus /bsd: uhid2 at uhidev1 reportid 8: input=1, output=0, > feature=0 > Apr 20 16:54:48 theseus /bsd: uhidev2 at uhub0 port 2 configuration 1 > interface 2 "Logitech USB Receiver" rev 2.00/12.01 addr 2 > Apr 20 16:54:48 theseus /bsd: uhidev2: iclass 3/0, 33 report ids > Apr 20 16:54:48 theseus /bsd: uhid3 at uhidev2 reportid 16: input=6, > output=6, feature=0 > Apr 20 16:54:48 theseus /bsd: uhid4 at uhidev2 reportid 17: input=19, > output=19, feature=0 > Apr 20 16:54:48 theseus /bsd: uhid5 at uhidev2 reportid 32: input=14, > output=14, feature=0 > Apr 20 16:54:48 theseus /bsd: uhid6 at uhidev2 reportid 33: input=31, > output=31, feature=0 > [...] > > This is the command that I use through hotplugd (adapted from the manpage, > which is BTW now outdated, and modified to cope with sndioctl): > > [...] > usbhidaction -f /dev/uhid0 -c /etc/usbhidaction/vol-ctrl > [...] > > and this is the content of /etc/usbhidaction/vol-ctrl > > [...] > # The volume range is 0..1. Moving 0.1 volume steps each keypress > # moves quickly through the volume range but still has decent > # granularity. > Consumer:Bass 1 > sndioctl output.mute=! > Consumer:0x00eb 1 > sndioctl output.level=-0.1 > Consumer:Volume_Decrement 1 > sndioctl output.level=+0.1 > [...] > > but when I use the multimedia keys... nothing happens. I really don't know > how to debug this; is it related to the interaction with sndio? > > Any hints? >
This is the right way of doing it except that the user-id running sndioctl is probably not authorized to use the server while you're using. You could try to prefix the command with "doas -u <you_user_id>" -- Alexandre