Guest xnapt Posted August 12, 2010 Report Posted August 12, 2010 The key codes are standard as defined in the kernel source /include/linux/input.h I really need to learn C one day, but here is an interesting chunk of code for you. static void report_key(struct gpio_kp *kp, int key_index, int out, int in) { struct gpio_event_matrix_info *mi = kp->keypad_info; int pressed = test_bit(key_index, kp->keys_pressed); unsigned short keycode = mi->keymap[key_index]; if (pressed != test_bit(keycode, kp->input_dev->key)) { if (keycode == KEY_RESERVED) { if (mi->flags & GPIOKPF_PRINT_UNMAPPED_KEYS) pr_info("gpiomatrix: unmapped key, %d-%d " "(%d-%d) changed to %d\n", out, in, mi->output_gpios[out], mi->input_gpios[in], pressed); } else { if (mi->flags & GPIOKPF_PRINT_MAPPED_KEYS) pr_info("gpiomatrix: key %x, %d-%d (%d-%d) " "changed to %d\n", keycode, out, in, mi->output_gpios[out], mi->input_gpios[in], pressed); if (keycode == KEY_BACKLIGHT) { if(pressed) { kp->timeout_flag = FALSE; hrtimer_start(&kp->back_key_timer, ktime_set(KTIME_SECS, KTIME_NSECS), HRTIMER_MODE_REL); } else { hrtimer_cancel(&kp->back_key_timer); if (kp->timeout_flag == FALSE) { input_report_key(kp->input_dev, KEY_BACK, 1); /* KEY_BACK 158 */ input_report_key(kp->input_dev, KEY_BACK, 0); /* KEY_BACK 158 */ } } } input_report_key(kp->input_dev, keycode, pressed); } } } enum hrtimer_restart back_key_timer_func(struct hrtimer *timer) { struct gpio_kp *kp = container_of(timer, struct gpio_kp, back_key_timer); kp->timeout_flag = TRUE; input_report_key(kp->input_dev, KEY_HOME, 1); /* KEY_HOME 102 */ input_report_key(kp->input_dev, KEY_HOME, 0); /* KEY_HOME 102 */ return HRTIMER_NORESTART; } See /drivers/input/misc/gpio_matrix.c for the full source. We would of course need current kernel source, but I think you could play with the kernel driver to add different key codes for long presses on other buttons. You're right. This is the section of the code that produces the scancodes. I guess you can even produce a double tap feature for the hardware buttons but I can't find no documentation about this. I guess we have to analyze the code inherance to see what each part of the code is actually doing
Guest niko1986 Posted August 13, 2010 Report Posted August 13, 2010 (edited) Hi. Can you tell what is the difference between the the same keycodes with different scancodes like key 231 CALL WAKE_DROPPED key 61 CALL WAKE_DROPPED [/codebox] Is any of them a long press? Which one? I can't make the keytest right now I little suggestion, comment the changed code and add the changes next to it. As you can see your code is getting really messy and that's why a simple thing can get buggy As far as I can tell alot of the keycodes listed in the file do not apply to the pulse. Long presses are dealt with by android itself. Edited August 13, 2010 by niko1986
Guest whackster Posted August 13, 2010 Report Posted August 13, 2010 nope it does nothing, because it is no longer the "end button" I was asking if there is a difference between using the "Go to Home" setting, and using the hack to make it act as a home button, other than when using the hack you can't end calls, is there any difference??
Guest Epic-Emodude Posted August 13, 2010 Report Posted August 13, 2010 I was asking if there is a difference between using the "Go to Home" setting, and using the hack to make it act as a home button, other than when using the hack you can't end calls, is there any difference?? If you use the thing in settings it goes to the home screen but when you hold it it does not go to recent apps.
Guest niko1986 Posted August 13, 2010 Report Posted August 13, 2010 I was asking if there is a difference between using the "Go to Home" setting, and using the hack to make it act as a home button, other than when using the hack you can't end calls, is there any difference?? Holding Home (now the END button) brings up the inbuilt recent apps menu
Guest whackster Posted August 13, 2010 Report Posted August 13, 2010 Holding Home (now the END button) brings up the inbuilt recent apps menu Cool thanks for clearing it up, now we can have a dedicated home button :D
Guest niko1986 Posted August 13, 2010 Report Posted August 13, 2010 (edited) Been messing on with the surf_keypad.kl file and I've chopped it down and make it abit more readable. You can get it here, its in a flashable signed zip if you want to revert back to the Hauwei original binds. Also I made a version with few changes to get extra functionality out of the keys we have: Short Click Trackball - Search Long Click Trackball - Voice Search Long Click Back Button - End Call Short Click Red Button - Home Long Click Red Button - Recent Apps Menu You can get these changes here, again its flashable. And if people want to put together their own flashable keybind they can use this. Just find the surf_keypad.kl file change it how you want. Then zip the keylayout and META-INF folders into a non-compressed zip file, name it update.zip and then run the batch.bat file to make a signed update. Props to Epic-Emodude for starting looking into this. Hope you don't mind me posting this in your thread mate. Edited August 13, 2010 by niko1986
Guest Epic-Emodude Posted August 13, 2010 Report Posted August 13, 2010 Been messing on with the surf_keypad.kl file and I've chopped it down and make it abit more readable. You can get it here, its in a flashable signed zip if you want to revert back to the Hauwei original binds. Also I made a version with few changes to get extra functionality out of the keys we have: Short Click Trackball - Search Long Click Trackball - Voice Search Long Click Back Button - End Call Short Click Red Button - Home Long Click Red Button - Recent Apps Menu You can get these changes here, again its flashable. And if people want to put together their own flashable keybind they can use this. Just find the surf_keypad.kl file change it how you want. Then zip the keylayout and META-INF folders into a non-compressed zip file, name it update.zip and then run the batch.bat file to make a signed update. Props to Epic-Emodude for starting looking into this. Hope you don't mind me posting this in your thread mate. I'm happy to have you on board. how did you get the long press things? seeing as I don't have access to a pc in the foreseeable future :-( I am happy for you continue development if you want. if you add more functionality I can add it to the first page as 1. 3 giving credit to you.
Guest niko1986 Posted August 13, 2010 Report Posted August 13, 2010 (edited) I'm happy to have you on board. how did you get the long press things? seeing as I don't have access to a pc in the foreseeable future :-( I am happy for you continue development if you want. if you add more functionality I can add it to the first page as 1. 3 giving credit to you. The long press for the Voice Search and Recent Apps are the android defaults but just making it clear what new functions people got access to. The Back/Home button is the only one we can control the long press function of; except the camera but that's more of a soft and hard click. By merging the Back and Home buttons Huawei must have made changes in the kernel stopping androids default long presses. If ya dont mind adding it to the front page that'd be great. I thought giving people easy-ish way of making their own, saves making lots of versions to cover everyones idea of a good key bind :D Hope ya get your pc back soon ... bad memories of when mine died :D Edited August 13, 2010 by niko1986
Guest Epic-Emodude Posted August 13, 2010 Report Posted August 13, 2010 The long press for the Voice Search and Recent Apps are the android defaults but just making it clear what new functions people got access to. The Back/Home button is the only one we can control the long press function of; except the camera but that's more of a soft and hard click. By merging the Back and Home buttons Huawei must have made changes in the kernel stopping androids default long presses. If ya dont mind adding it to the front page that'd be great. I thought giving people easy-ish way of making their own, saves making lots of versions to cover everyones idea of a good key bind :D Hope ya get your pc back soon ... bad memories of when mine died :D hopefully I'll have it back by the end of the month, although that's still too long to wait =( ill add your things to the start page when I get a chance
Guest DanWilson Posted August 14, 2010 Report Posted August 14, 2010 I'm happy to have you on board. how did you get the long press things? seeing as I don't have access to a pc in the foreseeable future :-( I am happy for you continue development if you want. if you add more functionality I can add it to the first page as 1. 3 giving credit to you. I guess I missed it - what happened to your PC? At least you have a phone... (I have a spare laptop from the 90s, my dad has 3 laptops, and my mum has a laptop - I think I'd be sorted if mine broke, as well as my dad knowing how to fix PCs!) :D Ya bro hope you get your PC soon!
Guest IceXcube84 Posted August 16, 2010 Report Posted August 16, 2010 Sorry but i have not read all posts here but i have a question. Is it possible to make to i get the application list when i long press the red button? Green - Get up the dialer/answer call - Long press - Recent applications Red - End call - Long press - home Can somebody change it to me? I like the default one but the green button have same functions on short press and long press bit useless for me.
Guest niko1986 Posted August 16, 2010 Report Posted August 16, 2010 Sorry but i have not read all posts here but i have a question. Is it possible to make to i get the application list when i long press the red button? Green - Get up the dialer/answer call - Long press - Recent applications Red - End call - Long press - home Can somebody change it to me? I like the default one but the green button have same functions on short press and long press bit useless for me. The long press functions are controlled by android. So if we change any button to HOME on a short press, android automatically makes the long press bring up the RECENT APPS. So you can make any key whatever short press you want but the long press depends on whatever short press you choose. EXCEPT the back home button the long press can be controlled for that. If you can come up with keybinds that are within the above restrictions, I'll make it for you.
Guest D-D- Posted August 16, 2010 Report Posted August 16, 2010 (edited) Holding Home (now the END button) brings up the inbuilt recent apps menu Yep this is the one I'm interested in. Everything else to default only this one changed. What do I need to modify to do that? Edit: Error... Amm... Everything to default only the long press the home/back key to be the recent apps. Can this be done? Edited August 16, 2010 by D-D-
Guest whackster Posted August 16, 2010 Report Posted August 16, 2010 Yep this is the one I'm interested in. Everything else to default only this one changed. What do I need to modify to do that? Edit: Error... Amm... Everything to default only the long press the home/back key to be the recent apps. Can this be done? You need to set the red button to act as a home button. That way it will go to home on short press and show recent apps on long press, however you won't be able to hang up calls anymore. We need the kernel source do do any other modifications I think.
Guest DanWilson Posted August 31, 2010 Report Posted August 31, 2010 UBA SUPA DOOPA BUMPITY BUMP! Lets revive this great thread! I'm going to use it soon, and I'm sure others would! Is there any with Green - Search Red - Home Back *LONG PRESS* - Red (For hanging up) I'd rather Red wasn't the camera button cos then when we try to take pictures we would go home. I also like the trackball for some reason...
Guest rulerofkaos Posted August 31, 2010 Report Posted August 31, 2010 (edited) Is it possible to get recent apps when I press the back button long? I looked at the surf_keypad files but I had no idea. edit: Oh sorry I read that we need the kernel source for that :huh: Edited August 31, 2010 by rulerofkaos
Guest niko1986 Posted September 1, 2010 Report Posted September 1, 2010 UBA SUPA DOOPA BUMPITY BUMP! Lets revive this great thread! I'm going to use it soon, and I'm sure others would! Is there any with Green - Search Red - Home Back *LONG PRESS* - Red (For hanging up) I'd rather Red wasn't the camera button cos then when we try to take pictures we would go home. I also like the trackball for some reason... Try this one, hope you have clockwork recovery cos i've realised my signed zips aren't signed and I cant be arsed to find out why :huh: Dans Layout
Guest suriya83 Posted November 7, 2010 Report Posted November 7, 2010 (edited) I have following layout and am happy with it: red button became power button still ends calls with short press power button became home button (long press for recent apps) volume keys work when screen is off (short press for volume long press to skip tracks) everything else remain the same edit: key 399 GRAVE key 2 1 key 3 2 key 4 3 key 5 4 key 6 5 key 7 6 key 8 7 key 9 8 key 10 9 key 11 0 key 158 BACK WAKE_DROPPED key 230 SOFT_RIGHT WAKE key 60 SOFT_RIGHT WAKE key 107 ENDCALL WAKE_DROPPED key 62 ENDCALL WAKE_DROPPED key 229 MENU WAKE_DROPPED key 139 MENU WAKE_DROPPED key 59 MENU WAKE_DROPPED key 127 SEARCH WAKE_DROPPED key 217 SEARCH WAKE_DROPPED key 228 POUND key 227 STAR key 231 CALL WAKE_DROPPED key 61 CALL WAKE_DROPPED key 232 DPAD_CENTER WAKE_DROPPED key 108 DPAD_DOWN WAKE_DROPPED key 103 DPAD_UP WAKE_DROPPED key 102 HOME WAKE key 105 DPAD_LEFT WAKE_DROPPED key 106 DPAD_RIGHT WAKE_DROPPED key 115 VOLUME_UP WAKE_DROPPED key 114 VOLUME_DOWN WAKE_DROPPED key 116 HOME WAKE key 212 CAMERA key 249 FOCUS [/codebox] Edited November 7, 2010 by suriya83
Guest jamielockeymusic Posted November 7, 2010 Report Posted November 7, 2010 I have following layout and am happy with it: red button became power button still ends calls with short press power button became home button (long press for recent apps) volume keys work when screen is off (short press for volume long press to skip tracks) everything else remain the same qwerty.kl how do you lock? :rolleyes: and how do you install this?
Guest suriya83 Posted November 7, 2010 Report Posted November 7, 2010 (edited) how do you lock? :rolleyes: and how do you install this? with end call button (short press) edit: i don't know how to make a zip anyway i posted the code in my post above the file qwerty.kl in /system/usr/keylayout has to look like that code. you can edit it using root explorer: (klick mount R/W) when you are inside the folder long press on qwerty.kl then open in text editor. if someone tells me how to make a flashable zip i can try Edited November 7, 2010 by suriya83
Guest wolfy200222 Posted November 22, 2010 Report Posted November 22, 2010 Hey, I know this is a fairly old topic but is the development for this still going? Basically my home/back button on my pulse has stopped working and ive been trying for about 2 months of internet searching and fixing to try and get it working, but is it possible to change the quick press of the end button to act like the back. Its pretty useless without it and I had to cancel the insurance because of money problems so I cant send it back for replacement. Cheers
Guest Epic-Emodude Posted November 22, 2010 Report Posted November 22, 2010 Hey, I know this is a fairly old topic but is the development for this still going? Basically my home/back button on my pulse has stopped working and ive been trying for about 2 months of internet searching and fixing to try and get it working, but is it possible to change the quick press of the end button to act like the back. Its pretty useless without it and I had to cancel the insurance because of money problems so I cant send it back for replacement. Cheers I stopped development after I reached a setup that most people seemed fairly happy with. As I havent done any work on it in a while, I cant remember if the back button is mapped. I think it is tho. Use clockwork recovery to find out the key numbers for the back and end buttons, then in the file that mapps them swap them over
Guest wolfy200222 Posted November 22, 2010 Report Posted November 22, 2010 UBA SUPA DOOPA BUMPITY BUMP! Lets revive this great thread! I'm going to use it soon, and I'm sure others would! Is there any with Green - Search Red - Home Back *LONG PRESS* - Red (For hanging up) I'd rather Red wasn't the camera button cos then when we try to take pictures we would go home. I also like the trackball for some reason... Try this one, hope you have clockwork recovery cos i've realised my signed zips aren't signed and I cant be arsed to find out why Dans Layout When you say back with the long press, i assume it does what i asked for? btw thanks for quick reply
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now