I recently got hold of two MX3 remotes (it was _really cheap_ as both were ordered from eBay as T3 and received from China as MX3, so refund
)).
As I use it with Linux (Debian Jessie, Gnome3) I thought I will share my findings, maybe somebody will get some use of it.
First the functions:
The remotes are MX3 models (or MXIII as sometimes are referred to), so no audio feature.
They get recognized on the USB as a composit HID device with VendorID:2389 and ProductID:00A8 which is not matched with any known vendor and/or product.
The state of the mouse gets memorized until battery changing.
The remote has 3 state changing buttons: TV, MOUSE DISABLE, Fn (on the backside), all other keys are sending valid, recognizable keycodes.
Now the keycode/value layout map. The position of each entry is matched with the physical position of the corresponding button on the remote. This is the air mouse/D-pad side, the keyboard side is pretty straightforward.
Code:
Keycode layout for the MXIII RF Remote and Air Mouse:
Keycodes marked with asterisk (*) send their codes through the second input device (keyboard), while all other keycodes come through the mouse device.
KEY_POWER (10081)
KEY_PREVIOUSSONG(c00b6) KEY_NEXTSONG(c00b5) KEY_REWIND(c00b4) KEY_FASTFORWARD(c00b3)
*KEY_F3(7003c) KEY_PLAYPAUSE(c00cd) KEY_ZOOMIN(c022d) KEY_ZOOMOUT(c022e)
*KEY_COMPOSE(70065) KEY_HOMEPAGE (c0223) BTN_RIGHT(90002)
KEY_UP (70052)
KEY_LEFT(70050) KEY_ENTER(70028) KEY_RIGHT(7004f)
KEY_DOWN(70051)
KEY_VOLUMEUP(c00e9) *KEY_PAGEUP(7004b)
KEY_VOLUMEDOWN(c00ea) KEY_MUTE(c00e2) MOUSE_ON_OFF(N/A) *KEY_PAGEDOWN(7004e)
*KEY_1(7001e) *KEY_2(7001f) *KEY_3(70020) KEY_CONFIG(c0183)
*KEY_4(70021) *KEY_5(70022) *KEY_6(70023) KEY_MAIL(c018a)
*KEY_7(70024) *KEY_8(70025) *KEY_9(70026) *KEY_F2(7003b)
TV_RF_IR_SWITCH(N/A) *KEY_0(70027) *KEY_BACKSPACE(7002a) KEY_WWW(c008a)
*KEY_F4(7003d) *KEY_F5(7003e) *KEY_F6(7003f) *KEY_F7(70040)
These values can be used to create a map using udev:
Code:
#Keymap file for the MXIII RF Remote and Air Mouse device
#This file goes as 60-keyboard.hwdb into the /etc/udev/hwdb.d/ directory
#after changing this file, these commands should be run:
#udevadm hwdb --update
#udevadm trigger
#udevadm control --reload
keyboard:usb:v2389p00A8*
KEYBOARD_KEY_10081=f24 #KEY_POWER - Power Button
# KEYBOARD_KEY_c00b6=x #KEY_PREVIOUSSONG
# KEYBOARD_KEY_c00b5=x #KEY_NEXTSONG
# KEYBOARD_KEY_c00b4=x #KEY_REWIND
# KEYBOARD_KEY_c00b3=x #KEY_FASTFORWARD
# KEYBOARD_KEY_7003c=x #KEY_F3*
# KEYBOARD_KEY_c00cd=x #KEY_PLAYPAUSE
# KEYBOARD_KEY_c022d=x #KEY_ZOOMIN
# KEYBOARD_KEY_c022e=x #KEY_ZOOMOUT
# KEYBOARD_KEY_70065=x #KEY_COMPOSE*
# KEYBOARD_KEY_c0223=x #KEY_HOMEPAGE
KEYBOARD_KEY_90002=esc #BTN_RIGHT - Back Button (to the right of Home)
Important: the forum engine eats the first (and single) space character in front of KEYBOARD_KEY_xxxx but it is a must.
The above code changes the Back button to send an Escape code, and the Power button to send an F24 code.
The first is (in my opinion) a much wiser choice for a Back button then the stock mouse right button.
The last is a hack for me to be able to make a custom script work, which will turn off the display on my machine (actually rather send the display to sleep) when I press Power.
Still thinking about the proper solution of the "missing Stop button" problem.
Btw: I ordered a T3-M remote, I'm looking forward to see the differences. We'll see in a few weeks.
Update: I received the T3-M and as I currently own both MX3 (2 of them :-) and a T3-M remote I must say the T3-M is way more thought out than the MX3. The T3 only sends keypresses through that device where they belong while the MX3 is more of a mumble-jumble, sending some keys using the mouse some keys using the keyboard device. And btw. on the T3-M they changed the key codes for the PrevSong/NextSong - Rew/FF keypairs to better match the symbol on the key.