2015-01-02, 22:31
Background:
In case it's relevant, I run all my XBMC / KODI deployments on:
- Older Desktop PCs
- XBMCbuntu
- LCD TV
I wanted to use a good remote control for each deployment. When you search for a nice remote control for a PC these days, you will find one common feature: Almost all remotes have air-mouse functionality built in. I ended up purchasing several MINIX A2 remotes
The Challenge
The solution appears to be to edit the mouse.xml file to re-assign the tasks of those 2 buttons:
The Problem:
The problem is the reassigned buttons do not work reliably, rendering this approach unusable.
Specifically: If the remote is in motion (sending mouse movement) at the same time as I try to press one of the mouse buttons, reliability drops to less than 50%. Presumably motion + left click is being interpreted as mousedrag?
I have written a forum post describing this problem almost one year ago: Link
Work around which demonstrates that it could work
As it is almost impossible to purchase a PC remote without air-mouse functionality, and these remotes were expensive, I had to find a way to make it work.
The solution I used is ugly:
- I had to install evrouter Link,
- get evrouter to autostart
- give it enough permissions to manipulate the computer IO
- use evrouter to convert the remote's mouse clicks to keystrokes at a system level
- let XBMC process the resulting keystrokes, while ignoring all mouse actions.
This results in 100% reliability
But this is a very ugly hack that can not be passed off as standard operating procedure.
If there is a XBMC/kodi config solution which I am not aware of, please let me know how to correctly use an Air-mouse remote with XBMC.
Otherwise, please add this bug/feature-request to your development schedule.
In case it's relevant, I run all my XBMC / KODI deployments on:
- Older Desktop PCs
- XBMCbuntu
- LCD TV
I wanted to use a good remote control for each deployment. When you search for a nice remote control for a PC these days, you will find one common feature: Almost all remotes have air-mouse functionality built in. I ended up purchasing several MINIX A2 remotes
The Challenge
- The most sensible way to control XBMC/Kodi is to use only keyboard commands.
- Air-mouse remotes have buttons for Mouse functions and buttons for Keyboard functions.
- The buttons which are hard-wired to the Mouse clicks are in central positions and can not be ignored
The solution appears to be to edit the mouse.xml file to re-assign the tasks of those 2 buttons:
Code:
<keymap>
<global>
<mouse>
<mousemove>noop</mousemove>
<leftclick>Select</leftclick>
<rightclick>Back</rightclick>
<middleclick>noop</middleclick>
<doubleclick id="0">noop</doubleclick>
<longclick id="0">noop</longclick>
<wheeldown>noop</wheeldown>
<wheelup>noop</wheelup>
<mousedrag>noop</mousedrag>
<mousemove>noop</mousemove>
</mouse>
</global>
</keymap>
The Problem:
The problem is the reassigned buttons do not work reliably, rendering this approach unusable.
Specifically: If the remote is in motion (sending mouse movement) at the same time as I try to press one of the mouse buttons, reliability drops to less than 50%. Presumably motion + left click is being interpreted as mousedrag?
I have written a forum post describing this problem almost one year ago: Link
Work around which demonstrates that it could work
As it is almost impossible to purchase a PC remote without air-mouse functionality, and these remotes were expensive, I had to find a way to make it work.
The solution I used is ugly:
- I had to install evrouter Link,
- get evrouter to autostart
- give it enough permissions to manipulate the computer IO
- use evrouter to convert the remote's mouse clicks to keystrokes at a system level
- let XBMC process the resulting keystrokes, while ignoring all mouse actions.
This results in 100% reliability
But this is a very ugly hack that can not be passed off as standard operating procedure.
If there is a XBMC/kodi config solution which I am not aware of, please let me know how to correctly use an Air-mouse remote with XBMC.
Otherwise, please add this bug/feature-request to your development schedule.