Ugoos UR02
BT, IR& GEN keymaps.
Homatics Box R 4K plus
BT& GEN keymaps, and IR for dune small remote (old batch)
Kinhank G1
BT, IR&GEN keymaps
<<<<>>>>
locations of files
*IR file- copy (remote.conf) to main root coreelec partition folder of boot media.
*BT file- copy (.hwdb) to Storage/.config/hwdb.d/
*Keymaps file- copy (gen.xml) to Storage/.kodi/userdata/keymaps
finally restart CoreElec.
*(And a quick note, these modified files are only applicable to the ones that are downloaded from this source G drive, so all files shoud be used together in order to work as it should be)
Can you elaborate on the modifications?
Which key performs which action now?
Now, the folders include keys description in English with pictures.
Some buttons and keys have no use in CE like voice or OK-google buttons, so these are not meant to be used with BT except on other OS like ATV-AOSP, But in IR mode no issue.
Do you have a solution for Nokia 8010 IR, needed for universal Logitech remote?
I had to follow these instructions to create files, and I came across an idea to make any customized keys matched with each other in both modes BT, IR.
Home · CoreELEC/remotes Wiki · GitHub
If an IR remote file needs to be created, some remotes use an AmRemote way like the one in this topic, and others might be using Meson IR. And I don’t have the same Nokia 8010 remote controller, so I don’t know how it works.
Is it expected that not all your mappings work in IR mode with the Homatics? Or are you using a remote.conf that is different from the default? I don’t see a remote.conf in your share for the Homatics.
The top right button isn’t working and neither are the lower four buttons.
Does the small remote of Homatics (NOT DUNE with numbers) have IR ?
I only did modify on the BT mode.
If I know all codes for this specific (dune controler) I will do a better modification, hence it has more buttons.
I have the small remote that came with my Dune Homatics. Here’s a picture:
It’s almost the same as the one in your Homatics picture, except that the Disney+ button is a rocket (?) button and the text “SOUND EQ” is printed under the mute button.
And yes it does IR, because I have it paired with BT in Android, but the CE install on my USB stick uses IR.
OK, can you please share your default (remote.conf) file? and if you have (.hwdb) BT file remote also try to share it with me.
I was using this remote.conf:
#amlogic NEC remote Dune HD BOX R 4K PLUS
factory_code = 0x77880001
work_mode = 1
repeat_enable = 1
repeat_delay = 80
repeat_period = 120
release_delay = 20
debug_enable = 0
fn_key_scancode = 0x74 #MOUSE (BOOKMARK)
left_key_scancode = 0x17 #LEFT
right_key_scancode = 0x18 #RIGHT
up_key_scancode = 0x15 #UP
down_key_scancode = 0x16 #DOWN
ok_key_scancode = 0x19 #OK
mouse_begin
0 0x17 #LEFT
1 0x18 #RIGHT
2 0x15 #UP
3 0x16 #DOWN
mouse_end
key_begin
0x21 116 #Power
0x64 398 #RED (YOUTUBE)
0x63 399 #GREEN (NETFLIX)
0x67 400 #YELLOW (PRIME VIDEO)
0x68 401 #BLUE (ROCKET)
0x33 104 #PAGEUP (CH-)
0x34 109 #PAGEDOWN (CH+)
0x17 105 #LEFT
0x18 106 #RIGHT
0x15 103 #UP
0x16 108 #DOWN
0x19 28 #ENTER (OK)
0x47 102 #HOME
0x48 1 #ESC (BACK)
0x60 46 #C (INPUT)
0x25 113 #MUTE
0x24 114 #VOLUMEDOWN
0x23 115 #VOLUMEUP
0x32 24 #CODEC INFO (TV)
0x0F 16 #Q (SETUP)
key_end
repeat_key_begin
0x24 114 # KEY_VOLUMEDOWN
0x23 115 # KEY-VOLUMEUP
0x15 103 # KEY_UP
0x16 108 # KEY_DOWN
0x17 105 # KEY_LEFT
0x18 106 # KEY_RIGHT
repeat_key_end
I now replaced it with the one in the CE repository which also has the number keys.
But when I do some testing with the Keymap Editor addon, I can see that some of the codes are different from the ones in your gen.xml file. And even when I relearn for example the playpause command with the Prime Video key, the new code registers, but it doesn’t work when pressing it during playback:
<key id="16839168">playpause</key>
But for example learning the new code for the debug info does work ok:
<key id="61507">playerdebug</key>
I don’t have the .hwdb file because I first need to pair the remote with BT in CE for that.
I uploaded new file (remote.conf) inside Homatics folder. try to replace it with the one you have and use it with gen file that you downloaded from my drive folder (only use one gen&remote.conf file from the G drive source here). and if you have a bit of extra time also test (.hwdb) for BT.
restart and test, thanks for your comment on this topic.
And of course, you can use any modification with keymap editor addon, but to make things easier in less time to edit, the gen file is ready to be used.
I did add the pause in keyboard.xml
as it does not work with IR remote:
But it’s not yet in nightlies. The correct is used then pause
, it’s handled like keyboard space
.
I tried with the new remote.conf but it doesn’t make a difference.
I also paired the remote with BT and activated your .hwdb file and with that, all keys work as configured in your gen.xml file.
Would be nice if could work with IR though, so I can uses the BT pairing for Android.
I suppose most of it could work with IR if the proper key codes are used.
But I guess for play/pause to work with IR we also need @Portisch 's change?
EDIT
Below an overview of all IR key codes according to Keymap Editor addon. Unfortunately all 4 of the streaming apps buttons give the same code.
KEY_POWER = <no code, turns off device>
KEY_F2_BOOKMARK = <no response>
KEY_F6_YOUTUBE = 16839168
KEY_F7_NETFLIX = 16839168
KEY_F11_PRIME = 16839168
KEY_F12_DISNEY = 16839168 <Rocket key>
KEY_PAGEUP = 61572
KEY_PAGEDOWN = 61573
KEY_LEFT = 61570
KEY_RIGHT = 61571
KEY_UP = 61568
KEY_DOWN = 61569
KEY_ENTER = 61453
KEY_HOME = 61622
KEY_ESC = 61507 <assume this is the right topmost key>?
KEY_F1_INSERT = <key does not exist?>
KEY_F3_GOOGLE = <no response>
KEY_MUTE = 61623
KEY_VOLUMEDOWN = 61624
KEY_VOLUMEUP = 61625
KEY_F4_SETTINGS = 61521
KEY_F5_TV = 61519
That’s a bit strange, cause the defaults remote,conf has almost the same codes as the one G10 with other devices.
And the remote,conf file is not totally pre configured for extra keys, so either it should be used with the same gen file or configured manually by a user with keymap Editor addon.
So, I will look at your attachment files.
I was also trying to follow this guide to read IR codes:
But it doesn’t seem to work. dmesg stays empty when I press a key on the remote and the ir-keytable command doesn’t work at all.
It works, but after I removed the remote.conf file.
So, leave the box connected with network (manual IP address) and SSH enabled, then follow the steps.
1-type
systemctl stop kodi
systemctl stop eventlircd
2-type for scan codes
ir-keytable -p NEC,RC-5,RC-6,JVC,SONY -t
then scan all codes if possible. and mark them down so every key is known with its code.
Here’s an example of my controller.
CoreELEC:~ # systemctl stop kodi
systemctl stop eventlircd
CoreELEC:~ # ir-keytable -p NEC,RC-5,RC-6,JVC,SONY -t
Protocols changed to rc-5 jvc sony nec rc-6
Testing events. Please, press CTRL-C to abort.
91.268017: lirc protocol(nec): scancode = 0x8860
91.268034: event type EV_MSC(0x04): scancode = 0x8860
91.268034: event type EV_SYN(0x00).
92.768018: lirc protocol(nec): scancode = 0x880f
92.768035: event type EV_MSC(0x04): scancode = 0x880f
92.768035: event type EV_SYN(0x00).
92.816015: lirc protocol(nec): scancode = 0x880f repeat
92.816033: event type EV_MSC(0x04): scancode = 0x880f
92.816033: event type EV_SYN(0x00).
93.888015: lirc protocol(nec): scancode = 0x8846
93.888039: event type EV_MSC(0x04): scancode = 0x8846
93.888039: event type EV_SYN(0x00).
93.940018: lirc protocol(nec): scancode = 0x8846 repeat
93.940037: event type EV_MSC(0x04): scancode = 0x8846
93.940037: event type EV_SYN(0x00).
95.128019: lirc protocol(nec): scancode = 0x8874
95.128037: event type EV_MSC(0x04): scancode = 0x8874
95.128037: event type EV_SYN(0x00).
95.180268: lirc protocol(nec): scancode = 0x8874 repeat
95.180289: event type EV_MSC(0x04): scancode = 0x8874
95.180289: event type EV_SYN(0x00).
97.572019: lirc protocol(nec): scancode = 0x8815
97.572037: event type EV_MSC(0x04): scancode = 0x8815
97.572037: event type EV_SYN(0x00).
97.624271: lirc protocol(nec): scancode = 0x8815 repeat
97.624301: event type EV_MSC(0x04): scancode = 0x8815
97.624301: event type EV_SYN(0x00).
98.404018: lirc protocol(nec): scancode = 0x8817
98.404035: event type EV_MSC(0x04): scancode = 0x8817
98.404035: event type EV_SYN(0x00).
98.452274: lirc protocol(nec): scancode = 0x8817 repeat
98.452295: event type EV_MSC(0x04): scancode = 0x8817
98.452295: event type EV_SYN(0x00).
99.228017: lirc protocol(nec): scancode = 0x8816
99.228043: event type EV_MSC(0x04): scancode = 0x8816
99.228043: event type EV_SYN(0x00).
99.280016: lirc protocol(nec): scancode = 0x8816 repeat
99.280037: event type EV_MSC(0x04): scancode = 0x8816
99.280037: event type EV_SYN(0x00).
100.328018: lirc protocol(nec): scancode = 0x8818
100.328042: event type EV_MSC(0x04): scancode = 0x8818
100.328042: event type EV_SYN(0x00).
100.380017: lirc protocol(nec): scancode = 0x8818 repeat
100.380044: event type EV_MSC(0x04): scancode = 0x8818
100.380044: event type EV_SYN(0x00).
101.300018: lirc protocol(nec): scancode = 0x8819
101.300038: event type EV_MSC(0x04): scancode = 0x8819
101.300038: event type EV_SYN(0x00).
102.380018: lirc protocol(nec): scancode = 0x8848
102.380042: event type EV_MSC(0x04): scancode = 0x8848
102.380042: event type EV_SYN(0x00).
103.228019: lirc protocol(nec): scancode = 0x8847
103.228039: event type EV_MSC(0x04): scancode = 0x8847
103.228039: event type EV_SYN(0x00).
103.280270: lirc protocol(nec): scancode = 0x8847 repeat
103.280300: event type EV_MSC(0x04): scancode = 0x8847
103.280300: event type EV_SYN(0x00).
104.300019: lirc protocol(nec): scancode = 0x8832
104.300041: event type EV_MSC(0x04): scancode = 0x8832
104.300041: event type EV_SYN(0x00).
104.352015: lirc protocol(nec): scancode = 0x8832 repeat
104.352044: event type EV_MSC(0x04): scancode = 0x8832
104.352044: event type EV_SYN(0x00).
105.576018: lirc protocol(nec): scancode = 0x8833
105.576040: event type EV_MSC(0x04): scancode = 0x8833
105.576040: event type EV_SYN(0x00).
105.624016: lirc protocol(nec): scancode = 0x8833 repeat
105.624043: event type EV_MSC(0x04): scancode = 0x8833
105.624043: event type EV_SYN(0x00).
106.460044: lirc protocol(nec): scancode = 0x8834
106.460066: event type EV_MSC(0x04): scancode = 0x8834
106.460066: event type EV_SYN(0x00).
106.512270: lirc protocol(nec): scancode = 0x8834 repeat
106.512289: event type EV_MSC(0x04): scancode = 0x8834
106.512289: event type EV_SYN(0x00).
107.472017: lirc protocol(nec): scancode = 0x8825
107.472041: event type EV_MSC(0x04): scancode = 0x8825
107.472041: event type EV_SYN(0x00).
107.524019: lirc protocol(nec): scancode = 0x8825 repeat
107.524035: event type EV_MSC(0x04): scancode = 0x8825
107.524035: event type EV_SYN(0x00).
108.420018: lirc protocol(nec): scancode = 0x8823
108.420046: event type EV_MSC(0x04): scancode = 0x8823
108.420046: event type EV_SYN(0x00).
108.472019: lirc protocol(nec): scancode = 0x8823 repeat
108.472039: event type EV_MSC(0x04): scancode = 0x8823
108.472039: event type EV_SYN(0x00).
109.260018: lirc protocol(nec): scancode = 0x8824
109.260039: event type EV_MSC(0x04): scancode = 0x8824
109.260039: event type EV_SYN(0x00).
109.308018: lirc protocol(nec): scancode = 0x8824 repeat
109.308045: event type EV_MSC(0x04): scancode = 0x8824
109.308045: event type EV_SYN(0x00).
109.416272: lirc protocol(nec): scancode = 0x8824 repeat
109.416295: event type EV_MSC(0x04): scancode = 0x8824
109.416295: event type EV_SYN(0x00).
110.196017: lirc protocol(nec): scancode = 0x8864
110.196044: event type EV_MSC(0x04): scancode = 0x8864
110.196044: event type EV_SYN(0x00).
110.244017: lirc protocol(nec): scancode = 0x8864 repeat
110.244036: event type EV_MSC(0x04): scancode = 0x8864
110.244036: event type EV_SYN(0x00).
111.080018: lirc protocol(nec): scancode = 0x8867
111.080039: event type EV_MSC(0x04): scancode = 0x8867
111.080039: event type EV_SYN(0x00).
111.128016: lirc protocol(nec): scancode = 0x8867 repeat
111.128035: event type EV_MSC(0x04): scancode = 0x8867
111.128035: event type EV_SYN(0x00).
112.044017: lirc protocol(nec): scancode = 0x8863
112.044044: event type EV_MSC(0x04): scancode = 0x8863
112.044044: event type EV_SYN(0x00).
112.096022: lirc protocol(nec): scancode = 0x8863 repeat
112.096046: event type EV_MSC(0x04): scancode = 0x8863
112.096046: event type EV_SYN(0x00).
112.992309: lirc protocol(nec): scancode = 0x8868
112.992341: event type EV_MSC(0x04): scancode = 0x8868
112.992341: event type EV_SYN(0x00).
129.264020: lirc protocol(nec): scancode = 0x8821
129.264046: event type EV_MSC(0x04): scancode = 0x8821
129.264046: event type EV_SYN(0x00).
Note that only first and last two digits are needed
Example, power key= 0x21
And after scan codes, rerun kodi again from SSH.
systemctl start eventlircd
systemctl start kodi
And there’s another location for IR remote you can use. (but only one of them should be used)
copy remote.conf file to /storage/.config/
-then SSH and type reboot
Thank you. I was stupid. I still had a remote.conf file in the /flash directory in addition to the one in /storage/.config.
After renaming them both I could read all the scan codes using ir-keytable:
KEY_POWER = 0x8821
KEY_F2_BOOKMARK = 0x8874
KEY_F6_YOUTUBE = 0x8864
KEY_F7_NETFLIX = 0x8863
KEY_F11_PRIME = 0x8867
KEY_F12_DISNEY = 0x8868 <Rocket key>
KEY_PAGEUP = 0x8833
KEY_PAGEDOWN = 0x8834
KEY_LEFT = 0x8817
KEY_RIGHT = 0x8818
KEY_UP = 0x8815
KEY_DOWN = 0x8816
KEY_ENTER = 0x8819
KEY_HOME = 0x8847
KEY_ESC = 0x8848 <Back key>
KEY_F1_INSERT = 0x8860 <Input key, topmost right>
KEY_F3_GOOGLE = 0x8846
KEY_MUTE = 0x8825
KEY_VOLUMEDOWN = 0x8824
KEY_VOLUMEUP = 0x8823
KEY_F4_SETTINGS = 0x880f
KEY_F5_TV = 0x8832
EDIT
Those codes are exactly the same as in your remote.conf, so I’m going to try again, but this time without the remote.conf in /flash
EDIT 2
Yes, everything works now through IR. So it was my own fault because of leaving a remote.conf in /flash. Sorry for all the confusion and thanks for your files!