Jump to content
Flirc Forums


  • Posts

  • Joined

  • Last visited

  • Days Won


Posts posted by yawor

  1. drumst1x the receiver is on the opposite end from the USB connector. You can see a little dark device with two round things sticking out from it (those are the lenses). It points outwards in the direction opposite to the one you plug it in. I also agree with Jason that it has awesome sensitivity. I have my PC in a room next to one I have my TV in and my desk is next to the doors connecting both rooms. My couch is on the opposite side of the wall where my desk with PC is so when I sit in front of TV I don't have a direct line of sight to the PC at all. I also have Flirc on the extender cable (I've used extender that came with Logitech mouse and the cable is very thin) so it is a little closer to the doors. I don't even need to point my remote in the doors direction. It works even if I point the remote at the TV. I've even tested with the doors closed as they have glass elements in them and the sensitivity is only slightly lowered and I need to point remote at the doors for Flirc to work.


    IR signal can bounce of the walls but this is highly dependent on the color of the walls and maybe material or paint used. I have white walls everywhere so maybe this makes the Flirc so responsive in my case. You can try to put a white paper sheet or a small mirror behind Ouya to act as a reflective surface for IR signal.

  2. Sorry, I don't fully understand your question. I'll try to answer best I can anyway.


    Flirc is visible to the OS and works as an USB keyboard. You first need to connect it to some PC or Mac and install Flirc software. This software allows you to record buttons or remote control and assign them to specific keys on the keyboard. For example you can map volume up and volume down buttons on the remote to vol up and down multimedia keys on the keyboard. Recorded buttons and their assignments are stored inside the Flirc so you can unplug it from PC and plug it into the device you want. When Flirc receives signal that you pressed volume up button on the remote it will simulate pressing on the volume up key on the keyboard which should make the device increase the volume.


    Flirc doesn't have mouse emulation so it can't control mouse pointer directly. There are solutions for this but they require additional 3rd party software which controls the mouse pointer by detecting specific key presses. But I don't think this kind of software is available (or even possible) on the Android device. So I think it's not possible to control mouse pointer on the X8 at all.

  3. This is probably unsupported in any way by Jason so please don't report bugs in other threads when using this solution. If you have any problems with this setup it is better to post them here and I'll try to help if I have time to do so.




    This how-to is for users who want to build more advanced control schemes using their Flirc devices. It is mainly directed to Windows users because there is no way in Windows to capture input from a single keyboard, but can be done in Linux. But it should be also applicable in other OS-es when used with correct software.


    The problem is that not everything can be done just by defining a single key combinations. There are applications like AutoHotKey (AHK) or EventGhost (EG) that can capture specific key combinations but there is a problem. Having many buttons on the mapped remote it is sometimes hard to find key combinations that are not used as OS or other apps shortcuts already. By capturing the specific key combination in AHK or EG user basically blocks this combination even on a normal keyboard connected to the PC (as there is no way in Windows to capture only input from one specific keyboard).


    Here comes HID standard for the rescue. HID keyboards are just one of the many usages of this standard. Because of that the HID standard has been split into multiple usage tables. Standard keys on keyboards use table 7 and in Windows codes from this table are immediately captured by HID keyboard filter driver and are converted into key presses. On the other hand keys like multimedia keys are defined in usage table 12. Codes from this table are not captured by the Windows. Only a few of them are natively supported (like volume, mute, play, pause etc).


    Flirc GUI and CLI util provide the ability to map only a few of the keys from table 12. Those keys when mapped are not recognized by AHK or EG when used with keyboard input plugins. This gave me an idea to do some experiments. I needed to find out how these multimedia keys are stored in the Flirc which can be checked by inspecting saved config file. After that I checked if I can assign any HID code from the table 12 and I was successful.


    I've found out that there is a key code which acts as a marker for Flirc to send usage 12 instead o 7. When this marker is found then the actual HID key ID is stored as a modifier. It is possible to use flirc_util to map almost any code from table 12:

    flirc_util.exe record_api 176 102

    where 176 is decimal value of key ID (Play key in this case) and 102 is a marker that tells Flirc that this is key from table 12.


    Table 12 has more than 256 keys defined but unfortunately Flirc can only hold a single byte value so there is still a restriction in the number of keys.


    There are also holes in the list of keys in this table which I've used in my own config so I don't have any conflicts with other hardware and software. These are the usable values: 4-31, 34-47, 55-63, 73-95, 103-127, 159, 165-175. There are probably more but I've stopped looking other codes that are not mentioned by the standard. I think that other keys that are in the standard are also usable. Most of them are not natively supported by the Windows but I used these ranges in my case to be on the safe side. The way to record these keys is to change the first value to one in these ranges and record a button to them incrementally.


    In my setup I've used EventGhost to capture HID events and map them to things I want them to do. It provides some nice features like programmable on screen menus and many plugins for specific apps like XBMC (it uses XBMC RPC API). To capture events from HID device a Generic HID plugin must be used. Unfortunately there is a small problem with this plugin and it sometimes sends multiple HID events on single button press (this is not the same problem as with repeated keys). I have a modifier Generic HID plugin that works very well with Flirc in this mode of operation. I can share it if there is a demand for it. I can also extend the how-to to some basic EG configuration.


    I haven't used AHK but I know that there is also a way to capture HID events in it and use them to control things.


    All the numbers I'm referring to are taken from this document http://www.freebsddiary.org/APC/usb_hid_usages.php

    • Like 2
    • Thanks 1
  4. HID is a standard for USB keyboards. It stands for Human Interface Device.


    I can see that this device is under Android control. If you say that it supports USB keyboards then there should be no problems. But in the end the only way to know for sure is to plug it in and test it.

  5. Hi,


    First of all you haven't told us anything about the streamer. Please provide at least the brand/manufacturer and model. A link to the device wouldn't hurt either.


    People are using Flirc mainly with their PC, Raspberry Pi, Fire TV etc. If no one here used Flirc with the device you are asking about then it's not possible to tell you with 100% certainty it will work.


    There are basically two requirements:

    - USB port available on the device,

    - standard USB HID keyboard support.


    Both requirements MUST be met for Flirc to even have a change of working.


    If the device has USB port please connect an USB keyboard to it and test some standard keys like direction keys, enter, escape etc. If it works then the Flirc should also work.

  6. I'm sorry, I've might have been too quick to respond with the solution. You actually need an USB HID code of the key. I've done some research and it looks like the HID codes don't change between keyboard layouts but they are not assigned to a symbols on the key but to a physical key location on the keyboard. And also sorry for not noticing you are using Linux. I wouldn't propose a Windows app :).


    I don't know the French layout so I'll use image below as a base.



    I've also found a nice page which lists all HID keys: http://hp.vector.co.jp/authors/VA003720/lpproj/others/kbdjpn.htm


    The numbers on the keyboard representations are not HID codes but the indexes in the tables below where you can find HID table/page and code (ID) in USB HID Usage column. You only need the ID value. You can only use codes from HID page 7 for the standard keyboard keys. The codes there are hexadecimal so you need to convert them to decimal for use with flirc_util.


    You also should be able to use GUI, but don't look at the characters or symbols on the displayed keyboard but the key location itself. For example if you want to assign a # sign to the remote button which is on 4th key in the first row you need to record a key for Right Alt + 3 in the GUI or use:

    flirc_util record_api 64 32

    I see that for numbers you actually need to add shift to record them.


    I hope that this will work properly now. I can't test this fully as I'm not experiencing such problems myself as in Poland most (if not all) people use Polish Programmer keyboard layout variant which is almost 100% compatible with US layout (polish characters are achieved using Alt-Gr - right alt key).

  7. This solution is incorrect. Please look at my next post for a proper one.


    You can use flirc_util command line utility. It has a record_api command which allows you to assign a remote buttons to any arbitrary key and modifiers.


    From the help in the utility itself (version 1.2.6) the usage is as follows:


    flirc_util record_api 136 4


    where 136 is the combined value for modifier keys, and 4 is the key code on the keyboard (all values are decimal).


    The modifier value is composed of following values:

    LEFT  CONTROL          1
    LEFT  SHIFT            2
    LEFT  ALT              4
    LEFT  CMD|WIN          8
    RIGHT CONTROL          16
    RIGHT SHIFT            32
    RIGHT ALT              64
    RIGHT CMD|WIN          128

    So if you want to use for example left control + left shift then the modifier value for the command will be 3 (logical OR, but you can just use sum of both values).


    The key codes are a little different for each keyboard layout. That's why you have problems mapping the buttons using GUI as it is based on US layout key codes. You need to find a list of key codes for French layout or you could use some application that shows you the key code when the key is pressed. BTW the key codes are assigned to a physical key, not to a letter or symbol. So for US keyboard layout = and + have the same key code but they differ in modifier keys used (in case of + sign you need to add shift modifier key).

  8. Hi,


    There are some tutorials here how to do that already but I think that they are mainly based on additional Windows software. I don't remember if some Linux based solution has been posted. The solution basically is to install some kind of software that is able to capture key presses from Flirc and send commands to XBMC conditionally. A condition can be some flag that is set when a specific button on the remote is pressed and unset when some other button is pressed. That way you can control when XBMC can or can't receive commands from the remote. Unfortunately I can't help you with setting this up in OpenELEC as I haven't used any Linux software that can implement this behavior.


    The other way around this problem is to use a remote that can control multiple devices and just select a device you want to control. This of course is not a solution if you want to keep using only the remote you mentioned.


    Awesome, yawor. I noticed your use of the 6440 and hoped you'd have good advice for me.

    However, there is a potentially serious error in your advice. The procedure is:


    1. Enter SETUP by pressing and holding WatchTV/Setup button until the LED blink twice.
    2. Enter code 992 using numeric keys. LED should blink twice if the code is accepted.
    3. Press TV button ("from" device, the new mode of the next button).
    4. Press PVR button ("to" device, the mode you want to remap).



    Yes. Of course. You are correct. I've been writing this from memory without looking at the 9xx codes page.


    I have a follow-up question.


    I had a lot of trouble with simpleset.com. I tried to use Ubuntu Linux to access it, and the resulting settings.bin bricked the remote. It wouldn't respond to anything except as a USB drive until I used simpleset.com again with my backup of the original settings.bin and Windows 7 in a virtual machine.


    Is simpleset.com known to work or not to work with Ubuntu?


    It really shouldn't matter what my OS is, as long as it can save to a FAT filesystem.


    We (on hifi-remote.com) know about this problem. It's not in the simpleset.com itself. It's in the implementation of the Mass Storage USB protocol (which is very simplified and not even near 100% complete) in the remote which makes it incompatible with Linux. I've spent many hours trying to figure out how to overcome this problem using some file system options without success. RemoteMaster (RMIR) software I've mentioned in my first reply also cannot write to the remote under Linux using USB connection. I've also stumbled upon this problem on Windows during writing the reader/writer module for settings.bin. When I was trying to write data directly to FileOutputStream (in Java) opened on settings.bin file on the remote, the file was corrupted after writing and the remote couldn't boot. I've figured out that there are strict timings in remote's firmware when reading data from USB port (sent from the computer) and the file need to be sent without any interruption. Unfortunately Linux has very complex buffering mechanism when dealing with storage devices (especially with USB ones) and when settings.bin is uploaded to the remote it is being cached in buffers and sent partially, not as a continuous stream.

    I think that UEI (company which stands behind One-For-All) know about this problem and this is why they don't present Linux as an option when using simpleset.com. You can select only from Windows or Mac when starting creator (this probably changes movie tutorials in the creator). And under OS X it also works without any problems.


    BTW why 6430 and not 6440? Is it because of the color? 6440 has a very nice key backlight.

  10. Hi Tolaris,


    I have URC-6440 (4-device model from the same series) and I'm using Samsung TV code (2051). If you have a Samsung TV you can also use Panasonic or LG codes. TV codes are better than other types because they usually allow to use all the keys on the remote. To use TV codes on PVR device button you first need to change device type mapping, because it won't accept a TV code otherwise. You can do this using http://simpleset.com creator.


    1. Go to http://simpleset.com
    2. Press "Start setup", select your remote model and upload settings.bin file from the remote.
    3. Select "Add a device" and select any of the device buttons (it doesn't matter which one you select now).
    4. On brand selection page click on "More Options" link below brand list.
    5. Select "Mode reassignment".
    6. Select device button which you want the mode changed (for example PVR).
    7. From the list select TV mode and press Done.
    8. You can go back to first page of the creator by clicking the Remote Setup link in breadcrumbs on top of the page.
    9. Save your modified settings.bin and upload it into remote.

    After that you can assign TV code to PVR button. It's also best to select the brand you will be assigning to the button in the simpleset creator as this will sometimes provide upgrades to the device codes and button maps.


    There is also a way to change button mode using special codes on the remote itself. To switch PVR button to TV mode:

    1. Enter SETUP by pressing and holding WatchTV/Setup button until the LED blink twice.
    2. Enter code 992 using numeric keys. LED should blink twice if the code is accepted.
    3. Press PVR button (device button you want to remap).
    4. Press TV button (new mode of the selected device button).

    After this operation the LED should blink twice. If it lights up once but longer it means that the operation was not accepted. The code works on the 6440 so it should also work on 6430.


    BTW if you want to know more about 9xx codes you can go to this page:

    Be careful and don't try entering not known codes as this can give unknown results. The codes that work on 6440 (and probably on 6430): 983, 990, 992, 993, 994 and 995. Some of this functions can be changed from simpleset.com.


    If you need more control there is a dedicated community Java application written by the people from http://hifi-remote.com/forums/ which you can use to edit settings.bin file on your computer. If you are interested there is a thread here http://www.hifi-remote.com/forums/viewtopic.php?t=15638 about recently added SimpleSet support (I'm the author of the component in RMIR which allows it to read and write settings.bin file).

  11. oh and


    pi@raspbmc:/etc/apt$ cat sources.list

    deb http://archive.raspbian.org/raspbian wheezy main contrib non-free

    # flirc

    deb http://apt.flirc.tv/arch/i386 binary/



    Do I have the wrong apt sources?


    Flirc package is not compatible with Raspberry Pi. As you can see you are trying to install i386 (32bit Intel x86 architecture) on a RPi which uses ARM CPU.

    You don't need flirc package on RPi. Install it on a computer if you have one and configure flirc on it. Then you can just plug it in to RPi and use it.

  12. Does that mean that if I set my RPi to automatically login, so that it's ready to recieve terminal-commands, I can get FLIRC to write and execute "telldusd 1 on" when recieving a special IR-signal?


    Not directly. Flirc can only send key combinations, not key sequences. A key combination is a key with optional modifiers (like shift, alt and ctrl). After that you still need some software that could intercept pressed key combination and execute specific command. It would probably need to run as a daemon to be able to execute commands without the need for logging into the console.

  13. I have mine set to 3 and I think that this is a recommended setting. I don't have Harmony remote but I've used my Flirc with 2 different LG remotes and a One-For-All universal remote. It works very well and I don't experience any of the problems you've mentioned. Try posting your problem in Firmware bugs forum or contact Jason directly via private message.

  • Create New...