#author("2021-11-04T10:24:42+09:00","default:kurohane","kurohane") #author("2021-11-04T10:25:51+09:00","default:kurohane","kurohane") * CoreELECの赤外線リモコン [#z0d7c6e7] 設定方法が何回か変わっていますが、現在はCoreELEC19(Matrix)用になっています。 ここではmeson-irを使った方式について記述します。 9.2.xのCoreELECもmeson-irですが設定ファイルの書式が若干違うものの 大まかな所は変わらないので参考にはなると思います。 さらに古いCoreELECやLibreELECはamremoteです。 ** 記事で使ったリモコン [#h38fa1a0] x96mini付属 #ref(remocon_01.jpg,left,nowrap,x96mini); MXQ Pro 4K付属 #ref(remocon_02.jpg,left,nowrap,MXQ Pro 4K); 下記の設定例はx96mini付属リモコン用です。 どの中華プレーヤもそうですが、オプションの有無やグレードでリモコンが変わります。 買う時期によっても変わるのでリモコンキーコードはきちんと調べた方が良いです。 x96miniはCoreELECの初期状態では全キー動きません。 MXQ Pro 4K付属リモコンの方は反応したので、知らない人はリモコンが初期不良か何かと思うかもしれません。 ** 公式Forumのスレッド [#h38fa1a0] [[How to configure IR remote control>+https://discourse.coreelec.org/t/how-to-configure-ir-remote-control/31]] メジャーバージョンアップ等で設定ファイルの記述や形式に変更があると、 このスレッドが更新されます。 設定例やリモコンのボタン機能の一覧のリンク等があるので、一度目を通しておいて方が良いです。 ** リモコンコードを調べる方法 [#f0d489ec] 予めSSHでシェルにログインしておきます。 usernameは''root'' 、passwordは初期値であれば''coreelec''になってます。 - KODIを停止 -- systemctl stop kodi -- systemctl stop eventlircd - リモコンキーコードテスト -- ir-keytable -p NEC,RC-5,RC-6,JVC,SONY -t - kodi再起動 - KODI再起動 -- systemctl start eventlircd -- systemctl start kodi 大抵のリモコンは反応します。そこらへんのテレビのリモコンとかでも反応します。 ボタンを押した時のキーコードが16進で表示されるので、各ボタンがいくらなのか控えておきます。 2桁や4桁、モノによっては8桁のコードもあったりします。 終了はCTRL+Cです。 終わってそのままKODIに戻る場合は止めたサービス2つを再度立ち上げればOKです。 ** 設定ファイル [#g83a75c4] /storage/.config/rc_keymaps/<任意のファイル名>.toml /storage/.config/rc_maps.cfg /storage/.config/udev.rules.d/98-eventlircd.rules (空でOK) /storage/.kodi/userdata/keymaps/keymaps.xml (必要な場合のみ、後述) 以上の3または4ファイルの作成が必要です。 keymaps.xmlはリモコンで直接定義できない機能を割り当てる際、キーボードのキーに割り当てて それを呼び出す形で実現する際に使用します。 ** <任意のファイル名>.toml [#re6706e6] 実際のリモコンのキーコードを何の機能に割り当てるかを記述するファイルです。 リモコン関係の定義では一番重要なファイルになります。 [[protocols]] name = "x96mini" protocol = "nec" [protocols.scancodes] 0x140 = "KEY_POWER" 0x155 = "KEY_PREVIOUSSONG" 0x15A = "KEY_PLAYPAUSE" 0x152 = "KEY_STOP" 0x154 = "KEY_NEXTSONG" 0x143 = "KEY_F11" 0x10F = "KEY_F12" 0x110 = "KEY_VOLUMEDOWN" 0x118 = "KEY_VOLUMEUP" 0x111 = "KEY_HOME" 0x119 = "KEY_BACK" 0x116 = "KEY_UP" 0x11A = "KEY_DOWN" 0x151 = "KEY_LEFT" 0x150 = "KEY_RIGHT" 0x113 = "KEY_ENTER" 0x14C = "KEY_MENU" 0x100 = "BTN_MOUSE" 0x14E = "KEY_1" 0x10D = "KEY_2" 0x10C = "KEY_3" 0x14A = "KEY_4" 0x109 = "KEY_5" 0x108 = "KEY_6" 0x146 = "KEY_7" 0x105 = "KEY_8" 0x104 = "KEY_9" 0x141 = "KEY_MUTE" 0x101 = "KEY_0" 0x142 = "KEY_BACKSPACE" nameはファイル名の拡張子を除いたものにします。 protocolは大抵necでいいですがnec以外のプロトコルのリモコンを使う場合は変えます。 (ir-keytableでNECで反応しなかったリモコン等) 16進コードはリモコンキーコード、対応する機能は[[http://ix.io/19sO>+http://ix.io/19sO]]を参照します。 ** rc_maps.cfg [#a2abd26a] meson-ir * x96mini.toml 1行でOKです。作成した*.tomlのファイル名を記述しておきます。 ** 98-eventlircd.rules [#jdeef83b] 空でOKです。viで開いて空のまま保存するなり、touchで作成するなりお好きな方法で。 ** keymaps.xml [#r806e33d] 使用例として、音楽や動画の再生でシャッフル、リピートの有効/無効を画面表示付で切り替えるボタンを作る場合です。 キーボードのF11とF12に割り当ててリモコン側で指定をしています。 使わなそうなキーに割り当てれば良いかと思います。 <?xml version="1.0" encoding="UTF-8"?> <keymap> <global> <keyboard> <f11>PlayerControl(Random,Notify)</f11> <f12>PlayerControl(Repeat,Notify)</f12> </keyboard> </global> </keymap> ** リモコン設定の反映 [#m835ed2d] 定義を変更した場合、反映させる必要があります。 ir-keytable -a /storage/.config/rc_maps.cfg -s rc0 実行した後にkodiを起動すればリモコンが動くと思います。 反応しないボタン等があればリモコンキーコードや定義の再確認をしてください。