TODO RC

From LinuxTVWiki
Revision as of 22:30, 5 October 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
  • scancode drivers set allowed_protocols but not enabled_protocols (and no change_protocol function). This results in no protocol enabled, and ir-keytable complains when you a load a keymap (cannot write to protocols file since change_protocol is not set).
  • CEC repeat code needs to move into rc-core
  • mceusb can do wakeups. Allow this to be configured

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=remove-lirc-dev
  • 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/).