Page 1 of 4 123 ... LastLast
Results 1 to 10 of 38

Thread: LIRC, evdev, Hauppauge mini-howto

  1. #1
    Join Date
    Jan 2008
    Beans
    101

    LIRC, evdev, Hauppauge mini-howto

    Not sure how many people this will help, but I've been finding inbuilt Mythbuntu's LIRC support somewhat lacking so thought I would add a mini-howto for configuring a remote using the evdev driver (known as dev/input to LIRC). IIRC the evdev kernel module is always loaded by default in Ubuntu and variants, as it's the standard interface for the kernel to talk to input hardware. I've always found it more reliable and flexible than any other method, YMMV of course!

    Hardware here is a Hauppauge Nova-T DVB-T card with the grey remote but the basic rules should be applicable to any remote that works under evdev.

    First step is to determine which is your IR device, easiest way to do this is via the dev tree:
    Code:
    banquo@banquo:~$ ls -lah /dev/input/by-path/
    total 0
    drwxr-xr-x 2 root root 140 2008-01-26 14:51 .
    drwxr-xr-x 4 root root 280 2008-01-26 14:51 ..
    lrwxrwxrwx 1 root root   9 2008-01-26 14:51 pci-0000:00:0b.0-usb-0:3:1.0-event-kbd -> ../event1
    lrwxrwxrwx 1 root root   9 2008-01-26 14:51 pci-0000:00:0b.0-usb-0:3:1.1-event-mouse -> ../event2
    lrwxrwxrwx 1 root root   9 2008-01-26 14:51 pci-0000:00:0b.0-usb-0:3:1.1-mouse -> ../mouse1
    lrwxrwxrwx 1 root root   9 2008-01-26 14:51 pci-0000:04:09.0--event-ir -> ../event4
    lrwxrwxrwx 1 root root   9 2008-01-26 14:51 platform-pcspkr-event-spkr -> ../event3
    NB: the Nova-T has an inbuilt IR sensor so it's visible on the PCI bus. Those of you with USB or serial connections I'm not sure about as I've never used hardware like that via LIRC, so there's a possibility you won't have an evdev/input device node you can use.
    udev is kind enough to class one of these nodes as --event-ir and points it at /dev/input/event4, so now we have a device node to point irrecord at. We're now ready to run irrecord to generate our lircd config file. You'll need to twizzle the options to suit your setup but the general command line will look like this:
    Code:
    sudo irrecord -d /dev/input/event4 -H dev/input lirc.out
    Ensure that LIRC isn't running. The -H option is essential otherwise irrecord will grumble that eventX isn't and LIRC device node. Run that command and the wizard will start; that bit is fairly self explanatory - you type in what you want a particular button to be called, you hold down the button and that's pretty much it. Hit enter to stop recording once you've gone through all your buttons and you could end up with a file like this (note that I've edited the remote name to hauppauge_nova_t):
    Code:
    banquo@banquo:~$ cat lirc.out
    
    # Please make this file available to others
    # by sending it to <lirc@bartelmus.de>
    #
    # this config file was automatically generated
    # using lirc-0.8.2(dev/input) on Sat Jan 26 15:37:11 2008
    #
    # contributed by
    #
    # brand:                       lirc.out
    # model no. of remote control:
    # devices being controlled by this remote:
    #
    
    begin remote
    
      name  hauppauge_nova_t
      bits           16
      eps            30
      aeps          100
    
      one             0     0
      zero            0     0
      pre_data_bits   16
      pre_data       0x8001
      gap          135990
      toggle_bit_mask 0x800100CF
    
          begin codes
              go                       0x0161
              power                    0x0074
              tv                       0x0179
              videos                   0x0189
              music                    0x0188
              pictures                 0x016F
              guide                    0x016D
              radio                    0x0181
              ok                       0x001C
              up                       0x0067
              down                     0x006C
              left                     0x0069
              right                    0x006A
              back                     0x00AE
              menu                     0x008B
              vol+                     0x0073
              vol-                     0x0072
              ch+                      0x0192
              ch-                      0x0193
              prev                     0x019C
              mute                     0x0071
              record                   0x00A7
              stop                     0x0080
              rew                      0x00A8
              ffw                      0x00D0
              play                     0x00CF
              pause                    0x0077
              skipback                 0x00A5
              skipfwd                  0x00A3
              1                        0x0002
              2                        0x0003
              3                        0x0004
              4                        0x0005
              5                        0x0006
              6                        0x0007
              7                        0x0008
              8                        0x0009
              9                        0x000A
              0                        0x000B
              star                     0x0184
              hash                     0x0172
              red                      0x018E
              green                    0x018F
              yellow                   0x0190
              blue                     0x0191
          end codes
    
    end remote
    This will be the replacement for /etc/lirc/lircd.conf.
    Code:
    sudo cp /etc/lirc/lircd.conf /etc/lirc/lircd.conf.deprecated && sudo cp lirc.out /etc/lirc/lircd.conf
    Now we just need to tweak the hardware.conf with these lines:
    Code:
    /etc/lirc/hardware.conf
    DRIVER="dev/input"
    DEVICE="/dev/input/event4"
    It's always a good idea to comment out the old DRIVER and DEVICE lines rather than delete or edit them so it's easy to roll back to a previous config if need be.

    Once that's done, we need to edit the Mythbuntu-provided .lircrc file to use the new button names we defined when we made our remote. Cleverer people than me would have used the same names but I have a penchant for keeping things in config files all lower case
    Tip: if you're a vim user, you can use a command like:
    :%s/hauppauge_pvr/hauppauge_nova_t/g
    to do a search'n'replace within the file
    Edit: just posted my completed .lircrc configured for my remote (watch out for C&P errors!), using myth and xine only (mPlayer = ARGH IMHO ). If you need a dump of every key/event xine supports, do a `xine --keymap lirc > xine_keymap` and look in that file for every keypress xine has, nicely .lircrc formatted, and just use the events it gives in your lircrc. If you're lazy you can just `xine --keymap lirc >> ~/.lircrc` and fill in the xxxx values yourself.
    Code:
    .lircrc
    begin
            remote = hauppauge_nova_t
            prog = mythtv
            button = go
            config =
            repeat = 1
            delay = 0
    end
    
    begin
            remote = hauppauge_nova_t
            prog = mythtv
            button = power
            config =
            repeat = 1
            delay = 0
    end
    
    begin
            remote = hauppauge_nova_t
            prog = mythtv
            button = tv
            config = @
            repeat = 1
            delay = 0
    end
    
    begin
            remote = hauppauge_nova_t
            prog = mythtv
            button = videos
            config = *
            repeat = 1
            delay = 0
    end
    
    begin
            remote = hauppauge_nova_t
            prog = mythtv
            button = music
            config = &
            repeat = 1
            delay = 0
    end
    
    begin
            remote = hauppauge_nova_t
            prog = mythtv
            button = pictures
            config =
            repeat = 1
            delay = 0
    end
    
    begin
            remote = hauppauge_nova_t
            prog = mythtv
            button = guide
            config =
            repeat = 1
            delay = 0
    end
    
    begin
            remote = hauppauge_nova_t
            prog = mythtv
            button = radio
            config = £
            repeat = 1
            delay = 0
    end
    
    begin
            remote = hauppauge_nova_t
            prog = mythtv
            button = up
            config = Up
            repeat = 1
            delay = 0
    end
    
    begin
            remote = hauppauge_nova_t
            prog = mythtv
            button = down
            config = Down
            repeat = 1
            delay = 0
    end
    
    begin
            remote = hauppauge_nova_t
            prog = mythtv
            button = left
            config = Left
            repeat = 1
            delay = 0
    end
    
    begin
            remote = hauppauge_nova_t
            prog = mythtv
            button = right
            config = Right
            repeat = 1
            delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = ok
        config = Return
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = back
        config = Escape
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = menu
        config = M
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = vol+
        config = ]
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = vol-
        config = [
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = prev
        config = Z
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = mute
        config = |
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = ch+
        config = +
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = ch-
        config = -
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = record
        config = R
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = stop
        config = O
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = play
        config = P
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = pause
        config = P
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = rew
        config = <
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = ffw
        config = >
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = skipback
        config = PgDown
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = skipfwd
        config = PgUp
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = 1
        config = 1
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = 2
        config = 2
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = 3
        config = 3
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = 4
        config = 4
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = 5
        config = 5
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = 6
        config = 6
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = 7
        config = 7
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = 8
        config = 8
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = 9
        config = 9
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = star
        config =
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = hash
        config =
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = red
        config = F2
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = green
        config = F3
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = yellow
        config = F4
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = blue
        config = F5
        repeat = 1
        delay = 0
    end
    
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = go
        config = Eject
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = tv
        config =
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = videos
        config = AddMediaMark
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = music
        config =
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = pictures
        config = Snapshot
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = guide
        config =
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = radio
        config =
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = up
        config = EventUp
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = down
        config = EventDown
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = left
        config = EventLeft
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = right
        config = EventRight
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = ok
        config = EventSelect
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = back
        config = Quit
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = menu
        config =
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = vol+
        config = Volume+
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = vol-
        config = Volume-
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = ch+
        config = EventNext
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = ch-
        config = EventPrior
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = prev
        config =
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = mute
        config = Mute
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = record
        config =
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = stop
        config = Stop
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = rew
        config = SeekRelative-15
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = ffw
        config = SeekRelative+15
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = skipback
        config = SeekRelative-60
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = skipfwd
        config = SeekRelative+60
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = play
        config = Play
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = pause
        config = Pause
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = 1
        config = SetPosition10%
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = 2
        config = SetPosition20%
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = 3
        config = SetPosition30%
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = 4
        config = SetPosition40%
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = 5
        config = SetPosition50%
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = 6
        config = SetPosition60%
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = 7
        config = SetPosition70%
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = 8
        config = SetPosition80%
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = 9
        config = SetPosition90%
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = 0
        config = SetPosition0%
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = star
        config =
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = hash
        config =
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = red
        config = AudioChannelPrior
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = green
        config = AudioChannelNext
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = yellow
        config = SpuPrior
        repeat = 1
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = blue
        config = SpuNext
        repeat = 1
        delay = 0
    end
    For the sake of simplicity I've only put in entries pertienent to my remote and MythTV. For those of you unfamiliar with lircrc syntax:
    "remote" corresponds with the remote named in your lircd.conf config file
    "prog" is the the name of the program that wil receive the events
    "button" is one of the buttons named in your lircd.conf config
    "config" is the name of the event that will be sent to the program defined in "prog"
    "repeat" is the amount of time you keep the button held down before it registers a repeat keypress - if your remote seems too sensitive try setting delay to 1 or 2. I don't like the default of repeat set to zero because that way repeat button presses aren't registered at all - annoying if you want to skip through a video by holding down the ffwd button
    "delay" is the amount of time between lirc registering a repeat keypress. For example, a delay of "1" will ignore every other keypress for the purposes of detecting repeats
    As you're probably aware, it's possible to set up different configs for any program. If you have a play with mythcontrols, you can add your own button entries for setting up things like shortcuts to the video menu (which I set up as F4) for instance:
    Code:
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = videos
        config = F4
        repeat = 0
        delay = 0
    end
    Once that's all done, restart LIRC and mythfrontend and you should be good to go. You can test the new config is working by running irw and pressing a few buttons (Ctrl-C to exit);
    Code:
    banquo@banquo:~$ irw
    0000000080010067 00 up hauppauge_nova_t
    000000008001006c 00 down hauppauge_nova_t
    0000000080010069 00 left hauppauge_nova_t
    000000008001006a 00 right hauppauge_nova_t
    000000008001001c 00 ok hauppauge_nova_t
    00000000800100ae 00 back hauppauge_nova_t
    000000008001008b 00 menu hauppauge_nova_t
    ^C
    If you have multiple frontends you can copy the same .lircrc file to each machine and edit to your hearts content; don't forget to change the names of the remote you're using to match your lircd.conf! This has the advantage that you can keep the configs the same throughout your house (assuming you can keep the database changes to your input in sync, but that's another thread ) and thus the controls will remain the same.

    Caveats: I've not done enough testing yet to see whether the device node for the IR remote is likely to change on reboot - if it does all that's required is a custom udev rule to either keep the device node static or (better still) create a symlink to it. Will post that with instructions when I get around to it

    Edit: Meh, here we go anyway. You can grab udev attributes using the udevinfo tool in conjunction with your input device node:
    Code:
    banquo@banquo:~$ udevinfo -a -p $(udevinfo -q path -n /dev/input/event4)
    
    Udevinfo starts with the device specified by the devpath and then
    walks up the chain of parent devices. It prints for every device
    found, all possible attributes in the udev rules key format.
    A rule to match, can be composed by the attributes of the device
    and the attributes from one single parent device.
    
      looking at device '/class/input/input4/event4':
        KERNEL=="event4"
        SUBSYSTEM=="input"
        DRIVER==""
        ATTR{dev}=="13:68"
    
      looking at parent device '/class/input/input4':
        KERNELS=="input4"
        SUBSYSTEMS=="input"
        DRIVERS==""
        ATTRS{modalias}=="input:b0001v0070p9002e0001-e0,1,14,k71,72,73,74,77,80,8B,8E,A3,A5,A7,A8,AE,CF,D0,161,16B,16D,16F,172,174,179,181,184,188,189,18E,18F,190,191,192,193,19C,ramlsfw"
        ATTRS{uniq}==""
        ATTRS{phys}=="pci-0000:04:09.0/ir0"
        ATTRS{name}=="cx88 IR _Hauppauge Nova-T DVB-T"
    
      looking at parent device '/devices/pci0000:00/0000:00:10.0/0000:04:09.0':
        KERNELS=="0000:04:09.0"
        SUBSYSTEMS=="pci"
        DRIVERS=="cx8800"
        ATTRS{msi_bus}==""
        ATTRS{broken_parity_status}=="0"
        ATTRS{modalias}=="pci:v000014F1d00008800sv00000070sd00009002bc04sc00i00"
        ATTRS{local_cpus}=="ff"
        ATTRS{irq}=="22"
        ATTRS{class}=="0x040000"
        ATTRS{subsystem_device}=="0x9002"
        ATTRS{subsystem_vendor}=="0x0070"
        ATTRS{device}=="0x8800"
        ATTRS{vendor}=="0x14f1"
    
      looking at parent device '/devices/pci0000:00/0000:00:10.0':
        KERNELS=="0000:00:10.0"
        SUBSYSTEMS=="pci"
        DRIVERS==""
        ATTRS{msi_bus}=="1"
        ATTRS{broken_parity_status}=="0"
        ATTRS{modalias}=="pci:v000010DEd0000026Fsv00000000sd00000000bc06sc04i01"
        ATTRS{local_cpus}=="ff"
        ATTRS{irq}=="0"
        ATTRS{class}=="0x060401"
        ATTRS{subsystem_device}=="0x0000"
        ATTRS{subsystem_vendor}=="0x0000"
        ATTRS{device}=="0x026f"
        ATTRS{vendor}=="0x10de"
    
      looking at parent device '/devices/pci0000:00':
        KERNELS=="pci0000:00"
        SUBSYSTEMS==""
        DRIVERS==""
        ATTRS{uevent}==""
    It all looks very confusing; just bear in mind we're looking for an attribute that's going to remain unique for the IR receiver throughout hardware changes - attributes with names or vendor ID's are the best, whereas things like PCI ID's are subject to change. With that in mind, ATTRS{name}=="cx88 IR _Hauppauge Nova-T DVB-T" looks like the best option - this is the name of the parent device (which is still part of the input subsystem - don't use a name further up the device tree than the event subsystem as you'll no longer be pointed at the node for your IR receiver) and should be the same for any Hauppauge Nova-T device (although this can change depending on the card revision). Once we have this creating the rule is pretty simple. I can't find any docs on where custom rules should live in Ubuntu, so I'm going with my usual default of /etc/udev/rules.d/25-custom.rules:
    Code:
    ATTRS{name}=="cx88 IR (Hauppauge Nova-T DVB-T", SYMLINK+="input/hauppauge_nova_t input/dvb_remote"
    That rule basically says "look for the device with this name and then create two additional symlinks in /dev named input/name1 and input/name2". Once you've written the file, run "sudo udevtrigger" to reload udev and the new symlinks should be created.
    Code:
    banquo@banquo:~$ ls -l /dev/input/
    total 0
    drwxr-xr-x 2 root root    100 2008-01-26 14:51 by-id
    drwxr-xr-x 2 root root    140 2008-01-26 14:51 by-path
    lrwxrwxrwx 1 root root      6 2008-01-26 17:36 dvb_remote -> event4
    crw-rw---- 1 root root 13, 64 2008-01-26 14:51 event0
    crw-rw---- 1 root root 13, 65 2008-01-26 14:51 event1
    crw-rw---- 1 root root 13, 66 2008-01-26 14:51 event2
    crw-rw---- 1 root root 13, 67 2008-01-26 14:51 event3
    crw-rw---- 1 root root 13, 68 2008-01-26 14:51 event4
    crw-rw---- 1 root root 13, 69 2008-01-26 14:51 event5
    crw-rw---- 1 root root 13, 70 2008-01-26 14:51 event6
    lrwxrwxrwx 1 root root      6 2008-01-26 17:38 hauppauge_nova_t -> event4
    crw-rw---- 1 root root 13, 63 2008-01-26 14:51 mice
    crw-rw---- 1 root root 13, 32 2008-01-26 14:51 mouse0
    crw-rw---- 1 root root 13, 33 2008-01-26 14:51 mouse1
    This will give you a more reliable device node to use in your lircd.conf:
    Code:
    DEVICE="/dev/input/dvb_remote"
    Note that I've run into a udev bug here where the naming convention of certain characters is mis-reported by udevinfo, notice the brackets (which udevinfo represented as underscores) so if your rule doesn't seem to be working try changing _ for (. You can find the exact value udev "sees" by looking in sys; using the above example:
    Code:
    banquo@banquo:$ cat /sys/class/input/input4/name
    cx88 IR (Hauppauge Nova-T DVB-T
    Come to think of it that's a much faster and easier way to grab the name attribute than udevinfo

    One minor gotcha I ran into, no idea how it happened, was that something had removed the symlink from ~/.mythtv/lircrc to ~/.lircrc so that Myth was running from a different LIRC config to everyone else.
    Code:
    banquo@banquo:~/.mythtv$ ls -l
    total 48
    -rw-r--r-- 1 banquo banquo     0 2008-01-25 11:52 backend_configured
    -rw-r--r-- 1 banquo banquo 11912 2008-01-26 15:22 lircrc
    -rw-r--r-- 1 banquo banquo 11912 2008-01-26 15:21 lircrc.mythbuntu-old
    -rw-r--r-- 1 banquo banquo 11912 2008-01-26 15:04 lircrc.old
    drwxr-xr-x 4 banquo banquo  4096 2008-01-25 11:54 MythPhone
    drwxr-xr-x 2 banquo banquo  4096 2008-01-25 12:51 osdcache
    drwxr-xr-x 3 banquo banquo  4096 2008-01-25 11:55 themecache
    Recreating the original symlink is easy:
    Code:
    banquo@banquo:~$ cd .mythtv/
    banquo@banquo:~/.mythtv$ rm lircrc
    banquo@banquo:~/.mythtv$ ln -s ../.lircrc lircrc
    banquo@banquo:~/.mythtv$ ls -l
    total 36
    -rw-r--r-- 1 banquo banquo     0 2008-01-25 11:52 backend_configured
    lrwxrwxrwx 1 banquo banquo    10 2008-01-26 16:51 lircrc -> ../.lircrc
    -rw-r--r-- 1 banquo banquo 11912 2008-01-26 15:21 lircrc.mythbuntu-old
    -rw-r--r-- 1 banquo banquo 11912 2008-01-26 15:04 lircrc.old
    drwxr-xr-x 4 banquo banquo  4096 2008-01-25 11:54 MythPhone
    drwxr-xr-x 2 banquo banquo  4096 2008-01-25 12:51 osdcache
    drwxr-xr-x 3 banquo banquo  4096 2008-01-25 11:55 themecache
    Further caveats: I accept no responsibility if these changes to your system b0rk your myth setup, turn your dog into an ornamental tea urn or burn down your house - just because it hasn't happened before doesn't mean it can't As ever, make sure you have a fair idea what you're doing before you run any commands from the net, especially ones with "sudo" in them!

    Hope someone finds that all useful!

    Edit again:
    Crikey, must be the fifty billionth edit. Nothing really do to with the subject, was just a little put out that Mythbuntu didn't come with the superb MythTVMediaCentre OSD theme by default. To install it just run the following:
    Code:
    wget http://files.radixpub.com/MythTVMediaCenterOSD.0.20.tar.bz2
    tar xvfj MythTVMediaCenter.OSD.0.20.tar.bz2
    sudo cp -r MythTVMediaCenterOSD/ /usr/share/mythtv/themes/
    This ISD theme should now be available to you under mythfrontend; if you're using the default menu setup: Utilities/Setup > Setup > TV Settings > Playback > Next x8 > OSD theme: MythTVMediaCentreOSD. It really benefits from setting the OSD font (on the same screen) to FreeSans.

    For the record, been using Myth under Gentoo for about 5 years now but have jumped ship to Ubuntu after I got fed up of things breaking all the time, and am going through my Mythbuntu install to try and get everything "just so" . Happy configuring!
    Last edited by stdPikachu; January 28th, 2008 at 08:24 AM.

  2. #2
    Join Date
    Oct 2005
    Location
    Austin, TX
    Beans
    2,983
    Distro
    Ubuntu Development Release

    Re: LIRC, evdev, Hauppauge mini-howto

    FWIW:

    There are some modest improvements to evdev handling in Hardy.

    Here's some screenshots:
    http://mythbuntu.org/image/tid/8

  3. #3
    Join Date
    Jan 2008
    Beans
    101

    Re: LIRC, evdev, Hauppauge mini-howto

    Heh, typical I hadn't seen those, nice to see that LIRC configuration is being worked on. Would be nice if a) a GUI configurator could be done (Python frontend for irrecord?) and if Myth had slightly saner keybinding configuration... wish it supported config files or at least SQLite for local settings.

    Thanks for the info anyhow

  4. #4
    Join Date
    Oct 2005
    Location
    Austin, TX
    Beans
    2,983
    Distro
    Ubuntu Development Release

    Re: LIRC, evdev, Hauppauge mini-howto

    Quote Originally Posted by stdPikachu View Post
    Heh, typical I hadn't seen those, nice to see that LIRC configuration is being worked on. Would be nice if a) a GUI configurator could be done (Python frontend for irrecord?) and if Myth had slightly saner keybinding configuration... wish it supported config files or at least SQLite for local settings.

    Thanks for the info anyhow
    Well something else that we've changed for Hardy (in the direction of a GUI configurator) is "include" support in your lircrc's. This will mean that the myth lircrc is stored in ~/.lirc/mythtv and the xine one is ~/.lirc/xine. This should make it a bit easier to customize an apps buttons (and will make it easier to read the currently set settings too).

  5. #5
    Join Date
    Jan 2008
    Beans
    101

    Re: LIRC, evdev, Hauppauge mini-howto

    Include support is definitely a good idea, one of the things that made me want to roll my own was support for all the apps (most of which I don't use) bundled in there which cluttered things up immensely. Is this an upstream change or are you maintaining your own patchsets to LIRC?

    Another thing I'd love to add to my wishlist would be to make edits to the Myth keymaps available globally (perhaps a copy-config-to-all-hostnames/make-config-global option in mythcontrols?); do you know if there's anything like this in the works? At the moment I just do it manually via MySQL which is a bit of a PITA.

    Anyway, now that I've got almost everything set up dunky-hory, I'd like to extend a big thanks to the Mythbuntu devs, it's certainly a helluva lot less work than Gentoo

  6. #6
    Join Date
    Dec 2007
    Location
    West Wales
    Beans
    12
    Distro
    Ubuntu 7.10 Gutsy Gibbon

    Re: LIRC, evdev, Hauppauge mini-howto

    stdPikachu's post has been a great help to me in understanding the LIRC subsystem and finally getting to the point where I can fire up irw, prod keys on my remote, and get the right answers back!

    However (there's always a "however" ), I'm no further towards getting mythfrontend to recognise most keystrokes.

    What is very strange is that a number of the remote's keystrokes do seem to work - rather better than they should, as hitting the number keys in the remote will produce keystrokes even in terminal shells, OK produces an enter, but that's it. This seems to prevail in mythfrontend, too, with the result that I can select the menu entry I'm on, and bash channel numbers, but that's it.

    The girls are getting impatient to use the remote, and I don't much like having a keyboard attached anyway, because the Small One keeps firing up terminal sessions and experimenting in the shell, which is something of a hassle!

    I've symlinked the .lircrc in .mythtv to the one in my user home directory, to no avail. And, significantly, having just put in a stanza to the .lircrc to run a script to shut the monitor down when I press the Power button, that doesn't work either, and yes I've restarted the lircd daemon!

    Help!

  7. #7
    Join Date
    Jan 2008
    Beans
    101

    Re: LIRC, evdev, Hauppauge mini-howto

    Edit: doh, actually read your post this time, you have checked with irw.

    Can you post your /etc/lirc/lircd.conf and ~/.lircrc?

    As an aside, if you have far too much money the Logitech DiNovo Edge is superb for HTPC use, much better than any other wireless keyboard I've used.

    IIRC getting buttons on the remote to do exotic things like shut off the monitor (i.e. accessing programs that don't have LIRC support) you need to use irexec; not actually used it myself yet but I'll have a stab at it soon (looking to use the remote "power" button to suspend the machine).
    Last edited by stdPikachu; January 27th, 2008 at 09:24 PM.

  8. #8
    Join Date
    Dec 2007
    Location
    West Wales
    Beans
    12
    Distro
    Ubuntu 7.10 Gutsy Gibbon

    Re: LIRC, evdev, Hauppauge mini-howto

    /etc/lirc/hardware.conf
    # /etc/lirc/hardware.conf
    #
    #Chosen Remote Control
    #REMOTE="Hauppauge DVB-s card (ver. 2.1)"

    # Arguments which will be used when launching lircd
    LIRCD_ARGS=""

    #Don't start lircmd even if there seems to be a good config file
    START_LIRCMD=false

    #Try to load appropriate kernel modules
    LOAD_MODULES=true

    # Run "lircd --driver=help" for a list of supported drivers.
    DRIVER="dev/input"
    # If DEVICE is set to /dev/lirc and devfs is in use /dev/lirc/0 will be
    # automatically used instead
    DEVICE="/dev/input/event3"
    #MODULES="lirc_dev"
    MODULES=""

    # Default configuration files for your hardware if any
    LIRCD_CONF="/etc/lircd/lircd.conf"
    LIRCMD_CONF=""
    /etc/lirc/lircd.conf
    Code:
    # Please make this file available to others
    # by sending it to <lirc@bartelmus.de>
    #
    # this config file was automatically generated
    # using lirc-0.8.2(dev/input) on Sun Jan 27 18:43:37 2008
    #
    # contributed by 
    #
    # brand:                       lirc.out
    # model no. of remote control: 
    # devices being controlled by this remote:
    #
    
    begin remote
    
      name  hauppauge_nova_t
      bits           16
      eps            30
      aeps          100
    
      one             0     0
      zero            0     0
      pre_data_bits   16
      pre_data       0x8001
      gap          135989
      toggle_bit_mask 0x80010002
    
          begin codes
              Power                    0x0074
              Go                       0x0161
              1                        0x0002
              2                        0x0003
              3                        0x0004
              4                        0x0005
              5                        0x0006
              6                        0x0007
              7                        0x0008
              8                        0x0009
              9                        0x000A
              0                        0x000B
              BackExit                 0x00AE
              Menu                     0x008B
              Red                      0x018E
              Green                    0x018F
              Yellow                   0x0190
              Blue                     0x0191
              ChannelUp                0x0192
              ChannelDn                0x0193
              VolumeUp                 0x0073
              VolumeDn                 0x0072
              OK                       0x001C
              Mute                     0x0071
              Middle                   0x0181
              Full                     0x0174
              Rewind                   0x00A8
              Play                     0x00CF
              FFwd                     0x00D0
              Record                   0x00A7
              Stop                     0x0080
              Pause                    0x0077
              Replay                   0x00A5
              Skip                     0x00A3
          end codes
    
    end remote
    ~/.lircrc (linked to ~/.mythtv/.lircrc)
    Code:
    # Power Button
    begin
    	remote = hauppauge_nova_t
    	prog = irexec
    	button = Power
    	repeat = 4
    	config = /usr/local/bin/monitorpowerbutton.sh
    end
    
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = 7
        config = 7
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = VolumeUp
        config = Right
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = Middle
        config = C
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = Mute
        config = |
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = Replay
        config = Z
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = 1
        config = 1
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = ChannelDn
        config = Down
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = 0
        config = 0
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = Pause
        config = P
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = Menu
        config = M
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = 6
        config = 6
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = 2
        config = 2
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = ChannelDn
        config = Down
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = BackExit
        config = Escape
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = ChannelUp
        config = Up
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = Rewind
        config = <
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = FFwd
        config = >
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = Play
        config = P
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = VolumeDn
        config = [
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = Stop
        config = Escape
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = VolumeUp
        config = ]
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = 5
        config = 5
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = 4
        config = 4
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = OK
        config = Return
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = ChannelUp
        config = Up
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = Record
        config = R
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = 9
        config = 9
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = 3
        config = 3
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = 8
        config = 8
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = Menu
        config = S
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mythtv
        button = VolumeDn
        config = Left
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mplayer
        button = Play
        config = pause
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mplayer
        button = Pause
        config = pause
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mplayer
        button = OK
        config = pause
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mplayer
        button = Power
        config = quit
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mplayer
        button = Mute
        config = mute
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mplayer
        button = VolumeDn
        config = volume -1
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mplayer
        button = SkipBack
        config = seek +15 0
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mplayer
        button = Stop
        config = quit
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mplayer
        button = ChannelUp
        config = seek +60 0
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mplayer
        button = VolumeUp
        config = volume +1
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mplayer
        button = ChannelDn
        config = seek -60 0
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mplayer
        button = VolumeUp
        config = seek +6 0
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mplayer
        button = Rewind
        config = seek -30 0
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mplayer
        button = FFwd
        config = seek +30 0
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = mplayer
        button = VolumeDn
        config = seek -6 0
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = Play
        config = Play
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = Pause
        config = Pause
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = OK
        config = EventSelect
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = Mute
        config = Mute
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = VolumeDn
        config = Volume-
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = SkipBack
        config = EventNext
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = Stop
        config = Quit
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = ChannelUp
        config = EventUp
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = VolumeUp
        config = Volume+
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = ChannelDn
        config = EventDown
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = VolumeUp
        config = EventRight
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = Rewind
        config = SeekRelative-15
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = FFwd
        config = SeekRelative+15
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = xine
        button = VolumeDn
        config = EventLeft
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = vlc
        button = ChannelDn
        config = key-nav-down
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = vlc
        button = Play
        config = key-play
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = vlc
        button = Pause
        config = key-pause
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = vlc
        button = OK
        config = key-nav-activate
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = vlc
        button = Mute
        config = key-vol-mute
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = vlc
        button = VolumeDn
        config = key-vol-down
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = vlc
        button = Stop
        config = key-quit
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = vlc
        button = ChannelUp
        config = key-nav-up
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = vlc
        button = VolumeUp
        config = key-vol-up
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = vlc
        button = ChannelDn
        config = key-prev
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = vlc
        button = VolumeUp
        config = key-nav-right
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = vlc
        button = SkipBack
        config = key-next
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = vlc
        button = ChannelUp
        config = key-next
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = vlc
        button = Rewind
        config = key-slower
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = vlc
        button = FFwd
        config = key-faster
        repeat = 0
        delay = 0
    end
    
    begin
        remote = hauppauge_nova_t
        prog = vlc
        button = VolumeDn
        config = key-nav-left
        repeat = 0
        delay = 0
    end
    Last edited by agnesdavies; January 27th, 2008 at 10:08 PM. Reason: [CODE], not [QUOTE]!

  9. #9
    Join Date
    Jan 2008
    Beans
    101

    Re: LIRC, evdev, Hauppauge mini-howto

    Do you know which events aren't working?

    Is lircd definitely running? My initial problem was that LIRC was dying (I think because /dev/lirc0 or whatever wasn't being created) as soon as mythfrontend started in the default config;
    Code:
    banquo@banquo:~$ ps aux | grep lirc
    root      5519  0.0  0.0   2920   548 ?        Ss   17:31   0:00 /usr/sbin/lircd --driver=dev/input --device=/dev/input/dvb_remote
    banquo   21709  0.0  0.0   2976   764 pts/1    R+   21:15   0:00 grep lirc
    Even when it wasn't running, some remote events appeared to cause things to work in mythfrontend; mainly, I think, because some events register as standard keyboard input.

    As an aside, some of your myth events are non-standard (for example, in the default config volume up/down is mapped to [/]) - I take it you're aware of this? You can check all of your current button mappings in mythcontrols or mythweb (settings > mythtv key bindings > select host > set host).
    Last edited by stdPikachu; January 27th, 2008 at 10:23 PM.

  10. #10
    Join Date
    Dec 2007
    Location
    West Wales
    Beans
    12
    Distro
    Ubuntu 7.10 Gutsy Gibbon

    Re: LIRC, evdev, Hauppauge mini-howto

    I'll have a look at mythcontrols/mythweb and see what they say, though this was an out-of-the-box mythbuntu install, and I can't believe I've randomly fiddled enough to b0rk it to that extent!!

    But I'll follow up on those comments you've made about non-standard events/keystrokes.

    lircd is running - I've checked it via ps. I did have a lot of problems testing that in the beginning because it insisted everything was /dev/lirc0 and the server crashed every time I tried to connect to that port. I fixed that by switching over to the dev/event thing.

    And I'm assuming that irw wouldn't work if lircd wasn't going?

    Forgive me if I sound confused, trying to make sense of this is causing my brain to trickle out of my ears - I mean, just as an example, what is the mechanism that is causing the button presses on the remote to appear as keystrokes? I'm pretty sure that ps -ef|grep ircmd doesn't yield anything...!

Page 1 of 4 123 ... LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •