TODO RC

From LinuxTVWiki
Revision as of 22:06, 6 November 2017 by Seanyoung (talk | contribs)
Jump to navigation Jump to search

Minor bugs/improvement

  • struct ir_raw_event_ctrl member prev_ev. Investigate if this can be removed.
  • if driver depends on RC_CORE, change this to select RC_CORE, depends on INPUT? OR use a patch like https://patchwork.linuxtv.org/patch/40601/ and remove "depends on RC_CORE".
  • RC device RC_DRIVER_IR_RAW_TX leaks dev->raw on rc_unregister_device()?
  • Unplug iguanair with lirc chardev open causes kernel to go bang
  • CEC repeat code needs to move into rc-core
  • mceusb can do wakeups. Allow this to be configured
  • Can sir_ir and/or serial_ir use serdev
  • iguanair_tx() can be simplified
  • NEC32 mess (again)
  • Rename lirc record -> lirc receive (e.g. ir-ctl).

Larger work

  • Make it possible to load multiple keymaps with ir-keytable. It should detect if the new keymap conflicts with any already loaded keymap, and ensure the right protocols are selected.
    • Further improvement: make the kernel mapping rc_proto:scancode -> keycode, not just scancode. This should reduce the number of possible conflicts.
  • Compare lirc rc6 decoder. Can it handle multiple keypresses? What repeat/delay times does it use? See https://bugzilla.kernel.org/show_bug.cgi?id=48761
  • lirc_zilog rc core driver (Sean Young working on this)
  • Once lirc_zilog is removed, remove lirc kapi. Example is here: https://git.linuxtv.org/syoung/media_tree.git/log/?h=lirc_scancodes
  • Implement scancode reading and transmitting:
    • It's very hard to tell what protocol a remote is using
    • Kernel already has encoders, make sure they can be used for tx
    • CEC might want to reuse this interface
    • Patch series already exist for this
  • MS MCE Keyboard keymap needs multiple protocols. Keymap needed to select it. https://www.mail-archive.com/linux-media@vger.kernel.org/msg115706.html
  • ir-ctl should list available devices if run without any argument and allow to select device based on rc (based on /sys/class/rc/).
  • Rework ir raw decoders; register should only happen when protocol enabled (so we don't get an MCE input device). Also if decoders not enabled, #ifdef a load of stuff out.