Dne 03. 12. 19 v 21:43 Curtis Malainey napsal(a):
On Thu, Nov 28, 2019 at 1:13 AM Mads Lønsethagen mads@ab3.no wrote:
On 25.11.2019 20:25, Curtis Malainey wrote:
Hello ALSA Devs,
I am looking to get some feedback/ideas on a possible change to headset button mapping. Locally we are carrying patches that implement the mappings in the machine driver (which we understand you do not want upstream.) We are looking to see if we can add a new API (something like a sysfs path potentially) to have userspace pass in the mapping, if it chooses to, so the mapping can still be done in the kernel. That way we can carry just the config locally and remove some of the kernel patches we are carrying locally. Thanks.
Curtis
Hi Mads,
Apologies, apparently my spam filter grabbed your email from me (back to adjusting the rules.)
Sorry for the top posting in my last mail.
I just wondered, do this have anything to do with headphones that has physical buttons on the headphone wire itself? E.g the Bose QC25 is a pair of headphones that has four buttons on the wire, and as far as I can see there's no way of getting those buttons to work in vanilla Linux for now, but it works in Android and Windows 10.
No this is related to ChromeOS device headset button mapping, but hopefully android will pick this up as well. Yes, these buttons are the ones I am discussing. Currently in ChromeOS (and likely in Android as well) we carry patches such as https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1... It appears some have started landing upstream ae09a4783b9caf9307f303ef039f8297ce0371fe ("ASoC: Intel: Headset button support in kabylake machine driver") but it would be great if we had a way for userspace to configure these buttons similar to how we handle UCMs.
The question why you need to change this settings in the user space. I think that the device tree was designed exactly to describe this hw platform specific settings. Another possibility is to use the kernel module option to configure the settings from the user space. But it's just an idea. You are probably looking for an interface which can be used when the driver is running.
Jaroslav