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

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS