2017-09-30 21 views
-1

私の電話はヒップでモダンなので3.5mmジャックがないので、ヘッドフォンボタンをUSB-Cアダプタで動作させたい。Android:USB-Cアダプタ付きヘッドフォンボタン

ボタンが動作します:アプリ "にKeyEvent表示" を使用して、私は考え出したこと

  • Vol+トリガ "Linuxのキーコード番号" 114
  • Vol-トリガ "Linuxのキーコード番号" 259
  • Play/Pauseトリガ "Linuxのキーコード番号" 226

/system/usr/keylayout/Generic.klを変化させることにより

key 114 VOLUME_UP 
key 226 HEADSETHOOK 
key 259 VOLUME_DOWN 

私はヘッドセットボタンの予想される動作を得ましたが、電話機の通常のボタンに干渉しました。 そのため、デバイス固有の設定ファイルを作成したいとします。このためには、デバイス名またはベンダーIDと製品IDのいずれかが必要です。 (android documentationで説明されているように)

どうすればいいですか?

PS:アプリ "USB Device Info"に接続されたデバイスが表示されませんでした。 Hereの出力はcat /proc/bus/input/devicesです。アプリの関連アウトプット「Under the Hood」:pastebin.com/kDeBNS0H

PPS:この問題を解決すると、ソリューションがLineageOSに供給され、多くの人々の問題を解決できるため、余分なカルマが得られます!

+0

私は以下のファイル名を試しました(毎回再起動しました): 'Vendor_0000_Product_0003.kl'、' Vendor_0000_Product_0000.kl'、 'Vendor_0001_Product_0001.kl'、しかし何も働かなかった。 – FatTony

+2

スタックオーバーフローは、プログラミングおよび開発に関する質問のサイトです。この質問は、プログラミングや開発に関するものではないので、話題にはならないようです。ヘルプセンターの[ここではどのトピックを参照できますか](http://stackoverflow.com/help/on-topic)を参照してください。おそらく、[スーパーユーザ](http://superuser.com/)や[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)の方が良いかもしれません。 – jww

+0

@jww:そうです。私は答えを見つけましたが、私はそれを記録のためだけに掲示しています。 – FatTony

答えて

-1

keytestアプリを使用すると、ヘッドフォン(2)のデバイスIDが通常のボリュームボタン(7および3)のデバイスIDと異なることがわかりました。 これで、デバイスIDに対応するデバイス名を調べるだけでした。これは私がターミナルエミュレータ使用していた:documentationによると

$ 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-9a-zA-Z-以外のすべての文字が_に置き換えられます。このように、私は新しいファイルを作成:次の内容の/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 

を、私は期待される動作を持って!

関連する問題