MINIX A2

From Official Kodi Wiki
Jump to: navigation, search
A2.png Back face a2.png
This is the MINIX NEO A2 Remote.

It has a full QWERTY keyboard on the back, which allows the use of the Search function in KODI.
As much as we would like every button to work 'out of the box', we need to make changes to the keymaps files for several of the front facing buttons
This task is necessary for the majority of RF remotes on the market.

Keystrokes sent were discovered by enabling KODI's debugging feature, and monitoring the debug log
The Actions associated with each button are completely within the user's discretion.
The example keymaps shown are only one possible permutation

Button Keycode key name Desired KODI action keymap file keymaps entry(s) Notes
B0.png 0xf0de power Power Menu keyboard.xml <power>ActivateWindow(shutdownmenu)</power> Works by default
B00.png 0xf0b7 volume_mute Mute keyboard.xml <volume_mute>Mute</volume_mute> Works by default
B1.png Sends signal, but not recognized by KODI
B2.png 0xf091 F2 Next Subtitle keyboard.xml <F2>NextSubtitle</F2>
B3.png 0xf088 home Next Audio Language keyboard.xml <home>AudioNextLanguage</home>
B up.png 0xf080 up Navigate Up keyboard.xml <up>Up</up> Works by default
B4.png leftclick Select mouse.xml <leftclick>Select</leftclick>
<mousedragend>Select</mousedragend>
available starting in version 15
B down.png 0xf081 down Navigate down keyboard.xml <down>Down</down> Works by default
B left.png 0xf082 left Navigate Left keyboard.xml <left>Left</left> Works by default
B right.png 0xf083 right Navigate Right keyboard.xml <right>Right</right> Works by default
B5.png rightclick Back mouse.xml <rightclick>Back</rightclick>
<mouserdragend>Back</mouserdragend>
available starting in version 15
B7.png 0xf00d return Search menu keyboard.xml <return>SendClick(8)</return> Compromised choice, unfortunately a duplicate of this key
exists on the back of the remote. Both keys are affected by custom keymap entry
B6.png -- -- This button only
Enables/disables the Air-mouse
B9.png 0xf0b8 volume_down Volume Down keyboard.xml <volume_down>VolumeDown</volume_down> Works by default
B8.png 0xf090 F1 Stop Playback keyboard.xml <F1>Stop</F1>
B10.png 0xf0b9 volume_up Volume Up keyboard.xml <volume_up>VolumeDown</volume_up> Works by default
B 11.png 0xf0bb prev_track Page Up keyboard.xml <prev_track>PageUp</prev_track>
B 12.png 0xf0bd play_pause Pause / Play keyboard.xml <play_pause>PlayPause</play_pause> Works by default
B 13.png 0xf0ba next_track Page Down keyboard.xml <next_track>PageDown</next_track>

1 Customized MINIX NEO A2 mouse.xml

<keymap>
 <global>
   <mouse>
     <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>
     <mousedragend>Select</mousedragend>
     <mouserdragend>Back</mouserdragend>
   </mouse>
 </global>
</keymap>

2 Customized MINIX NEO A2 keyboard.xml (additions)

If there are multiple keymap entries for the same key name, the last entry wins.
I recommend placing manual entries at the end of the <keyboard> stanza inside <global>

This saves us the effort of finding and editing each original key assignment

     ....
     <F2>NextSubtitle</F2>
     <home>AudioNextLanguage</home>
     <return>SendClick(8)</return>
     <F1>Stop</F1>
     <prev_track>PageUp</prev_track>
     <next_track>PageDown</next_track>
   </keyboard>
 </global>
 ....

3 keyboard.xml per Window customization

Another valuable tool when editing keyboard.xml: there are subsections which allow you to re-assign keys while in a particular 'Window'.
For example let's look this default entry:

 ....
 <FullscreenVideo>
   <keyboard>
     ....
     <return>OSD</return>
     ....
   </keyboard>
 </FullscreenVideo>
 ....

While a video is playing (fullscreen) the <return> key will bring up the OSD, instead of executing SendClick(8) as assigned in <global>
If this behaviour is not desired, an additional manual entry is required in the relevant subsection.

4 keyboard.xml per Window customization, refining remote actions

Earlier I reassigned the <return> key within the <global> section of keyboard.xml.
This had one negative side effect: After manually entering text, pressing <return> would not submit the text.
VirtualKeyboard window.png

The solution is to modify the action of the <return> key while in the VirtualKeyboard Window.
Add one line to the <VirtualKeyboard> section of keyboard.xml

 ....
 <VirtualKeyboard>
   <keyboard>
     ....
     <return>Select</return>
     ....
   </keyboard>
 </VirtualKeyboard>
 ....

5 remote.conf example for amlogic boxes

/etc/amremote/remote.conf

Example settings needed to map the power button (note - this only applies once the device has booted, the initial power on detection appears to be in hardware)

 ....
  factory_code    = 0xfe010001
  key_begin
      0x18 116 # power
  key_end
 ....