TiVo Slide

Tivo Slide


Tivo Slide is made for use with the Tivo DVR, but can be used with an HTPC. It features both IR and Bluetooth, and has a slide-out QWERTY keyboard. It functions well under Windows, though a program to remap the keys is needed (EventGhost, Intelliremote, etc.). It is functional under XBMCBuntu 11.0 Eden, though there are 4 buttons which do not work. Support for these buttons is in the Linux kernel, the next release of XBMCBuntu should work fine.

Overview
The Tivo Slide is a wonderful remote control featuring:  Slide-out QWERTY keyboard Backlit keys RF (bluetooth) operation for most keys Ability to program some keys (Volume/Power) to use IR  There is a lot of discussion regarding this remote on the XBMC Forums.

Hardware:
 Tivo Slide remote with supplied dongle 

Software:
 XBMCbuntu Eden 11.0</li> </ul>

Configuration:
There are two modes of operation for this remote  USB HID Emulation [Recommended]</li> The dongle presents itself to the computer as a USB keyboard. It uses bluetooth to communicate with the remote, but does not expose bluetooth to the computer in any way - it is just a USB keyboard.

Bluetooth Device [Not Recommended]</li> The dongle presents itself to the computer as a bluetooth adapter. Through this adapter, you can connect to the remote as a bluetooth keyboard. This setup has been problematic, and therefore is not described here. </ul> Configuring which mode is a bit of a mystery. Simply plugging into a XBMCbuntu 11.0 machine seems to put the dongle into bluetooth adapter mode. In order to force it into USB HID Emulation mode, you need to completely disable bluetooth on the computer, as described below.

Disable Bluetooth
Disabling bluetooth is necessary to force the dongle into USB HID Emulation mode. There may be another way to do that, but so far this is the only method discovered. From a command line, issue the following commands: <ol> sudo apt-get remove bluez</li> sudo apt-get remove blueman</li> sudo sh -c "echo 'blacklist btusb\nblacklist bluetooth' > /etc/modprobe.d/blacklist-tivoslide.conf"</li> sudo reboot -now</li> </ol>

Pair Remote and Dongle
You can now pair the remote with the dongle as described in the manufacturer documentation <ol> On the TiVo Slide remote, press and hold the TiVo button and the blue "B" button simultaneously until the activity indicator light blinks blue</li> On the dongle, press and hold the button until the LED starts blinking</li> After a few seconds, the remote's activity light will blink rapidly 5 times and then go off if pairing is successful</li> </ol>

Test with evtest
Optional - instructions need to be written!

Re-map Problem Keys
There are several reasons why you need to re-map keys on the Tivo Slide remote. First, due to a limitation of X.org no keycodes with values larger than 255 can be used. There are several such keys on this remote. Therefore they need to get re-mapped from large keycodes (>255) into smaller ones so that applications like XBMC can use them. Second, you may want to re-map some keys to do something more useful than their default. The proper way to re-map your keys is using the Linux udev system. To do this:  Create this file: /lib/udev/keymaps/tivo-slide</li> 0x000C0041 enter    #SELECT 0x000C0069 f2       #C (RED) 0x000C006A f3       #D (GREEN) 0x000C006B f4       #B (BLUE) 0x000C006C f5       #A (YELLOW) 0x000C006D f6       #ZOOM 0x000C0082 f7       #INPUT 0x000C0083 f8       #ENTER 0x000C008D f9       #GUIDE 0x000C009C f10      #CHUP 0x000C009D f11      #CHDN 0x000C00B1 playpause #PAUSE 0x000C00B2 record   #RECORD 0x000C00F5 stop     #SLOW Add this line to the file: /etc/udev/rules.d/95-keymap.rules</li> SUBSYSTEM=="input", SUBSYSTEMS=="usb", ENV{ID_VENDOR_ID}=="150a", ENV{ID_MODEL_ID}=="1201", RUN+="/lib/udev/keymap $name /lib/udev/keymaps/tivo-slide" </ul>

Assign Keys To XBMC Functions
Use the file /home/xbmc/.xbmc/userdata/keymaps/keyboard.xml to assign keys to functions withing XBMC. Below is a recommended keyboard.xml, but you can customize this all you want.

<prev_track>ParentDir</prev_track> <f6>PreviousMenu</f6> VolumeUp VolumeDown <volume_up>Yellow</volume_up> <volume_down>Yellow</volume_down> <f5>ActivateWindow(Videos,Files)</f5> <f4>ActivateWindow(Videos,TvShowTitles)</f4> <f2>ActivateWindow(Videos,MovieTitles)</f2> <f3>ActivateWindow(MusicFiles)</f3> <Home> </Home> <VirtualKeyboard> </VirtualKeyboard> <MyFiles> </MyFiles> <MyMusicPlaylist> </MyMusicPlaylist> <MyMusicPlaylistEditor> </MyMusicPlaylistEditor> <MyMusicFiles> </MyMusicFiles> <MyMusicLibrary> </MyMusicLibrary> <FullscreenVideo> <prev_track>SmallStepBack</prev_track> </FullscreenVideo> <VideoTimeSeek> </VideoTimeSeek> <FullscreenInfo> </FullscreenInfo> <PlayerControls> </PlayerControls> <Visualisation> </Visualisation> <MusicOSD> </MusicOSD> <VisualisationSettings> </VisualisationSettings> <VisualisationPresetList> </VisualisationPresetList> <SlideShow> </SlideShow> <ScreenCalibration> </ScreenCalibration> <GUICalibration> </GUICalibration> <SelectDialog> </SelectDialog> <VideoOSD> </VideoOSD> <VideoMenu> </VideoMenu> <OSDVideoSettings> </OSDVideoSettings> <OSDAudioSettings> </OSDAudioSettings> <VideoBookmarks> </VideoBookmarks> <MyVideoLibrary> ToggleWatched </MyVideoLibrary> <MyVideoFiles> ToggleWatched </MyVideoFiles> <MyVideoPlaylist> </MyVideoPlaylist> <ContextMenu> </ContextMenu> <FileStackingDialog> </FileStackingDialog> <Scripts> </Scripts> <Weather> </Weather> <Settings> </Settings> <MyPicturesSettings> </MyPicturesSettings> <MyProgramsSettings> </MyProgramsSettings> <MyWeatherSettings> </MyWeatherSettings> <MyMusicSettings> </MyMusicSettings> <SystemSettings> </SystemSettings> <MyVideosSettings> </MyVideosSettings> <NetworkSettings> </NetworkSettings> <AppearanceSettings> </AppearanceSettings> <Profiles> </Profiles> <MusicInformation> </MusicInformation> <MovieInformation> </MovieInformation> <AddonInformation> </AddonInformation> <AddonSettings> </AddonSettings> <LockSettings> </LockSettings> <ProfileSettings> </ProfileSettings> <PictureInfo> </PictureInfo> <Teletext> </Teletext> <Favourites> </Favourites>

Configure the IR keys
Some of the keys can be programmed to send IR commands instead of bluetooth. See the following resources for more information:  Tivo instructions for IR code search</li> Tivo instructions for IR learning</li> </ul>

Non-functional Keys
There are four keys that currently do not work. They require a Linux kernel patch to get functional - instructions on doing that are not yet available. The four keys are: <ul> <li>Thumbs Up</li> <li>Thumbs Down</li> <li>Tivo</li> <li>Live TV</li> </ul>

Skin Problems
The Tivo remotes are designed for use with the Tivo user interface, which is not very similar to any known XBMC Skin. This leads to some strange inconsistencies. For example: <ul> <li>Tivo has no "Stop" button, and therefore neither does it's remote. If I remember correctly, on a Tivo you hit "Left" to exit a playing video.</li> <li>Tivo has no "Menu" button (which XBMC uses to bring up the Context Menu)</li> <li>Tivo has a "slow motion" button, but XBMC doesn't support slo-mo.</li> </ul> Hopefully, someone will design a Tivo-like skin for XBMC!