[mythtv-users] TiVo Slide Remote, Linux and Scan Codes

Jarod Wilson jarod at wilsonet.com
Fri Sep 3 00:44:19 UTC 2010


On Thu, Sep 2, 2010 at 6:18 PM, jmk <jmk at foofus.net> wrote:
> On Wed, 2010-09-01 at 05:11 +0100, Jason Chambers wrote:
>> The PS3 bluetooth remote has a similar problem. Although every key is
>> given a different scancode, some of these are above 255 (i.e. more  than
>> one byte) and from what I read on various pages it didn't sound like
>> they can be used in the normal way yet until XKB2 is added to Xorg (I
>> know nothing about X11 so that could be completely wrong though!)

No, that's basically correct. Xorg swallows any and all keycodes over
255. Attaching directly to the input device, you can get a ton more
out of it.

>> Anyways, the kitlaan patch for bluez adds the ability to have a mapping
>> table in /etc/bluetooth/input.conf to override the compiled-in defaults,
>> allowing you to choose what keyboard key is generated for each remote
>> button.
>>
>> Maybe something similar could be done for the TiVo remote.
>
> I've played with stuff a bit, but I'm a total newb when it comes to
> bluetooth and/or hacking input devices.
>
> The TiVo remote shipped with a USB BT adapter. My understanding is that
> devices like these are often performing USB HID emulation and simply
> appear to Linux as a keyboard/mouse, with no access to its bluetooth
> functionality. Based on what I'm seeing in dmesg and elsewhere, this
> seems to be the case.
>
> Based on my (limited) understanding, I see two primary paths:
>
> 1) Hack USB HID kernel support for non-working keys
>
> The dmesg output references a hidraw device tied to the "USB HID
> Keypad". Reading from this device (e.g. /dev/hidraw5), I get results for
> all keys on the remote. I'm taking this as a good thing. ;)
>
> I'm assuming that modifications could be made to the usbhid module to
> handle these keys. I'm guessing the code in hid-quirks.c is related to
> this type of challenge.
>
> Does this make sense?

More or less, yes.

> Anyone have a good guide for making these types of tweaks?

Various source files in the kernel. :) (drivers/hid/hid-*.c). Probably
quite similar stuff to hid-topseed.c needed, is my best guess, but it
could be more complex.

In related news, I think I'm going to pick one of those up this
weekend myself, so you can count on it working sooner or later, as I
plan to use it with my own mythtv box. ;)

-- 
Jarod Wilson
jarod at wilsonet.com


More information about the mythtv-users mailing list