Generic PS3 remote

From XBMC
Jump to: navigation, search
Fut-ps3.jpg

There are many generic IR PS3 Remotes. I tried a couple of units from Chinese on-line shops and the keys stuck or were unreliable. Also some of the USB "Dongles" were very directional.

I settled on this particular unit as it appears in Windows device manager as a UID-Gampad and the key=presses test in the control panel

and is detected under Linux as ID 1130:0202 Tenx Technology, Inc. and cat /proc/bus/input/devices -> results in:

I: Bus=0003 Vendor=1130 Product=0202 Version=0110
N: Name="YuanChen Game Controller"
P: Phys=usb-0000:00:1d.2-2/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.2/usb4/4-2/4-2:1.0/input/input5
U: Uniq=
H: Handlers=event5 js1 
B: EV=1b<br/>
B: KEY=fff 0 0 0 0 0 0 0 0 0
B: ABS=3002f
B: MSC=10
key numbers

YuanChen.Game.Controller.xml

Keymapping for Generic PS3 remote.

XBMC Live (v10.1) seems to load this without any other changes to the default config.

Working Config, (Kind off) I'm trying to get LIRC to produce different events to stop the duplication of keys.

Cut and paste the following into a new text document and save as YuanChen.Game.Controller.xml and place in /usr/share/xbmc/system/keymaps/

<keymap>
  <global>
    <joystick name="YuanChen Game Controller">
      <altname>YuanChen Game Controller</altname>
      <!-- TOP MENU --><button id="1">FullScreen</button>
      <!-- Center Hat  --><button id="2">Select</button>
      <!--  R2 --><button id="3">XBMC.ActivateWindow(Home)</button>
      <!-- Options --><button id="4">ContextMenu</button>
      <!--  L1  --><button id="5">VolumeUp</button>
      <!--  R1? --><button id="6">FullScreen</button>
      <!--  L2  --><button id="7">VolumeDown</button>
      <!--  BACK  --><button id="8">PreviousMenu</button>
      <!-- Display --><button id="9">Info</button>
      <!-- START --><button id="10">Mute</button>
      <!-- L3 --><button id="11">ActivateWindow(shutdownmenu)</button>
      <!-- R3 --><button id="12">Screenshot</button>
      <hat    id="1" position="left">Left</hat>
      <hat    id="1" position="right">Right</hat>
      <hat    id="1" position="up">Up</hat>
      <hat    id="1" position="down">Down</hat>
      <button id="5">VolumeUp</button>     
      <button id="7">VolumeDown</button>
      <axis limit="+1" id="3">AnalogSeekForward</axis>
      <axis limit="-1" id="3">AnalogSeekBack</axis>
      <axis limit="-1" id="2">ScrollUp</axis>
      <axis limit="+1" id="2">ScrollDown</axis>

    </joystick>
  </global>

  <Home>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">XBMC.ActivateWindow(Favourites)</button>
    </joystick>
  </Home>

  <MyPictures>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">ParentDir</button>
    </joystick>
  </MyPictures>

  <MyMusicPlaylist>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">Playlist</button>
    </joystick>
  </MyMusicPlaylist>

  <MyMusicPlaylistEditor>
    <joystick name="YuanChen Game Controller">
      <button id="3">Playlist</button>
    </joystick>
  </MyMusicPlaylistEditor>

  <MyMusicFiles>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">ParentDir</button>
      <button id="4">Queue</button>
    </joystick>
  </MyMusicFiles>

  <MyMusicLibrary>
    <joystick name="YuanChen Game Controller">
      <button id="3">ParentDir</button>
      <button id="4">Queue</button>
    </joystick>
  </MyMusicLibrary>

  <FullscreenVideo>
    <joystick name="YuanChen Game Controller">
      <button id="10">Pause</button>
      <button id="3">Stop</button>
      <button id="9">AspectRatio</button>
      <button id="">Rewind</button>
      <button id="">FastForward</button>
      <button id="4">OSD</button>

      <hat    id="1" position="left">StepBack</hat>
      <hat    id="1" position="right">StepForward</hat>
      <hat    id="1" position="up">BigStepForward</hat>
      <hat    id="1" position="down">BigStepBack</hat>
    </joystick>
  </FullscreenVideo>

  <FullscreenInfo>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">Close</button>
    </joystick>
  </FullscreenInfo>

  <PlayerControls>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">Close</button>
    </joystick>
  </PlayerControls>

  <Visualisation>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="2">Pause</button>
      <button id="3">Stop</button>
      <button id="4">XBMC.ActivateWindow(VisualisationPresetList)</button>
      <button id="5">Rewind</button>
      <button id="6">FastForward</button>
      <button id="10">XBMC.ActivateWindow(MusicOSD)</button>

      <hat    id="1" position="left">SkipPrevious</hat>
      <hat    id="1" position="right">SkipNext</hat>
      <hat    id="1" position="up">NextPreset</hat>
      <hat    id="1" position="left">PreviousPreset</hat>
    </joystick>
  </Visualisation>

  <MusicOSD>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">Close</button>
    </joystick>
  </MusicOSD>

  <VisualisationSettings>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">Close</button>
    </joystick>
  </VisualisationSettings>

  <VisualisationPresetList>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">Close</button>
    </joystick>
  </VisualisationPresetList>

  <SlideShow>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="1">ZoomNormal</button>
      <button id="2">Pause</button>
      <button id="3">Stop</button>
      <button id="4">Rotate</button>

      <hat    id="1" position="left">PreviousPicture</hat>
      <hat    id="1" position="right">NextPicture</hat>
      <hat    id="1" position="up">ZoomIn</hat>
      <hat    id="1" position="down">ZoomOut</hat>
    </joystick>
  </SlideShow>

  <ScreenCalibration>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="2">NextCalibration</button>
    </joystick>
  </ScreenCalibration>

  <SelectDialog>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">Close</button>
    </joystick>
  </SelectDialog>

  <VideoOSD>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">Close</button>
    </joystick>
  </VideoOSD>

  <OSDVideoSettings>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">Close</button>
    </joystick>
  </OSDVideoSettings>

  <OSDAudioSettings>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">Close</button>
    </joystick>
  </OSDAudioSettings>

  <VideoBookmarks>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">Close</button>
    </joystick>
  </VideoBookmarks>

  <MyVideoLibrary>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">ParentDir</button>
      <button id="4">Queue</button>
      <button id="5">Info</button>
    </joystick>
  </MyVideoLibrary>

  <MyVideoFiles>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">ParentDir</button>
      <button id="4">Queue</button>
      <button id="5">Info</button>
    </joystick>
  </MyVideoFiles>

  <MyVideoPlaylist>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">Playlist</button>
    </joystick>
  </MyVideoPlaylist>

  <VirtualKeyboard>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="1">Symbols</button>
      <button id="3">BackSpace</button>
      <button id="4">Shift</button>
      <button id="5">CursorLeft</button>
      <button id="6">CursorRight</button>
      <button id="9">Close</button>
      <button id="10">Enter</button>
    </joystick>
  </VirtualKeyboard>

  <ContextMenu>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">Close</button>
    </joystick>
  </ContextMenu>

  <FileStackingDialog>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">Close</button>
    </joystick>
  </FileStackingDialog>

  <MusicInformation>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">Close</button>
    </joystick>
  </MusicInformation>

  <MovieInformation>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">Close</button>
    </joystick>
  </MovieInformation>

  <PictureInfo>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">Close</button>
    </joystick>
  </PictureInfo>

  <AddonInformation>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">Close</button>
    </joystick>
  </AddonInformation>

  <AddonSettings>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">Close</button>
    </joystick>
  </AddonSettings>

  <TextViewer>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">Close</button>
    </joystick>
  </TextViewer>

  <NumericInput>
    <joystick name="YuanChen Game Controller">
      <altname>Logitech Cordless RumblePad 2</altname>
      <button id="3">Close</button>
    </joystick>
  </NumericInput>

</keymap>


Personal tools
Namespaces
Variants
Actions
Navigation
Wiki help
Google Search
Toolbox