Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | |
| 2 | infrared remote control support in video4linux drivers |
| 3 | ====================================================== |
| 4 | |
| 5 | |
| 6 | basics |
| 7 | ------ |
| 8 | |
| 9 | Current versions use the linux input layer to support infrared |
| 10 | remote controls. I suggest to download my input layer tools |
| 11 | from http://bytesex.org/snapshot/input-<date>.tar.gz |
| 12 | |
| 13 | Modules you have to load: |
| 14 | |
| 15 | saa7134 statically built in, i.e. just the driver :) |
| 16 | bttv ir-kbd-gpio or ir-kbd-i2c depending on your |
| 17 | card. |
| 18 | |
| 19 | ir-kbd-gpio and ir-kbd-i2c don't support all cards lirc supports |
| 20 | (yet), mainly for the reason that the code of lirc_i2c and lirc_gpio |
| 21 | was very confusing and I decided to basically start over from scratch. |
| 22 | Feel free to contact me in case of trouble. Note that the ir-kbd-* |
| 23 | modules work on 2.6.x kernels only through ... |
| 24 | |
| 25 | |
| 26 | how it works |
| 27 | ------------ |
| 28 | |
| 29 | The modules register the remote as keyboard within the linux input |
| 30 | layer, i.e. you'll see the keys of the remote as normal key strokes |
| 31 | (if CONFIG_INPUT_KEYBOARD is enabled). |
| 32 | |
| 33 | Using the event devices (CONFIG_INPUT_EVDEV) it is possible for |
| 34 | applications to access the remote via /dev/input/event<n> devices. |
| 35 | You might have to create the special files using "/sbin/MAKEDEV |
| 36 | input". The input layer tools mentioned above use the event device. |
| 37 | |
| 38 | The input layer tools are nice for trouble shooting, i.e. to check |
| 39 | whenever the input device is really present, which of the devices it |
| 40 | is, check whenever pressing keys on the remote actually generates |
| 41 | events and the like. You can also use the kbd utility to change the |
| 42 | keymaps (2.6.x kernels only through). |
| 43 | |
| 44 | |
| 45 | using with lircd |
| 46 | ================ |
| 47 | |
| 48 | The cvs version of the lircd daemon supports reading events from the |
| 49 | linux input layer (via event device). The input layer tools tarball |
| 50 | comes with a lircd config file. |
| 51 | |
| 52 | |
| 53 | using without lircd |
| 54 | =================== |
| 55 | |
| 56 | XFree86 likely can be configured to recognise the remote keys. Once I |
| 57 | simply tried to configure one of the multimedia keyboards as input |
| 58 | device, which had the effect that XFree86 recognised some of the keys |
| 59 | of my remote control and passed volume up/down key presses as |
| 60 | XF86AudioRaiseVolume and XF86AudioLowerVolume key events to the X11 |
| 61 | clients. |
| 62 | |
| 63 | It likely is possible to make that fly with a nice xkb config file, |
| 64 | I know next to nothing about that through. |
| 65 | |
| 66 | |
| 67 | Have fun, |
| 68 | |
| 69 | Gerd |
| 70 | |
| 71 | -- |
| 72 | Gerd Knorr <kraxel@bytesex.org> |