aanno Posted November 6, 2013 Report Share Posted November 6, 2013 Hello, as far as I understand the flirc USB dongle translates IR remote control signals to (emulated) keyboard keycodes (non-technical: key strokes). There are many 'real' keyboards with special 'multimedia keys' on it (extra keys for play/pause, forward, backward, etc.). However the current Flirc application does not support mapping to such a keycode (even when mapping with 'full keyboard'). I would suggest that the Flirc application should be improved to support 'extended keyboard', so that you can define a mapping from RCs keys to (emulated) multimedia keys. Kind regards, aanno Quote Link to comment Share on other sites More sharing options...
luziferius Posted November 14, 2013 Report Share Posted November 14, 2013 Hi, +1 ---------- A bit background for everyone interested: ---Everything below is 'As Far As I Know' and assumptions about the Flirc device are guesses--- The Flirc connects itself as a USB HID(Human Interface Device) to the system. The HID-specification uses several byte long 'reports' to translate hardware events to system events in a standardized way. There is 1(?) byte for the 'usage page'; this one defines something like a device class, like keyboard, mouse, joystick, LED-device, whatever… Then there are 2 (or more ?) bytes that represent the actual value that comes from/goes to the device. The value is dependent on the usage page, so the value 0x04 is something different in different usage pages. Here is a nice table listing many values for the different usage pages, this comes from the NetBSD souce tree: http://code.metager.de/source/xref/NetBSD/src/lib/libusbhid/usb_hid_usages -What about the Flirc device?- The usage page for normal keyboard keys(A-Z, numbers, F-keys, etc) is decimal 7. To output a keyboard key, the Flirc device has to send a HID-report with usage page 7 for every normal keyboard key. This has to be verified by the dev: I assume that, to save a byte in the storage, the Flirc device uses a hardcoded usage page 7 to generate all HID reports. The multimedia keys are in a different usage page, namely decimal 12, 'Consumer'. To support multimedia keys, the Flirc device has to remove the hardcoded usage page from the report generator in the firmware and load the correct page for every saved key from the memory. That’s a problem: Best case: there is enough unused space available to store that additional byte. Unlikely, as free space should be used to store more usable data. Likely: The number of available slots for key storage will be reduced by ~20-50 Worst Case: Unlikely, but possibe: The microcontroller uses some sort of sectors for memory magagement (like HDDs do). Each sector is long enough to store one 'IR signal'+'key value' pair. It cannot adress across multiple sectors. Then adding an additional byte per saved key to store would halven the storage capacity or may be completely impossible. --- Question to the dev:--- Is it possible for the Flirc device to save different usage pages and use them for generating those multimedia keys? If this is impossible (Worst Case), would it be possible to put out another firmware that is almost identical, but uses usage page 12 instead? Then you could at least turn the Flirc device into a 'multimedia only'-keyboard that only supports those multimedia keys. Quote Link to comment Share on other sites More sharing options...
deyv Posted May 31, 2014 Report Share Posted May 31, 2014 (edited) Hi, This is a long awaited feature. Is it planned to do anything about this ? regards Edit: it is actually working, thanks :-) Edited June 1, 2014 by deyv Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.