#author("2021-11-03T22:37: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は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再起動
-- 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を起動すればリモコンが動くと思います。
反応しないボタン等があればリモコンキーコードや定義の再確認をしてください。


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS