I have a question for the Input folk, see below ...
On Sunday 07 December 2008, David Brownell wrote:
> From: David Brownell <[EMAIL PROTECTED]>
>
> Simple input driver support for the events reported by the
> MSP430 firmware on the DM355 EVM. Verified using the remote
> included with the kit; docs weren't quite right. Some of
> the keycode selections might need improvement; I'm hoping
> I implemented the remapping support right, so there's at
> least a runtime workaround.
>
> Keys on the remote seem to repeat undesirably. Someone might
> want to see what's up with that, and fix it; it might just
> be an issue of tracking RC5 state and using the toggle.
>
> Signed-off-by: David Brownell <[EMAIL PROTECTED]>
> ---
> Depends on the patch for the parent MFD driver, and won't work
> without the patch making GPIO IRQs work on dm355.
>
> NOTE: not suitable for mainline until the dm355evm board support
> (and parent MFD driver) is in the merge queue.
>
> drivers/input/keyboard/Kconfig | 8
> drivers/input/keyboard/Makefile | 1
> drivers/input/keyboard/dm355evm_keys.c | 303 +++++++++++++++++++++++++++++++
> 3 files changed, 312 insertions(+)
>
> ...
It seems this RC5 coding is used by a fair number of devices.
Is this the first one to get Linux support?
I kind of get the impression that some more generic support for
this might be useful at some point. Along the lines of a module
to map (and remap?) RC5 codes to what Linux uses.
Maybe the *next* remote control driver can worry about that. :)
- Dave
> + /*
> + * IR buttons ... codes assigned to match the universal remote
> + * provided with the EVM (Philips PM4S) using DVD code 0020.
> + *
> + * These event codes match firmware documentation, but other
> + * remote controls could easily send more RC5-encoded events.
> + * The PM4S manual was used in several cases to help select
> + * a keycode reflecting the intended usage.
> + *
> + * RC5 codes are 14 bits, with two start bits (0x3 prefix)
> + * and a toggle bit (masked out below).
> + */
> + { 0x300c, KEY_POWER, }, /* NOTE: docs omit this */
> + { 0x3000, KEY_NUMERIC_0, },
> + { 0x3001, KEY_NUMERIC_1, },
> + { 0x3002, KEY_NUMERIC_2, },
> + { 0x3003, KEY_NUMERIC_3, },
> + { 0x3004, KEY_NUMERIC_4, },
> + { 0x3005, KEY_NUMERIC_5, },
> + { 0x3006, KEY_NUMERIC_6, },
> + { 0x3007, KEY_NUMERIC_7, },
> + { 0x3008, KEY_NUMERIC_8, },
> + { 0x3009, KEY_NUMERIC_9, },
> + { 0x3022, KEY_ENTER, },
> + { 0x30ec, KEY_MODE, }, /* "tv/vcr/..." */
> + { 0x300f, KEY_SELECT, }, /* "info" */
> + { 0x3020, KEY_CHANNELUP, }, /* "up" */
> + { 0x302e, KEY_MENU, }, /* "in/out" */
> + { 0x3011, KEY_VOLUMEDOWN, }, /* "left" */
> + { 0x300d, KEY_MUTE, }, /* "ok" */
> + { 0x3010, KEY_VOLUMEUP, }, /* "right" */
> + { 0x301e, KEY_SUBTITLE, }, /* "cc" */
> + { 0x3021, KEY_CHANNELDOWN, }, /* "down" */
> + { 0x3022, KEY_PREVIOUS, },
> + { 0x3026, KEY_SLEEP, },
> + { 0x3172, KEY_REWIND, }, /* NOTE: docs wrongly say 0x30ca */
> + { 0x3175, KEY_PLAY, },
> + { 0x3174, KEY_FASTFORWARD, },
> + { 0x3177, KEY_RECORD, },
> + { 0x3176, KEY_STOP, },
> + { 0x3169, KEY_PAUSE, },
> +};
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source