Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,785,988 Members 54,622 Now Online
XDA Developers Android and Mobile Development Forum

Quick hacked up app to create soft menu/back keys - SoftKeys v3.06

Tip us?
 
bpk
Old
(Last edited by bpk; 11th January 2011 at 09:27 PM.) Reason: New release
#1  
Member - OP
Thanks Meter 74
Posts: 36
Join Date: Aug 2009

 
DONATE TO ME
Default Quick hacked up app to create soft menu/back keys - SoftKeys v3.06

SoftKeys provides on screen keys for menu/home/back/search for devices that don't have those keys in hardware.

SoftKeys is also available in the Android Market

If you want to make themes for SoftKeys you will need the tools to build apks (eclipse/android sdk/etc) and the template from the git repository.

http://git.hoopajoo.net

Changelog:
2011/01/11 - 3.06 - Fix notification keys, boot straight to launcher on system startup
2011/01/11 - 3.05 - Fix notification softkeys <b>broken release</b>
2011/01/10 - 3.04 - Adds dpad and up to 6 custom keys, ability to put device
to sleep, improved performance for key injection, built in documentation, bugfixes
2010/12/23 - 3.00 - Most of the layout code has been rewritten to allow for theming, couple of bug fixes, SoftKeys is now gpl3

-----

Old Changelog (I'm too lazy to reorder this newest to oldest):
2010/12/04 - 1.01 - added launcher selector and remembers last launcher
2010/12/04 - 1.02 - added themes layouts from nemith, looks more like his screenshots but the spinner text is still black so the launcher chooser is hard to read, hopefully I'll have some time to fiddle with that soon
2010/12/04 - 1.03 - My fingers are too fat, I made everything in to image buttons and moved the launcher config to a prefs screen, if anyone has nicer icons let me know these are repurposed from generic android icons
2010/12/05 - 1.04 - Added alternate long-press soft home key for secondary launcher like if you want to use the built-in nook home, added configurable options for what to do if you tap or double tap the nook button while in the softkeys screen, long press on menu/back sends an extra back to the app before sending the requested button for apps that bring up pause screens or something when you move them to the background (angry birds, etc)
2010/12/05 - 1.05 - Integrated the dark theme from nemith, you can choose it in prefs now. Added options to disable the "exit" and "configure" buttons. If you disable "configure" you can still get to the preferences using the "menu" button in the notification bar (e.g. the normal menu button)
2010/12/05 - 1.06 - fix broken key handling, menu and back didn't work, don't use 1.05
2010/12/06 - 1.07 - add recent applications to top of the screen since we don't have a long-press-home recent apps dialog, looking in to re-ordering the buttons next
2010/12/07 - 1.08 - This release adds options to re-order the softkeys, insert soft keys in to the notification area, disable the recent apps list, long press the background to configure if you lost the configure button, and some options for changing the background to dim/blurred/none (note: the notification soft keys show up in the notification area, not in the main status bar like the nook menu/back, I can't put things there as an application you would need to modify system jars to get this effect)
2010/12/07 - v1.09 - Default to non-blurred background and added note about slowness, added option to return to softkeys after pressing back button
2010/12/08 - v1.10 - Selecting "SoftKeys" for your single-press home action will make it so if you launch softkeys, it will go to the launcher unless you hit home again, e.g. single-press home to go to launcher anywhere, double-press home to go to softkeys

2010/12/13 - v2.00 - This adds a new service overlay that is displayed above all apps allowing softkeys to be sent without having to mess with the home button. Default home key behavior has changed to be single click home from anywhere goes to your default launcher, double click home to get to the old softkeys interface. I'm still fiddling with service panel layouts and ideas so things will probably change, I just wanted to get some testing with something simple.
2010/12/17 - v2.01 - The service panel can now be dragged around the screen, you can change it from horizontal to vertial by long pressing it, you can adjust the transparency of the panel and the icon size, and also control if it closes after sending key events. If you don't want the dialog background on the panel you can disable it to just have floating buttons. NOTE: the signing certificate has changed to a release cert, you will need to uninstall the old softkeys before installing this one
2010/12/17 - v2.02 - Now you can move the button that brings up softkeys service, slightly better handling for switching horizontal/vertical layout by long press
Attached Thumbnails
Click image for larger version

Name:	softkeys.jpg
Views:	9292
Size:	43.4 KB
ID:	456335  
Attached Files
File Type: apk SoftKeys_3.00.apk - [Click for QR Code] (68.7 KB, 2181 views)
File Type: apk SoftKeys_3.04.apk - [Click for QR Code] (128.6 KB, 499 views)
File Type: apk SoftKeys_3.06.apk - [Click for QR Code] (128.9 KB, 4808 views)
The Following 59 Users Say Thank You to bpk For This Useful Post: [ Click to Expand ]
 
bobdude5
Old
#2  
Senior Member
Thanks Meter 63
Posts: 1,077
Join Date: Jan 2009
Location: Tustin
veeerrry nice man!
 
ddenson
Old
(Last edited by ddenson; 3rd December 2010 at 11:37 PM.)
#3  
Member
Thanks Meter 13
Posts: 90
Join Date: Mar 2010
Location: New York
Thanks! I agree with you - I didn't want to permanently re-assign the volume buttons, as I use them in some apps.

One request, if possible ) - Is there any way to make it go to launcher pro (or whatever you want as default) when pressing "Home" in the app? Right now, it asks me to "Pick Home" every time.
 
bpk
Old
#4  
Member - OP
Thanks Meter 74
Posts: 36
Join Date: Aug 2009

 
DONATE TO ME
Quote:
Originally Posted by ddenson View Post
Thanks! I agree with you - I didn't want to permanently re-assign the volume buttons, as I use them in some apps.

One request, if possible ) - Is there any way to make it go to launcher pro (or whatever you want as default) when pressing "Home" in the app? Right now, it asks me to "Pick Home" every time.
I never personally use the "home" button, I use the quick drawer thing in the notification bar, so I don't really use a launcher. I could probably quickly add a button just for an alternate home or use last home I guess/choose new home I guess. I'll see what I can do. I've also though about adding arrow soft keys, for using in like connectbot, is there any interest in that?

There are also other minor irritating things, like apps that exit when they are not in focus will not work with this hack. For example, monkey kick (a game my son loves to play) will exit if it's not in focus so it never receives the soft keys. I suppose it doesn't matter though since it doesn't use the screen completely anyway, so he just gets to play on my old g1
The Following 3 Users Say Thank You to bpk For This Useful Post: [ Click to Expand ]
 
ddenson
Old
#5  
Member
Thanks Meter 13
Posts: 90
Join Date: Mar 2010
Location: New York
Quote:
Originally Posted by bpk View Post
I never personally use the "home" button, I use the quick drawer thing in the notification bar, so I don't really use a launcher. I could probably quickly add a button just for an alternate home or use last home I guess/choose new home I guess. I'll see what I can do. I've also though about adding arrow soft keys, for using in like connectbot, is there any interest in that?

There are also other minor irritating things, like apps that exit when they are not in focus will not work with this hack. For example, monkey kick (a game my son loves to play) will exit if it's not in focus so it never receives the soft keys. I suppose it doesn't matter though since it doesn't use the screen completely anyway, so he just gets to play on my old g1
Thanks again. Using the last home would be great, if that's possible. I don't personally have any use for additional buttons, but maybe someone else can comment? Rgds.
 
nemith
Old
(Last edited by nemith; 3rd December 2010 at 11:56 PM.) Reason: Add screenshot guides
#6  
Senior Member
Thanks Meter 463
Posts: 218
Join Date: Jun 2010
Awesome.

Code would be cool it would be nice to have them popup at the bottom of the screen like when you press the menu button in an app.

Also to take a screen shot you hold the 'n' button and tap the Vol - button. If you have as much trouble as I did with this method, you can also install drocap2 (root required) which does nice job.
The Following User Says Thank You to nemith For This Useful Post: [ Click to Expand ]
 
smarcisin
Old
#7  
Senior Member
Thanks Meter 8
Posts: 108
Join Date: Apr 2008
awesome app. its perfect! great replacement until someone does the sidebar buttons like the ones available for the archos
 
jerrygon
Old
#8  
Senior Member
Thanks Meter 11
Posts: 460
Join Date: Jun 2007
Location: Miramar, FL
nice work... now if you can make this pop up on the bottom of the screen with a black background like the archos tablets it would be awesome...
 
ojo8
Old
#9  
Member
Thanks Meter 3
Posts: 53
Join Date: Dec 2009
thank you, this is a great work around
 
bpk
Old
#10  
Member - OP
Thanks Meter 74
Posts: 36
Join Date: Aug 2009

 
DONATE TO ME
I put the source up at

http: // git.hoopajoo.net

(take out the spaces I can't post links apparently)

That page has a list of my public git urls available, the last one is SoftKeys

if anyone wants to check it out, I'm currently looking at remembering the last launcher picked and defaulting to that for people that use launchers.

-- the rest of this is just for people looking in to the source, to provide some background to why I did it this way and alternate ideas I had --

If any devs look at it I thought I'd post some of my reasons for doing it this way:

1) I looked at creating a custom init service bound to a keycode at first, this would have made it so you didn't need superuser but would have required modifying your ramdisk. Even just making a daemon and communicating through some kind of pipe would require modifying the ramdisk to get it in init. In the end I abandoned the idea because it seemed easier for most normal people to just install an apk.

2) I looked at binding this to the camera button and remapping it in the keylayout, that would preserve the default home screen selections, but would require modifying a file in your /system/ so people would need to adb their stuff. Again I thought an apk would be easier and adding in shell commands would just complicate things for people and I'm not very good at support

3) I spent a LOT of time looking through git repos from aosp to find out if there was some way to bind to the long-press home and take over the recent apps list, since it doesn't even work. This would preserve your home settings and not even remove an existing function. After several hours grepping through the core.git stuff I decided this was just easier to do. If figured good enough is usually good enough. Though if someone can figure this out it would be sweet.

4) I really was hoping that we could just pull whatever archos is doing since that seems ideal, completely soft buttons. However after downloading the aos firmware I found it was encrypted and apparently currently can only be decrypted by the devices using the public key stored on them somewhere and I'm not aware of anyone having dumped their system images yet.

Also I've been looking through the superuser source to see how they handle the popups, they do a good job of not killing the running app and being all around unobtrusive, doing it their way for the popup buttons would be really sweet since it never seems to break the currently running app.

The Following 2 Users Say Thank You to bpk For This Useful Post: [ Click to Expand ]
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes