Archive:MS-Tech MC-1200 Remote: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
No edit summary
(subst:)
Line 1: Line 1:
{{Remote
== MS-Tech MC-1200 Remote ==
|Name= MS-Tech MC-1200 Remote
[[File:Mc-1200 gross.jpg{{!}}300px|thumb]]
|Image= Mc-1200 gross.jpg{{!}}300px
 
|Description= Remote from the MS-Tech MC-1200 case.
Remote from the MS-Tech MC-1200 case.
|More info=
 
'''How to set up in Linux:'''
{{#if: '''How to set up in Linux:'''
== UDev rule ==
== UDev rule ==
First you have to create an own udev rule to ensure, that your device nodes are always the same.
First you have to create an own udev rule to ensure, that your device nodes are always the same.
Line 82: Line 82:
The entries unter EVENTS are the devices we created via udev.
The entries unter EVENTS are the devices we created via udev.
The OPTION entries mean the following:
The OPTION entries mean the following:
{|
{ |  
|-
{{#ifeq: {{PAGENAME}} | MS-Tech MC-1200 Remote | | {{{!}} class="collapsible collapsed" width="100%"
!-g
! style="text-align: left; background:#CADCFB;" {{!}} '''More info'''
|Grabs the input from the devices, specified under EVENTS, so that no other application interferes with it.
{{!}}-
|-
{{!}} }}
!-m 0
'''How to set up in Linux:'''
|By default, all keycodes below 88 are filtered out. This setting ensures, that all keycodes are captured
== UDev rule ==
|-
First you have to create an own udev rule to ensure, that your device nodes are always the same.
!-c
 
|Because some of the keys on the remote are mapped to keys with modifiers, this option maps this codes to single events.
We get the physical address from ''/proc/bus/input/devices'':
|}


cat /proc/bus/input/devices


Now restart inputlirc
the output is something like this:
sudo /etc/init.d/inputlirc restart
<pre>
...
 
I: Bus=0003 Vendor=04b4 Product=0101 Version=0100
N: Name="Cypress Cypress USB Keyboard / PS2 Mouse"
P: Phys=usb-0000:00:06.0-3/input0
S: Sysfs=/devices/pci0000:00/0000:00:06.0/usb4/4-3/4-3:1.0/input/input4
U: Uniq=
H: Handlers=kbd event4
B: EV=120013
B: KEY=800000 0 e0b0ffdf 1cfffff ffffffff fffffffe
B: MSC=10
B: LED=1f


You can now test the remote via 'irw':
I: Bus=0003 Vendor=04b4 Product=0101 Version=0100
  irw
N: Name="Cypress Cypress USB Keyboard / PS2 Mouse"
P: Phys=usb-0000:00:06.0-3/input1
S: Sysfs=/devices/pci0000:00/0000:00:06.0/usb4/4-3/4-3:1.1/input/input5
U: Uniq=
H: Handlers=kbd mouse1 event5
B: EV=17
B: KEY=70000 0 2010000 3978 d840d000 1e0000 0 0 0
B: REL=103
B: MSC=10  


This is some sample output from irw when pressing buttons:
...
<pre>
14 0 CTRL_SHIFT_KEY_P irremote0
a4 0 KEY_LEFT irremote0
a4 0 KEY_UP irremote0
a6 0 KEY_VOLUMEUP irremote1
</pre>
</pre>


== Configuration XBMC ==
What we need are the values behind ''Phys=''. In my case '''usb-0000:00:06.0-3/input0''' and '''usb-0000:00:06.0-3/input1'''.
The last thing you need to do is let XBMC know to what buttons to respond.
This is done via the Lircmap.xml:


  sudo nano ~/.xbmc/userdata/Lircmap.xml
Now we write a new rules file for udev:
 
  sudo nano /etc/udev/rules.d/10-irremote.rules


and put the following content in:
and put the following content in:
<pre>
<pre>
  <lircmap>
SUBSYSTEM=="input",ATTRS{phys}=="usb-0000:00:06.0-3/input0",SYMLINK="input/irremote0"
      <remote device="irremote0">
SUBSYSTEM=="input",ATTRS{phys}=="usb-0000:00:06.0-3/input1",SYMLINK="input/irremote1"
    <play>CTRL_SHIFT_KEY_P</play>
          <pause>CTRL_KEY_P</pause>   
          <stop>CTRL_SHIFT_KEY_S</stop>
          <forward>CTRL_SHIFT_KEY_F</forward>
          <reverse>CTRL_SHIFT_KEY_B</reverse>
          <skipplus>CTRL_KEY_F</skipplus>
          <skipminus>CTRL_KEY_B</skipminus>
          <left>KEY_LEFT</left>
          <right>KEY_RIGHT</right>
          <up>KEY_UP</up>
          <down>KEY_DOWN</down>
          <select>KEY_ENTER</select>
          <pageplus>KEY_PAGEUP</pageplus>
          <pageminus>KEY_PAGEDOWN</pageminus>
          <one>KEY_1</one>
          <two>KEY_2</two>
          <three>KEY_3</three>
          <four>KEY_4</four>
          <five>KEY_5</five>
          <six>KEY_6</six>
          <seven>KEY_7</seven>
          <eight>KEY_8</eight>
          <nine>KEY_9</nine>
          <zero>KEY_0</zero>
          <hash>SHIFT_KEY_3</hash>
          <star>KEY_KPASTERISK</star>
          <clear>KEY_DELETE</clear>
          <record>CTRL_KEY_R</record>
          <menu>ALT_KEY_ENTER</menu>
          <info>CTRL_KEY_G</info>
          <title>KEY_COMPOSE</title>
          <back>KEY_BACKSPACE</back>
          <display>ALT_META_KEY_ENTER</display>
          <start></start>
          <mytv>CTRL_SHIFT_KEY_T</mytv>
          <mymusic>CTRL_KEY_M</mymusic>
          <mypictures>CTRL_KEY_I</mypictures>
          <myvideo>CTRL_KEY_E</myvideo>
      </remote>
      <remote device="irremote1">
          <power>KEY_POWER</power>
          <volumeplus>KEY_VOLUMEUP</volumeplus>
          <volumeminus>KEY_VOLUMEDOWN</volumeminus>
          <mute>KEY_MIN_INTERESTING</mute>
      </remote>
</lircmap>
</pre>
</pre>


== Mapping ==
Now restart udev and trigger a new discovery:
I mapped most buttons correctly however the following is different:
 
sudo restart udev
sudo udevadm trigger
 
Under /dev/input should now be two more symlinks; irremote0 and irremote1:
 
ls /dev/input
 
== Inputlirc installation ==
 
First you have to install inputlirc and lirc:
 
sudo apt-get update
sudo apt-get install inputlirc lirc
 
Then you need to configure it properly:
 
sudo nano /etc/default/inputlirc
 
and put the following content in:
<pre>
<pre>
Display = Start
EVENTS="/dev/input/irremote0 /dev/input/irremote1"
Title = Mouse icon (top right from navigation)
OPTIONS="-g -m0 -c -d /dev/lircd"
Menu = Zoom
Info = Guide
</pre>
</pre>
(The location of lircd is different per distro/version that I've tried, for Ubuntu 10.04 it's /dev/lircd)


The entries unter EVENTS are the devices we created via udev.
The OPTION entries mean the following:
{
{{#ifeq: {{PAGENAME}} | MS-Tech MC-1200 Remote | | {{!}}} }}
}}
}}
[[Category:Remotes]]

Revision as of 21:44, 1 March 2014

MS-Tech MC-1200 Remote

Mc-1200 gross.jpg

Remote from the MS-Tech MC-1200 case.

How to set up in Linux:

UDev rule

First you have to create an own udev rule to ensure, that your device nodes are always the same.

We get the physical address from /proc/bus/input/devices:

cat /proc/bus/input/devices

the output is something like this:

...

I: Bus=0003 Vendor=04b4 Product=0101 Version=0100
N: Name="Cypress Cypress USB Keyboard / PS2 Mouse"
P: Phys=usb-0000:00:06.0-3/input0
S: Sysfs=/devices/pci0000:00/0000:00:06.0/usb4/4-3/4-3:1.0/input/input4
U: Uniq=
H: Handlers=kbd event4 
B: EV=120013
B: KEY=800000 0 e0b0ffdf 1cfffff ffffffff fffffffe
B: MSC=10
B: LED=1f

I: Bus=0003 Vendor=04b4 Product=0101 Version=0100
N: Name="Cypress Cypress USB Keyboard / PS2 Mouse"
P: Phys=usb-0000:00:06.0-3/input1
S: Sysfs=/devices/pci0000:00/0000:00:06.0/usb4/4-3/4-3:1.1/input/input5
U: Uniq=
H: Handlers=kbd mouse1 event5 
B: EV=17
B: KEY=70000 0 2010000 3978 d840d000 1e0000 0 0 0
B: REL=103
B: MSC=10  

...

What we need are the values behind Phys=. In my case usb-0000:00:06.0-3/input0 and usb-0000:00:06.0-3/input1.

Now we write a new rules file for udev:

sudo nano /etc/udev/rules.d/10-irremote.rules

and put the following content in:

SUBSYSTEM=="input",ATTRS{phys}=="usb-0000:00:06.0-3/input0",SYMLINK="input/irremote0"
SUBSYSTEM=="input",ATTRS{phys}=="usb-0000:00:06.0-3/input1",SYMLINK="input/irremote1"

Now restart udev and trigger a new discovery:

sudo restart udev
sudo udevadm trigger

Under /dev/input should now be two more symlinks; irremote0 and irremote1:

ls /dev/input

Inputlirc installation

First you have to install inputlirc and lirc:

sudo apt-get update
sudo apt-get install inputlirc lirc

Then you need to configure it properly:

sudo nano /etc/default/inputlirc

and put the following content in:

EVENTS="/dev/input/irremote0 /dev/input/irremote1"
OPTIONS="-g -m0 -c -d /dev/lircd"

(The location of lircd is different per distro/version that I've tried, for Ubuntu 10.04 it's /dev/lircd)

The entries unter EVENTS are the devices we created via udev. The OPTION entries mean the following: {