Hello,
I've looked for a way to modify the keypad on my HTC and I found that one must change the leo-keypad.kl file when rooted. I've done so several times with r/w option, keeping a backup file and changing the leo-keypad.kl in several ways.
What I'm trying to achieve is to exchange the function of call and endcall button. Reason? I already had to change the digitizer since pressing the endcall button to turn off the screen is so frequent, it actually damages the flex cable from digitizer making the touch screen unresponsive. Replacing the digitizer cost money, time and a little bit of functionality of the phone. I don't want this to happen again, thus I want to turn off the screen with the call button.
Changing of the file did not help. What I've done was that I located the row with CALL and changed it to ENDCALL and ENDCALL changing to CALL. Then I tried to change both or one of them for POWER. POWER for CALL, etc. Nothing has changed whatsoever. Each time I rebooted the phone and checked, whether the file did not change on it's own. It was changed, but buttons work still the same.
Any ideas?
(using Hyperdroid, ES File Explorer with root option and writing ability)
Try using KeynumberTracker from the market. This will give you the correct key number to modify, then get ButtonRemapper from the market and remap the keys....or just edit it yourself and save using root-explorer..
im sure you've noticed that ANY button will unlock the phone when running Hyperdroid. (not to insult) i too, ran into the problem you are describing and found that mashing the physical buttons (any for any reason) just seemed hard on my precious Leo.
i downloaded "screen off and lock" from the market. it IS an ON-screen alternative (and a useful one at that) to trying to remap the physical keys. i simply replaced my launchers contact icon with the 'screen off' one (that way it will show on any home screen) and i simply go to the other end of the spectrum (using the green CALL button) to bring it off standby.
hope this helps. cheers
oh, almost forgot ... "screen off and lock" REQUIRES root!!!
MimKoRn said:
Hello,
I've looked for a way to modify the keypad on my HTC and I found that one must change the leo-keypad.kl file when rooted. I've done so several times with r/w option, keeping a backup file and changing the leo-keypad.kl in several ways.
What I'm trying to achieve is to exchange the function of call and endcall button. Reason? I already had to change the digitizer since pressing the endcall button to turn off the screen is so frequent, it actually damages the flex cable from digitizer making the touch screen unresponsive. Replacing the digitizer cost money, time and a little bit of functionality of the phone. I don't want this to happen again, thus I want to turn off the screen with the call button.
Changing of the file did not help. What I've done was that I located the row with CALL and changed it to ENDCALL and ENDCALL changing to CALL. Then I tried to change both or one of them for POWER. POWER for CALL, etc. Nothing has changed whatsoever. Each time I rebooted the phone and checked, whether the file did not change on it's own. It was changed, but buttons work still the same.
Any ideas?
(using Hyperdroid, ES File Explorer with root option and writing ability)
Click to expand...
Click to collapse
You might want to try editing qwerty.kl also . I was trying to disable the front keys during sleep and at first i only edited the leo-keypad.kl file and that wasnt holding . So i also edited the qwerty.kl file and it worked .
Thanx!
shanman-2 said:
Try using KeynumberTracker from the market. This will give you the correct key number to modify, then get ButtonRemapper from the market and remap the keys....or just edit it yourself and save using root-explorer..
Click to expand...
Click to collapse
Thank you all for prompt answers and useful ideas. I decided to go for the quoted way and it works great for me. Now the call button kills the screen.
I also considered a touch screen alternative as rubledub mentioned (thanx for that), but I wanted to be able to turn off the screen even when I'm not on homescreen, so I went for the first mentioned alternative. However, the idea is cool, so I'll probably get it too, just to have both alternatives at hand.
Thanx a lot again. You probably saved my phone and my nerves.
MimKoRn said:
Hello,
I've looked for a way to modify the keypad on my HTC and I found that one must change the leo-keypad.kl file when rooted. I've done so several times with r/w option, keeping a backup file and changing the leo-keypad.kl in several ways.
What I'm trying to achieve is to exchange the function of call and endcall button. Reason? I already had to change the digitizer since pressing the endcall button to turn off the screen is so frequent, it actually damages the flex cable from digitizer making the touch screen unresponsive. Replacing the digitizer cost money, time and a little bit of functionality of the phone. I don't want this to happen again, thus I want to turn off the screen with the call button.
Changing of the file did not help. What I've done was that I located the row with CALL and changed it to ENDCALL and ENDCALL changing to CALL. Then I tried to change both or one of them for POWER. POWER for CALL, etc. Nothing has changed whatsoever. Each time I rebooted the phone and checked, whether the file did not change on it's own. It was changed, but buttons work still the same.
Any ideas?
(using Hyperdroid, ES File Explorer with root option and writing ability)
Click to expand...
Click to collapse
I simply put lock screen widget on my screen,it s free from market and works great,now i use end key only to boot the phone
Thanks.
elesbb said:
You might want to try editing qwerty.kl also . I was trying to disable the front keys during sleep and at first i only edited the leo-keypad.kl file and that wasnt holding . So i also edited the qwerty.kl file and it worked .
Click to expand...
Click to collapse
I just wanted to say thanks for this post. I was struggling with some button remapping issues and this was the cause. I only edited the keypad.kl and not the qwerty.kl as well.
So thanks again man.
MimKoRn said:
Thank you all for prompt answers and useful ideas. I decided to go for the quoted way and it works great for me. Now the call button kills the screen.
I also considered a touch screen alternative as rubledub mentioned (thanx for that), but I wanted to be able to turn off the screen even when I'm not on homescreen, so I went for the first mentioned alternative. However, the idea is cool, so I'll probably get it too, just to have both alternatives at hand.
Thanx a lot again. You probably saved my phone and my nerves.
Click to expand...
Click to collapse
could you elaborate a bit on that? i dont know where the kwerty.kl resides (yes, i m well versed with editing things in system files with root explorer)
did you find the key number and change with another key number? if so, to set an empty key (that doesnt work on pressing) what do i replace it with?
would be appreciated
why doesnt any one use button remapper it works perfect for me i have my call button set to
shut off screen and as shutdown or restart phone i dont use my end call key for anything now
Hello,
I have just made an account here so sorry if I'm putting this in the wrong subject or something.
Let me just get something straight...I'm 13...so please explain if asking me to do something like 'install a customized kernel' :laugh:
So, with the help of NookManager, which is awesome, I have managed to root my stock UK nook simple touch (n2e), running software version 1.2.1
It is great. I have managed to install many apps, such as Kindle, Dropbox, Gmail, Opera Classic, Titanium Backup, WikiMobile etc.
I attempted to remap the bottom page turn keys in order for the right hand key to be a back button and the left hand key to take me to my android home.
After using ES File Explorer (granting it Superuser permissions) and copying /system/usr/keylayout/TWL4030_Keypad.kl to my SD Card.
Next I edited it, roughly following an online tutorial, using Jota text editor (a free text editor I found on the android market).
Next I saved it, and used Root Explorer to mount /system/usr/keylayout as r/w and copy the file to it.
I rebooted my device, using ReLaunch, the default launcher supplied with NookManager. I discovered that the 'back' button worked, but the 'home' button instead worked as a menu button.
This was slightly annoying, but I managed to using the Nook Touch Mod Manager (or whatever its called), which I discovered later, to send me to my android home launcher (LauncherPro).
I then went to the stock Library app and discovered, much to my annoyance, that the top two page turn buttons would not work to turn the pages.
Obviously, I can still use the touch screen to turn pages.
So I thought, fine, I'll re-remap the keys back to their original positions and use the top soft-keys in the menu bar for back and menu buttons.
I tried this many times, using a variety of different tools (inc. ES file explorer, Root Explorer, DB text editor, Jota text editor, NookTouchModManager etc)
Every time, after I rebooted, the keys were mapped back to my original position (?!) and I could not use the page turn buttons.
I tried renaming the TW4030_Keypad.kl file to TW4030_Keypad.kl.backup to see if the system would reload this and make a new file with the default buttons (allowing me to use the page turn buttons) but this did not work. For some reason, no file was created, however, the keys were still working (to do back and menu).
Next I tried factory resetting the device (by Powering it off and, as it turned on, holding the two bottom page turn buttons, I had found out how to do this online), but, even with the Stock ROM, the page turn buttons would not work.
I tried doing the 'swap page turn buttons' thingy in settings, but that did not work either.
I re-rooted the device, and it still did not work.
As I said earlier, it is OK because I can use the touch screen to change the page, but I like the page turn buttons (one of the things that made me choose nook over kindle paperwhite) so any help would be greatly appreciated.
Thank You in Advance
Sorry for the long post
ps. I deleted the following stock apps using TitaniumBackup, DeviceManagerService, Music and Phone. I restored music and phone later.
Hardware button configuration
The four hard buttons are configured by /system/usr/keylayout/TWL4030_Keypad.kl
The "n" button and the power button are configured by /system/usr/keylayout/gpio-keys.kl
I don't use the stuff that you are using.
Some of that rewrites the keylayouts behind your back (I think).
Here's my TWL4030_Keypad.kl:
Code:
# Layout file for Nook Touch hardware buttons
key 412 LEFT_NEXTPAGE # Upper left
key 407 LEFT_PREVPAGE # Upper right
key 139 BACK # Lower left
key 158 MENU # Lower right
The LEFT_NEXTPAGE LEFT_PREVPAGE is done to make the usage compatible with the real PageUp/PageDown on Android 2.2
Set your reader page buttons as shown in http://forum.xda-developers.com/showthread.php?p=24632564#post24632564
Renate NST said:
The four hard buttons are configured by /system/usr/keylayout/TWL4030_Keypad.kl
The "n" button and the power button are configured by /system/usr/keylayout/gpio-keys.kl
I don't use the stuff that you are using.
Some of that rewrites the keylayouts behind your back (I think).
Here's my TWL4030_Keypad.kl:
Code:
# Layout file for Nook Touch hardware buttons
key 412 LEFT_NEXTPAGE # Upper left
key 407 LEFT_PREVPAGE # Upper right
key 139 BACK # Lower left
key 158 MENU # Lower right
The LEFT_NEXTPAGE LEFT_PREVPAGE is done to make the usage compatible with the real PageUp/PageDown on Android 2.2
Set your reader page buttons as shown in http://forum.xda-developers.com/showthread.php?p=24632564#post24632564
Click to expand...
Click to collapse
Thanks so much for replying. Being a n00b, I am slightly confused about some things.
'I don't use the stuff you are using'
I assuming you are referring to the factory reset by booting down and holding the bottom two page turn keys. If so, this was the only way I could factory reset because the factory reset in settings got stuck on Deregistering your Nook (I assume because NookManagerService 2.1.apk had been deleted) and the 8 continuous reboots just made my device crash after I tried the first one (I had to do a hard reset with the trick of holding down the power and nook home buttons together for 40 seconds)
But I might be wrong. Are you talking about deleting DeviceManagerService 2.1.apk, or about my current key layout.
'Some of that rewrites the keylayouts behind your back (I think)'
Do you have any idea where that might be because I have been scouring my nook in root explorer and a search for 'key' or '.kl' only brings up the files in /system/usr/keylayout and some backed up .kl files on my sd card.
I am really confused because I know it must be communicating with another file (when I rename TWL4030_keypad.kl and omap_twl4030_keypad.kl and reboot it still sticks to the same keys and does not appear to generate a new file)
Also, however I modify the twl4030_Keypad.kl file (Root Explorer, ES File Explorer, Settings/Reader/Page Buttons, Nook Touch Mod Manager) the page buttons do not change, however the home button shortcuts (I set my home button to open my android home launcher (LauncherPro) on long press) work fine.
I tried editing the last pard of TWL4030_Keypad.kl to exactly what yours said, but same result probably due to what I have described in the above paragraph.
I just want to know, is there a way to completely reset all keypad files, or at least do something like that.
I cannot find anything about this on the internet other than cracked buttons, screen freezes etc.
Thank you very much for the help though.
Again, sorry for the long post.
Thanks again
ps Other than this (minor) issue, the nook is still working perfectly, apart from the occasional Barnes and Noble Nook Error Message (don't know why - I assume it has something to do with the deletion of the NookManagerService APK. The only reason I deleted it was that it was the only simple way to stop OTA updates, and I really don't want to see Barnes and Noble release an automatic update that bricks my rooted Nook, nor do I want to disable wifi whenever the update comes out, as some have suggested. When I factory reset, I get DeviceManagerService (and nook shop) back. Please let me know if the disabling of DeviceManagerService is necessary). It is just an annoyance.
I meant NookManager. I don't know if that goes around patching things or rewriting files.
Copy what I put in the box above and write it to the file.
Do things work?
Does that file get overwritten?
Renate NST said:
I meant NookManager. I don't know if that goes around patching things or rewriting files.
Copy what I put in the box above and write it to the file.
Do things work?
Does that file get overwritten?
Click to expand...
Click to collapse
I have done that (I did it just over your last thread) and the file does get overwritten. However, when I reboot, although the correct file is still there, the page buttons work as -------- --------
Menu Back
The file is still rewritten with the what you told me to put (minus the hashtags and the things that followed them, which I assumed were comments). This is why I am confused.
Thanks for helping. I'm sure there is a solution.
Also, I had no idea how to root a nook through any other method (USB Debugging is disabled, so how would you do it directly through ADB? I don't know)
One other thing - The page turn buttons worked just fine before I started editing - so im not sure nookmanager is necessarily to blame
Install UsbMode.apk (in the signature).
Among other things it will tell you what scan code and key code get generated for the hard keys.
(It does use the Android 2.2 names for PAGE_DOWN & PAGE_UP.)
Renate NST said:
Install UsbMode.apk (in the signature).
Among other things it will tell you what scan code and key code get generated for the hard keys.
(It does use the Android 2.2 names for PAGE_DOWN & PAGE_UP.)
Click to expand...
Click to collapse
Also, if you are using NookManager, make sure you have the hardware page keys mapped to "default" in Nook Touch Mod Manager when you are messing with the key layout file or you will get confused really fast. Conversely, if you are messing with NTMM mapping make sure you are using the stock key layout file to avoid confusion. NTMM has a hook in the Android key press code that captures the hardware keys to remap them to other keys or other functions. The key code NTMM sees is whatever the key layout file sends it. So if you key layout file remaps something NTMM will remap the remapped key rather than the actual key it says its remapping.
Thanks for all the help. I found out (using UsbMode.apk) that my top page turn buttons had scan codes but no key code, my bottom ones had both. I set all the page turn button shortcuts to default in Nook Touch Mod Manager.
I navigated through querty.kl, TWL4030_keypad.kl and omap_twl4030_keypad.kl and found out that the bottom keys had been called up earlier in the .kl file as menu and back. Using Root Explorer, I mounted the file system writable, deleted these earlier lines, then rebooted. It didn't work. After much more trying and rebooting, nothing worked, however, I had managed to unmap the bottom keys from menu and back, and now they are just shown in USBMODE as UNKNOWN.
I think I have a plausible solution. If one of you could send me your qwerty.kl, TWL4030_keypad.kl and omap_twl4030_keypad.kl files, then I could backup my originals and try copying them into /system/usr/keylayout. If logic talks, that should mean that, if your keys were working just fine for you, my keys should work in exactly.
Please let me know about this and send those files if you can.
Thanks in advance.
You already have my TWL4030_Keypad.kl, see above.
If that's not working, something is screwing around behind your back.
Renate NST said:
You already have my TWL4030_Keypad.kl, see above.
If that's not working, something is screwing around behind your back.
Click to expand...
Click to collapse
I tried using your twl4030_keypad.kl text earlier (as soon as I had seen your thread) but it was to no avail. I was actually referring to the physical files, not just the text from them. Also, I think that it is not just the twl4030_keypad.kl but also the other two files I mentioned above, because of what I did earlier.
Earlier, I looked at my querty.kl file and found that the keys 139 and 158 had been called up earlier for back and menu. I deleted these lines, and thought that my problem was solved. Unfortunately, what ended up happening was that I just lost my two back and menu-mapped page turn buttons. Now none of them do anything at all. Under your UsbMode.apk they are UNKNOWN.
I think something is screwing around behind my back, but I don't know what, how or where.
I have searched for 'key' and '.kl' before and only files I knew existed (in /system/usr/keylayout and in /sdcard) were found in the search results. Maybe it is a hidden file or something.
It is definitely not in /data because, after yet another factory reset (this time after renaming all my .kl files to .kl.test, the pages still did not work, stock or rooted.
Is there a simple way for a n00b like me to restore my nook completely, resetting /data, /system, etc.
If so, I would love to know.
Otherwise, please let me know if you have any ideas.
Again, sorry for the long post.
Thank you for all the help you've given me. I would have got nowhere near this far on my own.
If you think it would help, I could send you my /system/usr/keylayout zipped or something like that, I don't know about forum rules etc.
qwerty.kl is the default file only for Qwerty keyboards, that is USB keyboards
gpio-keys.kl is only for the power button and the "n" (home) button.
TWL4030_Keypad.kl is only for the four side hardware buttons.
If your four side hardware buttons are acting up the only thing in keylayout that can affect it is TWL4030_Keypad.kl
Do you have the file name capitalized correctly?
You are editing it with a Unix style text editor (LF, not CR/LF)?
I forget if it tolerates CR.
After you write it and reboot does it stay the way you wrote it last?
I'm giving you a thanks because, although the file had the right name and capitalization, and did not change on reboot. When I was carefully checking the name, I saw the permissions underneath. I edited them in root explorer to exactly what the permissions of the qwerty.kl and omap...kl
I rebooted and.....SOLVED!
So thank you very much for helping me and keeping me going on this.
I have 1 other thing I just wanted to ask. It is not major but is just slightly annoying me.
I have my four keys - this is what I want to happen:
Top left - Page Back and Volume Down (for modified Kindle app)
Top right - Page Forward and Volume Up (for modified Kindle app)
Bottom left - Menu
Bottom right - Back
I have tried to make this happen, but failed so reverted to a backup. This is what I have:
Top left - Page Back
Top right - Page Forward
Bottom left - Menu
Bottom right - UNKNOWN.
My main sub-annoyance (in this small annoyance) is the lack of the back button's working. It would be nice to have the top left and top right usable for pretty much any app that supports either nook page turn buttons or volume buttons for page turning.
Thanks again.
ps Don't worry about this one too much, it's not a big deal.
pps I'm going on a school trip, after which I am going on a youth camp trip, so from Sunday to Monday I won't be on here.
I'll be straight back when I can.
PowerNOOK said:
I have my four keys - this is what I want to happen:
Top left - Page Back and Volume Down (for modified Kindle app)
Top right - Page Forward and Volume Up (for modified Kindle app)
Bottom left - Menu
Bottom right - Back
Click to expand...
Click to collapse
I wanted my hardware buttons to page forward/back in the B&N stock reader and other readers I installed. So I contributed a mod to NTMM to support mapping a button to screen taps since most readers support page turns by tapping on the left or right side of the screen. I use the Tap Left/Right with the B&N reader, Aldiko and Overdrive Media Console and it works great. I just installed the stock (unmodified) Kindle app to test and it works with it as well.
So try this. Put your TWL4030_Keypad.kl file back to stock. Use NTMM to map your keys like this:
Top Left - Tap Left
Top Right - Tap right
Bottom Left - Menu
Bottom Right - Back
straygecko said:
So try this. Put your TWL4030_Keypad.kl file back to stock. Use NTMM to map your keys like this:
Top Left - Tap Left
Top Right - Tap right
Bottom Left - Menu
Bottom Right - Back
Click to expand...
Click to collapse
Thank you for this. I have tried it but could only get it to work with all the page turn buttons turning pages, not with back and menu. When I set the bottom buttons to back and menu, they do not work and neither do the top page turn buttons work as standard page turn buttons.
I am not too bothered about this, but the thing that is really annoying me is this: One of the bottom page turn buttons will not work. This is a variable, as, upon remapping, I can make the one that is not working at one time work fine another time, however, then, the other one will not work.
eg. The right bottom page turn button is not flicking the page forward. Using root explorer, I remap the right button as 'back'. Then the right button works, but the left one stops working.
Thank you for the help though, as I mainly use the top page turn buttons (they are right by my thumbs) and its really neat to have the same comfortable page turn buttons for both nook stock reader and kindle app
I think you have problems with your keylayout files. Attached are the stock files from the /system/usr/keylayout directory. Backup then delete everything in that folder and unzip this into it and then try mapping the keys with NTMM.
Sorry, but where are the attachments. Sorry if im being stupid.
PowerNOOK said:
Sorry, but where are the attachments. Sorry if im being stupid.
Click to expand...
Click to collapse
Sorry, I'm the one being stupid. Here's the attachment.
Thanks. ill try this when i get back to camp at the moment im using my friends wifi hotspot
I used root explorer to backup /system/usr/keylayout as /system/user/keylayout backup and then unzipped and copied and pasted your folder in. I found it to not work. I tried a lot of different things like editing lines, permissions, etc.
Eventually I gave up so I renamed my /system/usr/keylayout backup folder back to /system/usr/keylayout, hoping that a message would come up on the screen asking me if I wished to overwrite the files. No such message came up. Instead, I could see two folders in /system/usr, both entitled keylayout. I found the backup one and deleted it, then root explorer decided to delete both. Now, I have no keylayout folder, and none of the keys work. I tried re-decompressing your zip file and putting it in again, then factory resetting, but my nook stops me from registering after the wifi connection stage, with the following error message:
Error
Sorry we're having trouble setting up your NOOK.
Please shut down the device and try again.
For help, visit www.nook.com/support or call Customer Support on 1-800-THE-BOOK
(1-800-843-2665)
I have tried with many different wifi networks, but still the same result. I have tried rebooting several times by holding down the home and power buttons simultaneously for 40 seconds, and have re-factory reset but still no result.
Is there a backup image or something out there so I don't have to either treck to the shop from which I bought my nook or fork out £29
Please, any help would be hugely appreciated
I have just managed to use nook manager to completely restore my nook and then re-root it. everything is working great. i am now using nook touch mods manager to configure the page turn buttons and have the ideal setup I talked about earlier. I am just installing all the bits of pieces but everything is working. thank you to everyone for helping me so much. i am now going to only change button actions with nook touch mod manager and not do it manually.
Thank you so much jeff_kz for making NookManager
So, I was attempting to remap my keys in order to restore the old menu/recent apps behavior (editing generic.kl), and something went wrong. I lost the use of Volume Down, Back, menu, and Power (?!). The backup I thought I'd made was missing, as well.
I replaced generic.kl with the file provided by @arjundev1 below, erased the cache partition, and rebooted... and got nothing. No change. As it stands, I've used this app to restore functionality to VOLUME_DOWN, MENU, and POWER (I can access APP_SWITCH by pressing the home button again after using it to return to the home screen), but the power button still fails to turn off the screen or present a power menu. Furthermore, in order for this app to restore this function, I have to use its keyboard instead of Hacker's Keyboard or any other full-sized layout.
I know it's a software issue because I use the same power button to turn the phone on (including accessing ODIN or RECOVERY mode), and the aforementioned app even registers the key press if I try to [re-]map it. It just doesn't do anything. I'm currently using either a widget or rom toolbax's rebooter menu to power down or reboot, and another widget to turn off the screen. Everything else on the phone appears to be working normally.
I edited no other files during the original remap attempt; only /system/usr/keylaout/generic.kl
let helped
I help like me.
[updated OP]
Thanks! For some reason, that didn't fix it as I thought it would. I didn't edit any other files. What else could be causing this?
new hope
please set permission rw-r-r
YAY, Progress! Menu, Back, Volume Down- all work as expected. Power wakes the screen and turns it off.
One last thing. Holding down the power button fails to bring up the power menu. What might control this?
Thx
arjundev1 said:
please set permission rw-r-r
Click to expand...
Click to collapse
Thx this worked for me.