Archive:TiVo Slide

From Official Kodi Wiki
Jump to navigation Jump to search
Full-tivo-slide-remote.png
Attention talk.png Need help? Try asking in this kodi.tv forum thread.

Tivo Slide and Slide Pro were made for use with various Tivo DVRs, but can be used with many Kodi-based HTPCs.

  • Slide-out QWERTY keyboard
  • Backlit keys
  • Bluetooth (original) or RF (Pro) operation for most keys
  • Ability to program some keys (Volume/Power) to use IR to control a TV or AVR's volume, etc.

However, the remote does not work completely out-of-the-box with Kodi. This page will describe how to set up the Slide remotes using either Windows or a Linux-based install (such as Ubuntu or OpenELEC).

Note: For the newer Slide Pro remote, you must have the USB dongle for it to work! If you are buying this for the first time, make sure you are ordering the kit that includes the dongle, as it is cheaper than buying separately.

Setting up the original bluetooth Slide remote

Note: If you have the newer Slide Pro, then you can skip this section. There are two modes of operation for the original bluetooth version of the Slide.

USB HID Emulation [Recommended]
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]
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.


Configuring which mode is a bit of a mystery. Simply plugging into a Ubuntu 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:

sudo apt-get remove bluez
sudo apt-get remove blueman
sudo sh -c "echo 'blacklist btusb\nblacklist bluetooth' > /etc/modprobe.d/blacklist-tivoslide.conf"
sudo reboot -now

Pair Remote and Dongle

You can now pair the remote with the dongle as described in the manufacturer documentation

  1. On the TiVo Slide remote, press and hold the TiVo button and the blue "B" button simultaneously until the activity indicator light blinks blue
  2. On the dongle, press and hold the button until the LED starts blinking
  3. After a few seconds, the remote's activity light will blink rapidly 5 times and then go off if pairing is successful

Setting up the Slide Pro

Note: If you have the older bluetooth Slide remote, then you can skip this section.


Note: For the newer Slide Pro remote, you must have the USB dongle for it to work! If you are buying this for the first time, make sure you are ordering the kit that includes the dongle, as it is cheaper than buying separately.

  1. Plug in the USB receiver.

Fixing the non-functional keys

Some of the keys on the Slide remotes should now work, but many of the very important buttons need additional modification. The following steps apply to both the original Slide and the Slide Pro.

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
  • 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
  • SUBSYSTEM=="input", SUBSYSTEMS=="usb", ENV{ID_VENDOR_ID}=="150a", ENV{ID_MODEL_ID}=="1201", RUN+="/lib/udev/keymap $name /lib/udev/keymaps/tivo-slide"

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.

<!-- Tivo Slide Keymap  -->
<keymap>
  <global>
    <keyboard>
      <prev_track>ParentDir</prev_track>
      <f6>PreviousMenu</f6> <!-- ZOOM = previous menu -->
      <f10>VolumeUp</f10>   <!-- CHUP = xbmc volume up-->
      <f11>VolumeDown</f11> <!-- CHDN = xbmc volume down-->
      <volume_up>Yellow</volume_up>     <!-- map volume keys to "do nothing" -->
      <volume_down>Yellow</volume_down> <!-- map volume keys to "do nothing" -->
      <f5>ActivateWindow(Videos,Files)</f5> <!-- A (YELLOW) = launch Video files -->
      <f4>ActivateWindow(Videos,TvShowTitles)</f4> <!-- B (BLUE) = launch TV Shows -->
      <f2>ActivateWindow(Videos,MovieTitles)</f2> <!-- C (RED) = launch Movies -->
      <f3>ActivateWindow(MusicFiles)</f3> <!-- D (GREEN) = launch Music files -->
    </keyboard>
  </global>
  <Home>
    <keyboard>
    </keyboard>
  </Home>
  <VirtualKeyboard>
    <keyboard>
    </keyboard>
  </VirtualKeyboard>
  <MyFiles>
    <keyboard>
    </keyboard>
  </MyFiles>
  <MyMusicPlaylist>
    <keyboard>
    </keyboard>
  </MyMusicPlaylist>
  <MyMusicPlaylistEditor>
    <keyboard>
    </keyboard>
  </MyMusicPlaylistEditor>
  <MyMusicFiles>
    <keyboard>
    </keyboard>
  </MyMusicFiles>
  <MyMusicLibrary>
    <keyboard>
    </keyboard>
  </MyMusicLibrary>
  <FullscreenVideo>
    <keyboard>
      <prev_track>SmallStepBack</prev_track>
    </keyboard>
  </FullscreenVideo>
  <VideoTimeSeek>
    <keyboard>
    </keyboard>
  </VideoTimeSeek>
  <FullscreenInfo>
    <keyboard>
    </keyboard>
  </FullscreenInfo>
  <PlayerControls>
    <keyboard>
    </keyboard>
  </PlayerControls>
  <Visualisation>
    <keyboard>
    </keyboard>
  </Visualisation>
  <MusicOSD>
    <keyboard>
    </keyboard>
  </MusicOSD>
  <VisualisationSettings>
    <keyboard>
    </keyboard>
  </VisualisationSettings>
  <VisualisationPresetList>
    <keyboard>
    </keyboard>
  </VisualisationPresetList>
  <SlideShow>
    <keyboard>
    </keyboard>
  </SlideShow>
  <ScreenCalibration>
    <keyboard>
    </keyboard>
  </ScreenCalibration>
  <GUICalibration>
    <keyboard>
    </keyboard>
  </GUICalibration>
  <SelectDialog>
    <keyboard>
    </keyboard>
  </SelectDialog>
  <VideoOSD>
    <keyboard>
    </keyboard>
  </VideoOSD>
  <VideoMenu>
    <keyboard>
    </keyboard>
  </VideoMenu>
  <OSDVideoSettings>
    <keyboard>
    </keyboard>
  </OSDVideoSettings>
  <OSDAudioSettings>
    <keyboard>
    </keyboard>
  </OSDAudioSettings>
  <VideoBookmarks>
    <keyboard>
    </keyboard>
  </VideoBookmarks>
  <MyVideoLibrary>
    <keyboard>
      <record>ToggleWatched</record>
    </keyboard>
  </MyVideoLibrary>
  <MyVideoFiles>
    <keyboard>
      <record>ToggleWatched</record>
    </keyboard>
  </MyVideoFiles>
  <MyVideoPlaylist>
    <keyboard>
    </keyboard>
  </MyVideoPlaylist>
  <ContextMenu>
    <keyboard>
    </keyboard>
  </ContextMenu>
  <FileStackingDialog>
    <keyboard>
    </keyboard>
  </FileStackingDialog>
  <Scripts>
    <keyboard>
    </keyboard>
  </Scripts>
  <Weather>
    <keyboard>
    </keyboard>
  </Weather>
  <Settings>
    <keyboard>
    </keyboard>
  </Settings>
  <MyPicturesSettings>
    <keyboard>
    </keyboard>
  </MyPicturesSettings>
  <MyProgramsSettings>
    <keyboard>
    </keyboard>
  </MyProgramsSettings>
  <MyWeatherSettings>
    <keyboard>
    </keyboard>
  </MyWeatherSettings>
  <MyMusicSettings>
    <keyboard>
    </keyboard>
  </MyMusicSettings>
  <SystemSettings>
    <keyboard>
    </keyboard>
  </SystemSettings>
  <MyVideosSettings>
    <keyboard>
    </keyboard>
  </MyVideosSettings>
  <NetworkSettings>
    <keyboard>
    </keyboard>
  </NetworkSettings>
  <AppearanceSettings>
    <keyboard>
    </keyboard>
  </AppearanceSettings>
  <Profiles>
    <keyboard>
    </keyboard>
  </Profiles>
  <systeminfo>
    <keyboard>
    </keyboard>
  </systeminfo>
  <shutdownmenu>
    <keyboard>
    </keyboard>
  </shutdownmenu>
  <submenu>
    <keyboard>
    </keyboard>
  </submenu>
  <MusicInformation>
    <keyboard>
    </keyboard>
  </MusicInformation>
  <MovieInformation>
    <keyboard>
    </keyboard>
  </MovieInformation>
  <AddonInformation>
    <keyboard>
    </keyboard>
  </AddonInformation>
  <AddonSettings>
    <keyboard>
    </keyboard>
  </AddonSettings>
  <LockSettings>
    <keyboard>
    </keyboard>
  </LockSettings>
  <ProfileSettings>
    <keyboard>
    </keyboard>
  </ProfileSettings>
  <PictureInfo>
    <keyboard>
    </keyboard>
  </PictureInfo>
  <Teletext>
    <keyboard>
    </keyboard>
  </Teletext>
  <Favourites>
    <keyboard>
    </keyboard>
  </Favourites>
</keymap>

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:

Issues:

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:

  • Thumbs Up
  • Thumbs Down
  • Tivo
  • Live TV

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:

  • 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.
  • Tivo has no "Menu" button (which XBMC uses to bring up the Context Menu)
  • Tivo has a "slow motion" button, but XBMC doesn't support slo-mo.

Hopefully, someone will design a Tivo-like skin for XBMC!