Android 安卓:带USB-C适配器的耳机按钮
我想让我的耳机按键通过USB-C适配器工作,因为我的手机是如此时尚,没有3.5毫米插孔 按钮起作用:使用应用程序“KeyEvent Display”,我发现Android 安卓:带USB-C适配器的耳机按钮,android,linux,button,headphones,adaptor,Android,Linux,Button,Headphones,Adaptor,我想让我的耳机按键通过USB-C适配器工作,因为我的手机是如此时尚,没有3.5毫米插孔 按钮起作用:使用应用程序“KeyEvent Display”,我发现 Vol+触发“linux密钥代码”114 Vol-触发“linux密钥代码”259 播放/暂停触发“linux密钥代码”226 通过将/system/usr/keylayout/Generic.kl更改为 key 114 VOLUME_UP key 226 HEADSETHOOK key 259 VOLUME_DOWN 我得到了耳机按
触发“linux密钥代码”114Vol+
触发“linux密钥代码”259Vol-
触发“linux密钥代码”226播放/暂停
/system/usr/keylayout/Generic.kl
更改为
key 114 VOLUME_UP
key 226 HEADSETHOOK
key 259 VOLUME_DOWN
我得到了耳机按钮的预期行为,但它干扰了手机上的常规按钮。
这就是为什么我想创建一个特定于设备的配置文件。为此,我需要设备名称或供应商和产品ID。(如中所述。)
我该怎么做
附:应用程序“USB设备信息”未显示任何已连接的设备。您可以找到cat/proc/bus/input/devices
的输出。应用程序“引擎盖下”的相关输出:pastebin.com/kDeBNS0H
PPS:解决这个问题会给你带来额外的业力,因为这个解决方案会被输入到天堂操作系统,为很多人解决这个问题 使用该应用程序,我发现耳机(2)的设备ID与常规音量按钮(7和3)的设备ID不同。
现在,我只需要找出与设备ID对应的设备名称。我使用终端仿真器做到了这一点:
$ su
$ getevent
add device 1: /dev/input/event7
name: "msm8976-skun-snd-card Headset Jack"
add device 2: /dev/input/event6
name: "msm8976-skun-snd-card Button Jack"
add device 3: /dev/input/event4
name: "qpnp_pon"
add device 4: /dev/input/event3
name: "qwerty"
could not get driver version for /dev/input/mouse1, Not a typewriter
add device 5: /dev/input/event2
name: "hbtp_vm"
add device 6: /dev/input/event1
name: "input_mt_wrapper"
could not get driver version for /dev/input/mice, Not a typewriter
add device 7: /dev/input/event5
name: "gpio-keys"
could not get driver version for /dev/input/mouse0, Not a typewriter
add device 8: /dev/input/event0
name: "synaptics_dsx_s2"
根据,除0-9
、a-z
、a-z
和-
以外的所有字符都将替换为\uu
。因此,我创建了一个新文件:/system/usr/keylayout/msm8976-skun-snd-card_Button_Jack.kl
,包含以下内容:
# Configuration file for LeEco Le 2 headphone buttons
key 114 VOLUME_UP
key 226 HEADSETHOOK
key 259 VOLUME_DOWN
重新启动后,我得到了预期的行为 我尝试了以下文件名(每次重新启动):
Vendor\u 0000\u Product\u 0003.kl
,Vendor\u 0000\u Product\u 0000.kl
,Vendor\u 0001\u Product\u 0001.kl
,但都不起作用。堆栈溢出是用于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。@jww:你说得对。不过,我已经找到了答案,我发布它只是为了记录在案。一个人如何对评论投反对票?:)什么评论?jww的是合法的。(为什么)你否决了我的问题和我的解决方案吗?