ESCAPE key mapping in DEX mode - Samsung Galaxy Tab S5e Questions & Answers

I have the keyboard book cover and i really miss the ESC and del keys. One way around this is to use a keymapper software and you are done. But this is not the scenario when used in DEX mode. In DEX mode you wont be able to change the keyboard to the custom one. So i was researching how to edit the kl and kcm files to get the job done. However i am not able to achieve my goal that is remap '~' ( the first key ) to ESCAPE.
The tablet is rooted with magisk on android Q.
Code:
# tail -n11 /proc/bus/input/devices
I: Bus=0018 Vendor=04e8 Product=a035 Version=0000
N: Name="Tab S5e Book Cover Keyboard"
P: Phys=
S: Sysfs=/devices/platform/soc/880000.i2c/i2c-7/7-002a/input/input13
U: Uniq=
H: Handlers=sec_key_notifier event7
B: PROP=0
B: EV=13
B: KEY=4 0 0 0 0 0 0 0 0 0 2400169000400000 77ffffffffffffc
B: MSC=10
mounted the /system to readwrite
Code:
mount --remount / -w
changed directory to /system/usr/keylayout and /system/usr/keychars couldnt find the relevant Vendor_04e8_Product_a035.kl and Vendor_04e8_Product_a035.kcm respectively. So i created them by copying generic.kcm and generic.kl files.
Now in the kl file . KEY1 is ESCAPE. which is what i want. but after doing the above i am not getting the action of ESCAPE after a disconnect and reconnect and testing in termux. will the OS never use the custom kl and kcm files that i created ?

Hi. Did you manage to find a way? Thanks.

gabrielgon said:
Hi. Did you manage to find a way? Thanks.
Click to expand...
Click to collapse
Sorry i have not found a way.

Hello,
It seems that android is inspecting through a lot of directories until finding a suitable charmap.
See, maybe, Android documentation :
Android doc
If you find those kl & kml files, it would be interesting to share them.
And if you could retrieve the french language keyboard (fr-FR) charmap (maybe after downloading it, it would be useful for me as I would like to map not only ESC key, but F1... F12 also).
As we can select apparently other keyboards mapping for Book cover keyboard (tried with "Extra keyboard layouts" on Play Store, they're selectable), so maybe a solution would be to generate an APK embedding the new keyboard charmap using something like this https://exkeymo.herokuapp.com/ (or generate the APK from scratch).

Delete please.

Related

Anyone have the SymbolicTools Windows Mobile apps (PocketConsole, etc)?

Their website now seems to be defunct, and I was wondering if anyone has copies of the utilities. If anyone has the source that would be best, but just getting a hold of the binaries would be great.
Thanks.
There you go. In the zip there are .exe installers of both bocketConsole and pocketCMD from symbolic tools. As far as i know, you should install the CMD first, and then the console. From what i read you also need to change the following reg key value to make the cmd work:
"HKEY_LOCAL_MACHINE\Drivers\Console\OutputTo" to 0 (zero)
I didn't run the console before changing it, so i'm not sure if it's really necessary.

[HOWTO] Remap Hardware Buttons

When you move your software buttons to status bar, there is a problem with apps that cover full screen and don’t have “menu” or “back” button. For example “Gallery”. You have to push longer power buttons and switch to buttons mode to end application or get to menu. I have found this quite irritating so I prefer to have “one click” button to get this working. When you get lcd density to 130, your status bar is very small and is difficult to touch soft buttons.
By editing file /system/usr/keylayout/qwerty.kl you can remap your buttons.
Note that this require permanent root with rw access to system partition.
Ive tested this on Archos 70 rotted with OC kernel http://forum.xda-developers.com/showthread.php?t=897877 it should work with chulri method http://forum.xda-developers.com/showthread.php?t=930197 and UrukDroid http://forum.xda-developers.com/showthread.php?t=895599.
Thx guys for great work
Doesn’t work with Archangel because it needs rw acces to /system/.
Maybe some “magic” can make a script to force android to use keyboard layout from different location (sdcard for example).
Like with all operations on system files, you can broke your system when something goes wrong. Remember, I'm not responsible for anything.
If you use other keyboard than default you probably have to edit another file from /system/usr/keylayout/. I’ve tested this only for standard keyboard.
After made changes to qwerty.kl you have to restart device.
In this example I’ve remapped + button as “Menu” and Volume – as “Back”.
Remember that you will loose ability to control volume with hardware buttons.
To set to default mapping simply copy original file or edit it and restart device.
Before you start, make a backup of original file.
Go to terminal:
Code:
su
cp /system/usr/keylayout/qwerty.kl /system/usr/keylayout/qwerty.kl.org
Next, open /system/usr/keylayout/qwerty.kl file with text editor
And find line
key 115 VOLUME_UP
key 114 VOLUME_DOWN
key 116 POWER WAKE
These are our hard buttons.
Change it to
key 115 MENU
key 114 BACK
key 116 POWER WAKE
Restart android and you have Menu under volume+ and back under volume-
To reset to default, simply go to terminal and:
Code:
su
cp /system/usr/keylayout/qwerty.kl.org /system/usr/keylayout/qwerty.kl
and reboot.
Of course feel free to experiment to other button mapping. :]
very nice. Will be trying this out for sure. Was looking for a better way than button Savior / buttons panel.
Will test during my very busy Friday afternoon work day
Can't "thanks" from tapatalk but will be sure to get you later
Sent from my A101IT using Tapatalk
Nice added to the list of modifications possible with the different root methods here
diabel44 said:
When you move your software buttons to status bar, there is a problem with apps that cover full screen and don’t have “menu” or “back” button. For example “Gallery”. You have to push longer power buttons and switch to buttons mode to end application or get to menu. I have found this quite irritating so I prefer to have “one click” button to get this working. When you get lcd density to 130, your status bar is very small and is difficult to touch soft buttons.
By editing file /system/usr/keylayout/qwerty.kl you can remap your buttons.
Note that this require permanent root with rw access to system partition.
Ive tested this on Archos 70 rotted with OC kernel http://forum.xda-developers.com/showthread.php?t=897877 it should work with chulri method http://forum.xda-developers.com/showthread.php?t=930197 and UrukDroid http://forum.xda-developers.com/showthread.php?t=895599.
Thx guys for great work
Doesn’t work with Archangel because it needs rw acces to /system/.
Maybe some “magic” can make a script to force android to use keyboard layout from different location (sdcard for example).
Like with all operations on system files, you can broke your system when something goes wrong. Remember, I'm not responsible for anything.
If you use other keyboard than default you probably have to edit another file from /system/usr/keylayout/. I’ve tested this only for standard keyboard.
After made changes to qwerty.kl you have to restart device.
In this example I’ve remapped + button as “Menu” and Volume – as “Back”.
Remember that you will loose ability to control volume with hardware buttons.
To set to default mapping simply copy original file or edit it and restart device.
Before you start, make a backup of original file.
Go to terminal:
Code:
su
cp /system/usr/keylayout/qwerty.kl /system/usr/keylayout/qwerty.kl.org
Next, open /system/usr/keylayout/qwerty.kl file with text editor
And find line
key 115 VOLUME_UP
key 114 VOLUME_DOWN
key 116 POWER WAKE
These are our hard buttons.
Change it to
key 115 MENU
key 114 BACK
key 116 POWER WAKE
Restart android and you have Menu under volume+ and back under volume-
To reset to default, simply go to terminal and:
Code:
su
cp /system/usr/keylayout/qwerty.kl.org /system/usr/keylayout/qwerty.kl
and reboot.
Of course feel free to experiment to other button mapping. :]
Click to expand...
Click to collapse
diabel44 said:
I
Click to expand...
Click to collapse
I have edited .kl file using both ES File Explorer & adb shell , but edited file is restoring to previous on reboot. Is there a way to permanently change the .kl files
MASTER MC said:
I have edited .kl file using both ES File Explorer & adb shell , but edited file is restoring to previous on reboot. Is there a way to permanently change the .kl files
Click to expand...
Click to collapse
I got it. It should be edited and changed to /system using twrp recovery.
I mapped volume button to power. It works correctly only when device is powered on and it doesnot reboot when shutdown. Can u tell me where I should make changes to work to power on the device .

[Q] Bluetooth keyboard mapping

Hello,
I have successfully paired my stowaway Bluetooth keyboard with the GT. However I am not able to change the keymapping of the keyboard to use the German layout of the keyboard. Any ideas out there how to change the mapping?
Interesting: Under /system/use/keys... there is a Motorola bluetooth Keymap ...
First off, thanks for trying this out, haven't got around to trying my iGo stowaway keyboard, so nice to know it should work. In regards to keyboard mapping this thread may be helpful:
http://forum.xda-developers.com/showthread.php?t=799079
Thank you for the link. Theres a lot of mapping to try out I had allready been playing around with the charmap files but the description in the link is much more detailed.
if you can't get it to work properly with the work people have already done, it's pretty simple to manually edit the keymap.
1. plug in the tab and start adb shell
2. run the getevent command
3. press a key and look at the middle number that shows up. should look something like
/dev/input/event1: 0001 0073 00000001
/dev/input/event1: 0001 0073 00000000
Click to expand...
Click to collapse
I forget what the first number but the second number is the key(in this case, volume up) and the third is the state(1 down, 0 up).
4. convert the key number from hex to decimal.
5. cd /system/usr/keylayout
6. cp qwerty.kl qwerty.bak
7. exit adb shell
8. adb pull /system/usr/keylayout/qwerty.kl
9. open up qwerty.kl and look for the key that you found in decimal(not the original number).
10. edit the file and push it back to /system/usr/keylayout
if this does not work, try editing Generic.kl
Thank you for the information.
Funny thing is, that the qwerty.kcm on the GT 10.1V is not a .bin-file. It is simply editable with a Text editor:
key A {
label: 'A'
number: '2'
base: 'a'
shift, capslock: 'A'
alt: '#'
shift+alt, capslock+alt: none
}
key B {
label: 'B'
number: '2'
base: 'b'
shift, capslock: 'B'
alt: '<'
shift+alt, capslock+alt: none
... and so on.
So the first step would be to find the key number (with "keytest" or getevent), followed by changing the mapping of the keys.
I wonder if I could just add:
FN_left: 'behaviour'
FN_right: 'behaviour'
additionally.
I'm not sure exactly what you're planning on doing, but I can tell you right now that adding things to qwerty.kcm will not work. It's strange that it's not a bin file but anyway, there are many different files that use the same values as qwerty.kcm that need to be edited accordingly. Obviously in honeycomb it is a little bit different, but I know that in froyo, you needed to edit KeyEvent.java, KeycodeLabels.h, nav_keys.py, attrs.xml and Monkey.java before the values in qwerty.kcm could take effect.
That being said, you can edit the values that are already there.
I work for the android dev team at Broadcom and I found all of this out while trying to add support for the escape key on hardware keyboards. I wanted to be able to use vi on an android tablet. I did have the escape key working, but google does not allow for vendor specific key mappings so I would have had to "contribute a patch to the open source project to define those new codes" in order to "maintain a consistent set of key code definitions across all Android devices." I didn't really feel that this was worth it since most apps that require an escape key(connect bot for example) have another way of doing it.

[GUIDE][DOCK][Updated] Disable popup and autoenable foreign layouts when docking

Using a soft keyboard different than the Asus one, when the dock is connected an annoying message pop up telling us that if we don't change the soft keyboard to the asus one, the dock keyboard could not function well.
This is mostly important for non US users, as when the soft keyboard isn't the Asus one, the layout used for the dock is the standard US one.
Root needed
Using Autostarts we can disable the popup when the dock is connected:
Download autostarts from the market, open the app, let it load all the the way, then click on Asus Keyboard under "Docking changed" and disable it
or in terminal
adb shell
su
pm disable com.nuance.xt9.input/.DockEventReceiver
For permanently change the standard layout of the dock keyboard:
Locate your national keychars in /system/usr/xt9/keychars
mine is qwerty-it_IT.kcm
The first 2 character after the - is the language of the keyboard, in my case Italian, the 2 characher after the _ is the country of the keyboard, Italy in my case.
copy this file in /system/usr/keychars
rename the standard one asusec.kcm in asusec.kcm.old for backup purpose.
then rename the one you copied in asusec.kcm
Locate your national layout in /system/usr/xt9/keylayout
mine is qwerty-it_IT.kl
copy this file in /system/usr/keylayout
rename the standard one asusec.kl in asusec.kl.old for backup purpose.
then rename the one you copied in asusec.kl
reboot and you are all done
P.S.
you can use root explorer to copy and rename those files, or you can do it with adb.
If you don't know how to use those, maybe is better to learn before messing around in the system files.
P.P.S.
If anyone know a free app that can replace autostarts, let me know so I can update the guide.
Great guide, thx a lot! If we mess with keychars and keylayout, we could also remap specific keys, right?
For example, I don't really need the three brightness buttons on the dock, i barely change brightness, and if i have to sometimes, i don't mind browsing to settings-->display.
Can we remap these to different keys OR specific apps, OR even better: to key combinations? Would be cool to have cut, copy and paste on the brightness buttons. What do you think?
Plus, one more off topic thing, I think you could know: Is there a file which could change mouse button mapping and perhaps enable additional mouse buttons (thumb mouse buttons for example)? I though of setting the "menu" key to the right mouse button instead of "back" for example.
Regards
qwer23
qwer23 said:
Great guide, thx a lot! If we mess with keychars and keylayout, we could also remap specific keys, right?
For example, I don't really need the three brightness buttons on the dock, i barely change brightness, and if i have to sometimes, i don't mind browsing to settings-->display.
Can we remap these to different keys OR specific apps, OR even better: to key combinations? Would be cool to have cut, copy and paste on the brightness buttons. What do you think?
Plus, one more off topic thing, I think you could know: Is there a file which could change mouse button mapping and perhaps enable additional mouse buttons (thumb mouse buttons for example)? I though of setting the "menu" key to the right mouse button instead of "back" for example.
Regards
qwer23
Click to expand...
Click to collapse
You can remap any key you want, I've seen a guide somewhere in the forums.
For the mouse I don't think you can do anything without some serious hacking, the dock trackpad follow the standard rules for mouses in android: left click = click, right click = back, whell button click = menu.
I also hate how they have implemented the 2 finger scrolling, when you scroll actually the trackpad long click where the cursor is, and invert the axis of the trackpad, so when you scroll down you are in fact long pressing and scrolling the cursor up, and so on.
It messes so many apps, as this simulated long click can be registered by the app
Updated on the first post how to disable permanently the asus keyboad popup when docking
qwer23 said:
Would be cool to have cut, copy and paste on the brightness buttons. What do you think?
Click to expand...
Click to collapse
You can do it with ctrl+x ctrl+c and ctrl+v
I can't see the Thank You button, but I thought I'd just say thanks!
This is an excellent guide and worked perfectly for my UK keyboard!
Much appreciated
I found an alternative to Autostarts, fire this commands in a terminal:
Code:
adb shell
su
pm disable com.nuance.xt9.input/.DockEventReceiver
These are the "cut&paste" commands for changing the layout:
Code:
adb remount
adb shell
mv /system/usr/keychars/asusec.kcm /system/usr/keychars/asusec.kcm.old
mv /system/usr/keylayout/asusec.kl /system/usr/keylayout/asusec.kl.old
cp /system/usr/xt9/keychars/qwerty-it_IT.kcm /system/usr/keychars/asusec.kcm
cp /system/usr/xt9/keylayout/qwerty-it_IT.kl /system/usr/keylayout/asusec.kl
I found my own solution for disabling the dock connected popup.
I modified the XT9IME.apk so that the popup is not displayed and posted it here before stumbling upon this thread.
Would it be possible to make a update zip, to do this in clockwork, ive just insalled a new rom, now i need to redo the fix.
jambo89liam said:
Would it be possible to make a update zip, to do this in clockwork, ive just insalled a new rom, now i need to redo the fix.
Click to expand...
Click to collapse
I could script this and have update.zips for it.
Perhaps someone else could create an app that does it via a menu system to select your country.
Fixed?
Over on http://forum.xda-developers.com/archive/index.php/t-1152317.html the last post says:
"The warning message has now been fixed, after the latest update 8.4.11. It now gives you the option of 'Do not show this again."
So maybe it's now fixed? (Don't have my Transformer at work to check for myself.)
You can use this as an executable (755) script file if you want to use another keyboard with another language
Code:
#!/system/bin/bash
su
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
mv /system/usr/keychars/asusec.kcm /system/usr/keychars/asusec.kcm.orig
cp /system/usr/xt9/keychars/qwerty-de_DE.kcm /system/usr/keychars/asusec.kcm
mv /system/usr/keylayout/asusec.kl /system/usr/keylayout/asusec.kl.orig
cp /system/usr/xt9/keylayout/qwerty-de_DE.kl /system/usr/keylayout/asusec.kl
mount -o ro,remount -t yaffs2 /dev/block/mtdblock3 /system
Just replace the "de_DE" parts with your language code.
Just wanted to bump this b/c of the ICS release.
While those ADB commands give me a "segmentation fault"...
Azhad said:
adb shell
su
pm disable com.nuance.xt9.input/.DockEventReceiver
Click to expand...
Click to collapse
the following procedure still works like a charm on ICS!
Azhad said:
Locate your national keychars in /system/usr/xt9/keychars
mine is qwerty-it_IT.kcm
The first 2 character after the - is the language of the keyboard, in my case Italian, the 2 characher after the _ is the country of the keyboard, Italy in my case.
copy this file in /system/usr/keychars
rename the standard one asusec.kcm in asusec.kcm.old for backup purpose.
then rename the one you copied in asusec.kcm
Locate your national layout in /system/usr/xt9/keylayout
mine is qwerty-it_IT.kl
copy this file in /system/usr/keylayout
rename the standard one asusec.kl in asusec.kl.old for backup purpose.
then rename the one you copied in asusec.kl
reboot and you are all done
Click to expand...
Click to collapse
Thanks again for working this out!
can anyone please make the dock keyboard work with latvian? i hate anysoftkeyboard, it stops working and its craching all the time.
i want to use dock like on a normal computer.
Does latvia have its own keyboard layout or do you use one that another country uses as well? Which county abbreviation would it be (like en for English and de for German)?
Doesn't work ?!
modmatt said:
the following procedure still works like a charm on ICS!
Click to expand...
Click to collapse
Doens' work for me, in fact, if I'm copying the de_DE files from Revolver 4 over to my EOS AOSP rom build and put the keychars (asusec.kcm) and the keylayout (asusec.kl) in their respective folders and reboot afterwards, nothing happens to the dock input. Still stays the same old QWERTY like before.
But I can see in file manager that the copying was successfull. New asusec.kl and asusec.kcm are there.
Someone help me ?
You already mentioned the reason yourself, I think. As you are using an AOSP ROM it means that you're using a plain vanilla android basis, which - correct me if I'm wrong - obviously doesn't know anything about asus*.* keyboard files. Just copying some files somewhere is not enough to let the system know what to do with it.
You probably have to deal with some scripts, that are run at every start up, that give proper instructions for the operating system. Unfortunately this is way beyond my knowledge.
modmatt said:
You already mentioned the reason yourself, I think. As you are using an AOSP ROM it means that you're using a plain vanilla android basis, which - correct me if I'm wrong - obviously doesn't know anything about asus*.* keyboard files. Just copying some files somewhere is not enough to let the system know what to do with it.
You probably have to deal with some scripts, that are run at every start up, that give proper instructions for the operating system. Unfortunately this is way beyond my knowledge.
Click to expand...
Click to collapse
What are you going on about? This works just fine on ICS with Revolver, just changed my dock back to azerty. rayman33 just did something wrong.
Please read that rayman33 uses an AOSP ROM that has nothin to do with Asus. You are using Revolver, which is bases on Asus' original ROM - that is why it works for you but not for him.
i just found this post as i'm having the very same issues using my transformer tf300 - currently running official stable CM10
the bad thing about it is only, in my CM10 i don't even have a /system/usr/xt9/ directory and when looking into the backup of my stock ASUS rom, I do have /system/usr/xt9/ and even subdirs keychars and keylayout, but without any content.
it would be lovely if someone would be so kind to suck out the de_CH files for me and could post them here!

Xiaomi Piston v3 keys

Just a quick info for people with Xiaomi Piston v3 headset, nothing new either:
As root you can assign all three keys in the file
Code:
/system/usr/keylayout/msm8226-tapan9302-snd-card_Button_Jack.kl
Buttons in order top->bottom when you wear the headset
Upper button: Keycode 115
Middle button: Keycode 226
Lower button: Keycode 217
(at least on Cyanogenmod 13)
For example:
Code:
key 226 HEADSETHOOK
key 115 VOLUME_UP
key 217 VOLUME_DOWN
You can get some inspiration on what actions are available in the "Generic.kl" file in the same folder
Todo: Write a little script in /persist so it stays accross system updates.
so how i'm supposed to enable those actions? please explain the process step by step
Thank you
cameravala said:
so how i'm supposed to enable those actions? please explain the process step by step
Thank you
Click to expand...
Click to collapse
Hope this works on your ROM.
First the /system parition needs to be writeable, you need root for that.
In a terminal emulator or in "adb shell" on your PC do:
Code:
mount -o remount,rw /system
Then you can edit it, for example go to the location with a root-explorer and open it from there in a text editor (most comfortable)
or you can transfer it to your PC and edit it there:
On the phone:
Code:
cp /system/usr/keylayout/msm8226-tapan9302-snd-card_Button_Jack.kl /sdcard
Then edit the file that is now in your internal storage that shows up on PCs over usb.
To put it back, on the phone:
Code:
cp /sdcard/msm8226-tapan9302-snd-card_Button_Jack.kl /system/usr/keylayout/msm8226-tapan9302-snd-card_Button_Jack.kl
chmod 644 /system/usr/keylayout/msm8226-tapan9302-snd-card_Button_Jack.kl
You need to reboot it after that. You can ask if you have other questions.
This won't work if your kernel doesn't include this patch: https://github.com/CyanogenMod/andr...mmit/9aecde9a7aaa7362ef7b4c04ad92d3873a90d8eb
fonz93 said:
This won't work if your kernel doesn't include this patch: https://github.com/CyanogenMod/andr...mmit/9aecde9a7aaa7362ef7b4c04ad92d3873a90d8eb
Click to expand...
Click to collapse
Damn, I was hoping this is universal.
Thanks for the clarification
fonz93 said:
This won't work if your kernel doesn't include this patch: https://github.com/CyanogenMod/andr...mmit/9aecde9a7aaa7362ef7b4c04ad92d3873a90d8eb
Click to expand...
Click to collapse
Thanks you guy
Will this work with CM13?
tiagp said:
Will this work with CM13?
Click to expand...
Click to collapse
Yes
I can't find msm8226-tapan9302-snd-card_Button_Jack.kl on root/system/usr/keylayout
Should i make that file named msm8226-tapan9302-snd-card_Button_Jack.kl on that location?
I'm on Cm13 with latest build.
giboto91 said:
I can't find msm8226-tapan9302-snd-card_Button_Jack.kl on root/system/usr/keylayout
Should i make that file named msm8226-tapan9302-snd-card_Button_Jack.kl on that location?
I'm on Cm13 with latest build.
Click to expand...
Click to collapse
Yeah, you'll need to create it in that location. Your keycodes might differ from the OP (mine did) so you might need to use the keytest.apk to make sure your mappings are correct. Other than that, you'll be fine.
Works me perfect
I didn't create the file, instead of that i modified the "Generic.kñ" file and after a fast reboot worked fine
Sent from my Moto G using XDA-Developers mobile app

Categories

Resources