「LIRC」の版間の差分
Kusakata.bot (トーク | 投稿記録) 細 (文字列「Category:音声/動画」を「Category:マルチメディア」に置換) |
(同期) |
||
4行目: | 4行目: | ||
この記事ではシリアル・USB 赤外線デバイスを使って [http://lirc.org/ LIRC] "Linux Infrared Remote Control" を設定・使用する方法を説明しています。 |
この記事ではシリアル・USB 赤外線デバイスを使って [http://lirc.org/ LIRC] "Linux Infrared Remote Control" を設定・使用する方法を説明しています。 |
||
+ | LIRC はサポートしているリモコンのキーが押されたときにプログラムにあわせて特定のコマンドに変換することができるデーモンです。ここで、「プログラムにあわせて」とは同じキーでも実行しているプログラムによって異なる動作をさせることができることを意味します。LIRC から取得されたリモコンの情報は以下のようにプログラムに流れます: |
||
− | ==概要== |
||
− | LIRC はサポートしているリモコンのキーが押されたのをプログラムにあわせてコマンドに変換することができるデーモンです。ここで、「プログラムにあわせて」とは実行しているプログラムによってキーの押下で異なる動作をさせることができることを意味します。 |
||
− | |||
− | === LIRC の役割 === |
||
− | LIRC を使ってリモコンからの情報がプログラムに流れる過程は以下の通りです: |
||
* ユーザーがリモコンのボタンを押すことで IR または RF 信号が送信されます。 |
* ユーザーがリモコンのボタンを押すことで IR または RF 信号が送信されます。 |
||
− | * |
+ | * Linux パソコンに接続されたレシーバーによって信号が受信されます。 |
− | * カーネル (の |
+ | * カーネル (のモジュール) によってリモコンから送信されたパルス信号が {{ic|/dev/lirc0}}, {{ic|/dev/input/eventX}}, {{ic|/dev/ttyUSBX}}, {{ic|/dev/ttyS0}} などのデバイスに変換されます。 |
− | * {{ic|/usr/bin/lircd}} は {{ic|/etc/lirc/lircd.conf.d/foo.conf}} |
+ | * {{ic|/usr/bin/lircd}} は {{ic|/etc/lirc/lircd.conf.d/foo.conf}} の情報を使ってパルス信号をボタンの押下情報に変換します。 |
− | * LIRC を使用するプログラムは {{ic|/usr/bin/lircd}} のボタン押下情報を |
+ | * LIRC を使用するプログラムは {{ic|~/.lircrc}} に書かれている情報に従って {{ic|/usr/bin/lircd}} のボタン押下情報をユーザーが定義した操作に解釈します。 |
− | == |
+ | ==インストール== |
+ | {{Pkg|lirc}} パッケージを[[インストール]]してください。 |
||
− | * {{ic|/etc/lirc/lircd.conf.d/foo.conf}} - スキャンコード --> キーに変換するシステムレベルの設定。このディレクトリには複数の conf ファイルを入れることができ、それぞれがシステムの各リモートコントローラ・レシーバー固有です。 |
||
− | {{Note|これらはユーザーが作成する設定ファイルであり、パッケージによって直接作られるファイルではありません。}} |
||
+ | ==設定== |
||
− | === 任意のファイル === |
||
− | LIRC を使用するアプリケーションによっては、以下のファイルは任意です。例えば {{Pkg|mplayer}} や {{Pkg|mythtv}} は以下のファイルを使ってキーマップやアクションを定義します。全てのアプリケーションが必要とするわけではありません。例として、{{Pkg|kodi}} は自分の xml ファイルを使ってマッピングを行います。 |
||
− | * {{ic|~/.lircrc}} - プログラムごとの lirc マップ ({{ic|~/.lirc/foo}}, {{ic|~/.lirc/bar}} など) を指定する '''include''' ステートメントを記述するファイル。 |
||
− | * {{ic|~/.lirc/foo}} - キー --> 操作に翻訳するユーザーレベルの設定。各リモコンとアプリケーション foo の固有設定。 |
||
+ | {{Note|このセクションでは簡単な説明だけを行います。完全なドキュメントは [http://lirc.sourceforge.net/lirc.org/html/index.html 開発元のホームページ] を参照してください。}} |
||
− | ==インストール== |
||
− | [[公式リポジトリ]]にある {{Pkg|lirc}} パッケージを[[インストール]]します。 |
||
+ | {{ic|/etc/lirc/lircd.conf.d/foo.conf}} はスキャンコードをキーに変換する全ユーザー共通の設定ファイルです。ディレクトリには複数の conf ファイルを保存することができ、それぞれのファイルが各々のリモコン・レシーバに対応します。これらのファイルはユーザーが作成するファイルであり、{{Pkg|lirc}} パッケージに初めから用意されているわけではありません。 |
||
− | {{Note|古いリモコンのサポートは公式で上流から落とされています。サポートされていないハードウェアを使用する場合は [[AUR]] のパッケージを検索してモジュールをビルドしてください。}} |
||
+ | LIRC でリモコンを管理するにはスキャンコードからキーマップに変換する定義が必要です。定義情報を入手する方法は2つ存在します。 |
||
− | ==設定== |
||
+ | |||
− | リモコンによっては LIRC がなくても"キーボード"として認識されそのように動作することがあります。このように認識されているとコマンドを二重に実行してしまう可能性があります。シェルやテキストエディタを開いて、リモコンのボタンを押してキーボードとして認識されていないかテストして下さい。文字や数字が打ち込まれたり、物理キーボードの上・下・右・左矢印キーのように動く場合、無効にする必要があります。次に進む前に [[#リモコンがキーボードとして機能する]] を見て下さい。 |
||
+ | ==== 上流の設定ファイル ==== |
||
+ | |||
+ | 使用するリモコン・レシーバを確認して、既に設定ファイルが存在しないか確認してください。{{ic|irdb-get}} を使うことで [http://lirc-remotes.sourceforge.net/remotes-table.html リモコンデータベース] を検索するか URL をブラウザで開いて手動で検索してください。 |
||
+ | |||
+ | 例えば {{ic|irdb-get}} を使って Streamzap 製のリモコンの設定ファイルを検索・入手するには: |
||
+ | $ irdb-get find stream |
||
− | === LIRC の設定ファイル === |
||
+ | atiusb/atiusb.lircd.conf |
||
− | LIRC がリモコンを扱えるようにするにはスキャンコードとキーマップの定義が必要です。適当な conf ファイルを {{ic|/etc/lirc/lircd.conf.d}} にコピーすることでマッピングできます。 |
||
+ | digital_stream/DTX9900.lircd.conf |
||
+ | snapstream/Firefly-Mini.lircd.conf |
||
+ | streamzap/PC_Remote.lircd.conf |
||
+ | streamzap/streamzap.lircd.conf |
||
+ | x10/atiusb.lircd.conf |
||
+ | |||
+ | $ irdb-get download streamzap/streamzap.lircd.conf |
||
+ | Downloaded sourceforge.net/p/lirc-remotes/code/ci/master/tree/remotes/streamzap/streamzap.lircd.conf as streamzap.lircd.conf |
||
+ | 必要なファイルを {{ic|/etc/lirc/lircd.conf.d/}} にコピーすることでデーモンによってリモコンのサポートが初期化されます: |
||
− | {{Note|Common configs are provided by {{Pkg|lirc}}, like those bundled with TV cards that can be installed automatically. The primary source of config files is the LIRC homepage. Check the [http://lirc.org/html/table.html official list of supported hardware] to know, which kernel modules and lircd drivers are required.}} |
||
+ | # cp streamzap.lircd.conf /etc/lirc/lircd.conf.d/ |
||
− | ==== 選択肢 1. 上流の設定ファイル ==== |
||
− | 使用するリモコン/レシーバを確認して {{ic|/usr/share/lirc/configs}} に設定済みの設定ファイルが存在しないか見てください。存在したら、デーモンが初期化をできるように、必要な conf を {{ic|/etc/lirc/lircd.conf.d}} にコピーします。 |
||
− | ==== |
+ | ==== ユーザーが作成した設定ファイル ==== |
− | サポートされていないハードウェアを使用する場合、誰かが作った設定ファイルを |
+ | サポートされていないハードウェアを使用する場合、誰かが作った設定ファイルを (google) 検索するか自分で作成する必要があります。設定ファイルは {{ic|/usr/bin/irrecord}} を使うことでガイドに従ってとても簡単に作成することができます。使用するリモコンが認識されている場合、以下のように起動してください: |
# irrecord --device=/dev/lirc0 MyRemote |
# irrecord --device=/dev/lirc0 MyRemote |
||
− | プログラムを実行するとリモコン |
+ | プログラムを実行するとリモコンのボタンを押して学習させるように指示されます。最終的には全てのボタンとスキャンコードがマッピングされます。全ての操作に10分もかからないはずです。マッピングが完了したら {{ic|/etc/lirc/lircd.conf.d/foo.conf}} にファイルが保存されます。 |
− | {{Note| |
+ | {{Note|プログラムに記述されているメールアドレスに作成された設定ファイルを送ることで、あなたが作った設定ファイルを他の人も使えるようになります。}} |
+ | |||
+ | === 任意のファイル === |
||
+ | LIRC を使用するアプリケーションの中には一部、以下のファイルを使うものがあります。例えば {{Pkg|mplayer}} や {{Pkg|mythtv}} は以下のファイルを使ってキーマップやアクションを定義します。全てのアプリケーションが必要とするわけではありません。例として {{Pkg|kodi}} は固有の xml ファイルを使ってマッピングを行います。詳しくは各アプリケーションのドキュメントを参照してください。 |
||
+ | * {{ic|~/.lircrc}} - プログラムごとの lirc マップ ({{ic|~/.lirc/foo}} や {{ic|~/.lirc/bar}} など) を指定する ''include'' ステートメントを記述するファイル。 |
||
+ | * {{ic|~/.lirc/foo}} - ユーザー個別にキーを操作に翻訳する設定。各リモコンとアプリケーション foo の固有設定。 |
||
== リモコンのテスト == |
== リモコンのテスト == |
||
− | {{ic|lircd.service}} を[[起動]]してブート/シャットダウン時に実行されるように[[有効化]]してください ( |
+ | {{ic|lircd.service}} を[[起動]]してブート/シャットダウン時に実行されるように[[有効化]]してください (強く推奨)。 |
{{ic|/usr/bin/irw}} を使ってリモコンをテストしてください、リモコンのボタンを押した時に LIRC が受信したものを全て標準出力に流します。 |
{{ic|/usr/bin/irw}} を使ってリモコンをテストしてください、リモコンのボタンを押した時に LIRC が受信したものを全て標準出力に流します。 |
||
62行目: | 70行目: | ||
000000037ff07bf2 01 Home mceusb |
000000037ff07bf2 01 Home mceusb |
||
− | このコマンドが動作しない場合 (irw が何も出力をしない): {{ic|/etc/lirc/lircd.conf.d/}} 内の config ファイルに間違いがないか |
+ | このコマンドが動作しない場合 (irw が何も出力をしない): {{ic|/etc/lirc/lircd.conf.d/}} 内の config ファイルに間違いがないかよく確認してください。 |
==プログラムごとの設定 == |
==プログラムごとの設定 == |
||
− | LIRC では同じキー |
+ | LIRC では同じキーでもプログラムごとに別々のコマンドになるように設定することができます。つまり、特定のキーを押した時に mplayer と vlc で挙動を変えられます。 |
− | + | まずは LIRC のコマンドを使用するプログラムを決めてください。一般的なプログラムの例: {{Pkg|mplayer}}, {{Pkg|mythtv}}, {{Pkg|totem}}, {{Pkg|vlc}}, {{Pkg|kodi}}。 |
|
− | {{Note|Kodi は非標準的な方法で LIRC を実装しています。他のプログラムが使用する LIRC の標準ファイルではなく、特別な xml ファイルである {{ic|~/.xbmc/userdata/Lircmap.xml}} を編集する必要があります。Kodi を使用するユーザーは [[Kodi#リモートコントロールの使用]] |
+ | {{Note|Kodi は非標準的な方法で LIRC を実装しています。他のプログラムが使用する LIRC の標準ファイルではなく、特別な xml ファイルである {{ic|~/.xbmc/userdata/Lircmap.xml}} を編集する必要があります。Kodi を使用するユーザーは [[Kodi#リモートコントロールの使用]]の記事を読んでください。}} |
+ | プログラム固有のマッピングを指定するファイルを作成してください: |
||
− | Users should create the expected files showing LIRC where the various program-specific maps reside: |
||
$ mkdir ~/.lirc |
$ mkdir ~/.lirc |
||
$ touch ~/.lircrc |
$ touch ~/.lircrc |
||
− | + | {{ic|~/.lirc}} に各プログラムの名前が付いた設定ファイルを作成してください。例: |
|
− | 例: |
||
$ ls ~/.lirc |
$ ls ~/.lirc |
||
mplayer |
mplayer |
||
83行目: | 90行目: | ||
vlc |
vlc |
||
+ | {{Tip|Google で検索すれば様々なリモコン・プログラム固有のファイルが山ほど出てきます。この記事では各プログラムのキーマップについては扱いません。}} |
||
− | {{Note|Providing an exhaustive listing of keymaps for each program is beyond the scope of this wiki article. Many pre-made files unique to each remote/program are available via googling.}} |
||
− | + | {{ic|~/.lircrc}} を編集して LIRC でコントロールするプログラムの数だけ {{ic|~/.lirc/foo}} を指定する ''include'' ステートメントを記述してください。例: |
|
− | 例: |
||
{{hc|~/.lircrc| |
{{hc|~/.lircrc| |
||
include "~/.lirc/mplayer" |
include "~/.lirc/mplayer" |
||
96行目: | 102行目: | ||
==トラブルシューティング== |
==トラブルシューティング== |
||
=== リモコンがキーボードとして機能する === |
=== リモコンがキーボードとして機能する === |
||
+ | ==== Xorg を使用している場合 ==== |
||
Streamzap USB PC Remote など、リモコンによっては Xorg によって Human Interface Device (HID) と認識されるものがあり、物理キーボードからの入力のようにキーの一部または全てがキーストロークとして認識されます。この挙動は LIRC でデバイスを管理しようとしたときに問題になります。無効にするには、以下のファイルを作成して X を再起動してください: |
Streamzap USB PC Remote など、リモコンによっては Xorg によって Human Interface Device (HID) と認識されるものがあり、物理キーボードからの入力のようにキーの一部または全てがキーストロークとして認識されます。この挙動は LIRC でデバイスを管理しようとしたときに問題になります。無効にするには、以下のファイルを作成して X を再起動してください: |
||
109行目: | 116行目: | ||
$ cat /proc/bus/input/devices | grep -e IR |
$ cat /proc/bus/input/devices | grep -e IR |
||
例えば {{ic|<nowiki>N: Name="cx88 IR (WinFast DTV2000 H rev."</nowiki>}} の場合 {{ic|WinFast}} にします。 |
例えば {{ic|<nowiki>N: Name="cx88 IR (WinFast DTV2000 H rev."</nowiki>}} の場合 {{ic|WinFast}} にします。 |
||
+ | |||
+ | ==== ARM デバイスで Xorg を使用していない場合 ==== |
||
+ | {{ic|/etc/modprobed.d/streamzap.conf}} を作成して問題を起こすモジュールをブラックリストに追加してください。例えば Streamzap のリモコンの場合: |
||
+ | install ir_sharp_decoder /bin/false |
||
+ | install ir_xmp_decoder /bin/false |
||
+ | install ir_rc5_decoder /bin/false |
||
+ | install ir_nec_decoder /bin/false |
||
+ | install ir_sony_decoder /bin/false |
||
+ | install ir_mce_kbd_decoder /bin/false |
||
+ | install ir_jvc_decoder /bin/false |
||
+ | install ir_rc6_decoder /bin/false |
||
+ | install ir_sanyo_decoder /bin/false |
||
+ | |||
+ | === デフォルト設定を変更する === |
||
+ | |||
+ | {{ic|irw}} で何も出力されない場合、{{ic|/etc/lirc/lirc_options.conf}} のデフォルト設定が原因である可能性があります (あるいはアップデートによって上書きされた可能性もあります)。 |
||
+ | |||
+ | まず、{{ic|/dev/lirc0}} が存在するかどうか確認してください: |
||
+ | |||
+ | $ mode2 --driver default --device /dev/lirc0 |
||
+ | |||
+ | リモコンのボタンを押してみて何か出力されないか確認してください。出力がある場合、{{ic|/etc/lirc/lirc_options.conf}} を編集して ''driver'' と ''device'' を適当な値に変更してください。 |
||
+ | |||
+ | 何も出力されない場合、適切なドライバーとデバイスの組み合わせを探します。最初に lirc がデフォルトでどの組み合わせを認識しているのか確認します。{{Pkg|v4l-utils}} パッケージに含まれている {{ic|ir-keytable}} を実行して出力を確認してください。以下のように出力されます: |
||
+ | |||
+ | Found /sys/class/rc/rc0/ (/dev/input/event5) with: |
||
+ | Driver ite-cir, table rc-rc6-mce |
||
+ | Supported protocols: unknown other lirc rc-5 jvc sony nec sanyo mce-kbd rc-6 sharp xmp |
||
+ | Enabled protocols: lirc |
||
+ | Extra capabilities: <access denied> |
||
+ | |||
+ | 上記の場合、lirc は {{ic|/dev/input/event5}} を赤外線デバイスとして自動的に認識して、{{ic|devinput}} ドライバーが使われています。以下のコマンドを実行することで組み合わせが正しいか確認します: |
||
+ | |||
+ | $ mode2 --driver devinput --device /dev/input/event5 |
||
+ | |||
+ | リモコンのボタンを押してみてください。何も出力されない場合、別のドライバーとデバイスの組み合わせを試してみてください。機能する組み合わせを発見したら、{{ic|/etc/lirc/lirc_options.conf}} の ''driver'' と ''device'' を変更してください。 |
||
+ | |||
+ | ==== サンプル ==== |
||
+ | |||
+ | MCE RC6 互換レシーバの設定例: |
||
+ | {{hc|/etc/lirc/lirc_options.conf|2=[lircd] |
||
+ | nodaemon = False |
||
+ | driver = default |
||
+ | device = /dev/lirc0 |
||
+ | output = /var/run/lirc/lircd |
||
+ | pidfile = /var/run/lirc/lircd.pid |
||
+ | plugindir = /usr/lib/lirc/plugins |
||
+ | permission = 666 |
||
+ | allow-simulate = No |
||
+ | repeat-max = 600 |
||
+ | |||
+ | [lircmd] |
||
+ | uinput = False |
||
+ | nodaemon = False |
||
+ | }} |
||
== 参照 == |
== 参照 == |
2017年11月13日 (月) 21:08時点における版
この記事ではシリアル・USB 赤外線デバイスを使って LIRC "Linux Infrared Remote Control" を設定・使用する方法を説明しています。
LIRC はサポートしているリモコンのキーが押されたときにプログラムにあわせて特定のコマンドに変換することができるデーモンです。ここで、「プログラムにあわせて」とは同じキーでも実行しているプログラムによって異なる動作をさせることができることを意味します。LIRC から取得されたリモコンの情報は以下のようにプログラムに流れます:
- ユーザーがリモコンのボタンを押すことで IR または RF 信号が送信されます。
- Linux パソコンに接続されたレシーバーによって信号が受信されます。
- カーネル (のモジュール) によってリモコンから送信されたパルス信号が
/dev/lirc0
,/dev/input/eventX
,/dev/ttyUSBX
,/dev/ttyS0
などのデバイスに変換されます。 /usr/bin/lircd
は/etc/lirc/lircd.conf.d/foo.conf
の情報を使ってパルス信号をボタンの押下情報に変換します。- LIRC を使用するプログラムは
~/.lircrc
に書かれている情報に従って/usr/bin/lircd
のボタン押下情報をユーザーが定義した操作に解釈します。
目次
インストール
設定
/etc/lirc/lircd.conf.d/foo.conf
はスキャンコードをキーに変換する全ユーザー共通の設定ファイルです。ディレクトリには複数の conf ファイルを保存することができ、それぞれのファイルが各々のリモコン・レシーバに対応します。これらのファイルはユーザーが作成するファイルであり、lirc パッケージに初めから用意されているわけではありません。
LIRC でリモコンを管理するにはスキャンコードからキーマップに変換する定義が必要です。定義情報を入手する方法は2つ存在します。
上流の設定ファイル
使用するリモコン・レシーバを確認して、既に設定ファイルが存在しないか確認してください。irdb-get
を使うことで リモコンデータベース を検索するか URL をブラウザで開いて手動で検索してください。
例えば irdb-get
を使って Streamzap 製のリモコンの設定ファイルを検索・入手するには:
$ irdb-get find stream atiusb/atiusb.lircd.conf digital_stream/DTX9900.lircd.conf snapstream/Firefly-Mini.lircd.conf streamzap/PC_Remote.lircd.conf streamzap/streamzap.lircd.conf x10/atiusb.lircd.conf $ irdb-get download streamzap/streamzap.lircd.conf Downloaded sourceforge.net/p/lirc-remotes/code/ci/master/tree/remotes/streamzap/streamzap.lircd.conf as streamzap.lircd.conf
必要なファイルを /etc/lirc/lircd.conf.d/
にコピーすることでデーモンによってリモコンのサポートが初期化されます:
# cp streamzap.lircd.conf /etc/lirc/lircd.conf.d/
ユーザーが作成した設定ファイル
サポートされていないハードウェアを使用する場合、誰かが作った設定ファイルを (google) 検索するか自分で作成する必要があります。設定ファイルは /usr/bin/irrecord
を使うことでガイドに従ってとても簡単に作成することができます。使用するリモコンが認識されている場合、以下のように起動してください:
# irrecord --device=/dev/lirc0 MyRemote
プログラムを実行するとリモコンのボタンを押して学習させるように指示されます。最終的には全てのボタンとスキャンコードがマッピングされます。全ての操作に10分もかからないはずです。マッピングが完了したら /etc/lirc/lircd.conf.d/foo.conf
にファイルが保存されます。
任意のファイル
LIRC を使用するアプリケーションの中には一部、以下のファイルを使うものがあります。例えば mplayer や mythtv は以下のファイルを使ってキーマップやアクションを定義します。全てのアプリケーションが必要とするわけではありません。例として kodi は固有の xml ファイルを使ってマッピングを行います。詳しくは各アプリケーションのドキュメントを参照してください。
~/.lircrc
- プログラムごとの lirc マップ (~/.lirc/foo
や~/.lirc/bar
など) を指定する include ステートメントを記述するファイル。~/.lirc/foo
- ユーザー個別にキーを操作に翻訳する設定。各リモコンとアプリケーション foo の固有設定。
リモコンのテスト
lircd.service
を起動してブート/シャットダウン時に実行されるように有効化してください (強く推奨)。
/usr/bin/irw
を使ってリモコンをテストしてください、リモコンのボタンを押した時に LIRC が受信したものを全て標準出力に流します。
例:
$ irw 000000037ff07bfe 00 One mceusb 000000037ff07bfd 00 Two mceusb 000000037ff07bfd 01 Two mceusb 000000037ff07bf2 00 Home mceusb 000000037ff07bf2 01 Home mceusb
このコマンドが動作しない場合 (irw が何も出力をしない): /etc/lirc/lircd.conf.d/
内の config ファイルに間違いがないかよく確認してください。
プログラムごとの設定
LIRC では同じキーでもプログラムごとに別々のコマンドになるように設定することができます。つまり、特定のキーを押した時に mplayer と vlc で挙動を変えられます。
まずは LIRC のコマンドを使用するプログラムを決めてください。一般的なプログラムの例: mplayer, mythtv, totem, vlc, kodi。
プログラム固有のマッピングを指定するファイルを作成してください:
$ mkdir ~/.lirc $ touch ~/.lircrc
~/.lirc
に各プログラムの名前が付いた設定ファイルを作成してください。例:
$ ls ~/.lirc mplayer mythtv vlc
~/.lircrc
を編集して LIRC でコントロールするプログラムの数だけ ~/.lirc/foo
を指定する include ステートメントを記述してください。例:
~/.lircrc
include "~/.lirc/mplayer" include "~/.lirc/mythtv" include "~/.lirc/vlc"
トラブルシューティング
リモコンがキーボードとして機能する
Xorg を使用している場合
Streamzap USB PC Remote など、リモコンによっては Xorg によって Human Interface Device (HID) と認識されるものがあり、物理キーボードからの入力のようにキーの一部または全てがキーストロークとして認識されます。この挙動は LIRC でデバイスを管理しようとしたときに問題になります。無効にするには、以下のファイルを作成して X を再起動してください:
/etc/X11/xorg.conf.d/90-streamzap.conf
Section "InputClass" Identifier "Ignore Streamzap IR" MatchProduct "Streamzap" MatchIsKeyboard "true" Option "Ignore" "true" EndSection
次のコマンドで得られる出力の Name
に合わせて MatchProduct
は適切に変更するようにしてください:
$ cat /proc/bus/input/devices | grep -e IR
例えば N: Name="cx88 IR (WinFast DTV2000 H rev."
の場合 WinFast
にします。
ARM デバイスで Xorg を使用していない場合
/etc/modprobed.d/streamzap.conf
を作成して問題を起こすモジュールをブラックリストに追加してください。例えば Streamzap のリモコンの場合:
install ir_sharp_decoder /bin/false install ir_xmp_decoder /bin/false install ir_rc5_decoder /bin/false install ir_nec_decoder /bin/false install ir_sony_decoder /bin/false install ir_mce_kbd_decoder /bin/false install ir_jvc_decoder /bin/false install ir_rc6_decoder /bin/false install ir_sanyo_decoder /bin/false
デフォルト設定を変更する
irw
で何も出力されない場合、/etc/lirc/lirc_options.conf
のデフォルト設定が原因である可能性があります (あるいはアップデートによって上書きされた可能性もあります)。
まず、/dev/lirc0
が存在するかどうか確認してください:
$ mode2 --driver default --device /dev/lirc0
リモコンのボタンを押してみて何か出力されないか確認してください。出力がある場合、/etc/lirc/lirc_options.conf
を編集して driver と device を適当な値に変更してください。
何も出力されない場合、適切なドライバーとデバイスの組み合わせを探します。最初に lirc がデフォルトでどの組み合わせを認識しているのか確認します。v4l-utils パッケージに含まれている ir-keytable
を実行して出力を確認してください。以下のように出力されます:
Found /sys/class/rc/rc0/ (/dev/input/event5) with: Driver ite-cir, table rc-rc6-mce Supported protocols: unknown other lirc rc-5 jvc sony nec sanyo mce-kbd rc-6 sharp xmp Enabled protocols: lirc Extra capabilities: <access denied>
上記の場合、lirc は /dev/input/event5
を赤外線デバイスとして自動的に認識して、devinput
ドライバーが使われています。以下のコマンドを実行することで組み合わせが正しいか確認します:
$ mode2 --driver devinput --device /dev/input/event5
リモコンのボタンを押してみてください。何も出力されない場合、別のドライバーとデバイスの組み合わせを試してみてください。機能する組み合わせを発見したら、/etc/lirc/lirc_options.conf
の driver と device を変更してください。
サンプル
MCE RC6 互換レシーバの設定例:
/etc/lirc/lirc_options.conf
[lircd] nodaemon = False driver = default device = /dev/lirc0 output = /var/run/lirc/lircd pidfile = /var/run/lirc/lircd.pid plugindir = /usr/lib/lirc/plugins permission = 666 allow-simulate = No repeat-max = 600 [lircmd] uinput = False nodaemon = False