[MOD] Xposed Additions mod: More versatile buttons

Search This thread

b2rdetor

Senior Member
Aug 21, 2011
372
85
Sterlitamak
Sucsessfully maped camera and torch app to screenoff keys.
Make a tasker task like on screens and export to app (make a new camera and torch app)
Then map to offscreen key this apps.
 

Attachments

  • Screenshots_2014-06-28-23-33-52.png
    Screenshots_2014-06-28-23-33-52.png
    144.5 KB · Views: 103
  • Screenshots_2014-06-28-23-33-06.png
    Screenshots_2014-06-28-23-33-06.png
    105.8 KB · Views: 97

gerhardo

Senior Member
Aug 23, 2013
315
98
Moto X4
Sony Xperia 5 II
I will try to do that. I just create the new button in xposed additions and I thought it was just that. Thanks

The b2redator workaround is required to wake the phone when the screen is off, it does not launch a Camera app.

The stock Gallery/Camera app do not snap pictures when pressing the Camera button
(and I do not have a stock Camera app in the launcher, using Nova, (OUI2 may have some workaround), so stock Camera is not listed in the Xposed Additions application list either)
 

rdefranx

Senior Member
Apr 12, 2008
58
3
Bronx
The b2redator workaround is required to wake the phone when the screen is off, it does not launch a Camera app.

The stock Gallery/Camera app do not snap pictures when pressing the Camera button
(and I do not have a stock Camera app in the launcher, using Nova, (OUI2 may have some workaround), so stock Camera is not listed in the Xposed Additions application list either)

Ok. Thanks. I do have a camera app using the stock launcher and I believe that I still had it when I used Nova launcher, I had the icon even in the navigation bar at the button of the screen. For now I am using Pie and set up the camera on the middle button.
 

b2rdetor

Senior Member
Aug 21, 2011
372
85
Sterlitamak
The b2redator workaround is required to wake the phone when the screen is off, it does not launch a Camera app.

The stock Gallery/Camera app do not snap pictures when pressing the Camera button
(and I do not have a stock Camera app in the launcher, using Nova, (OUI2 may have some workaround), so stock Camera is not listed in the Xposed Additions application list either)

I use thr stock camera app and it listed in additions )
My method will work only if you isnt use keyguard, if you are use keygiard - you need to include keyguard action in tasker task after pressing power button
 

limestone

Senior Member
Jul 24, 2006
94
34
hi:

I'm using an LG G Pro, and previously I have been using your mod successfully while in 4.1.2 Stock ROM. This morning, when I upgraded to 4.4.2 ROM, suddenly additions exhibit the following malfunction:
1. Power button is totally disabled (even if I assign a action to it, notthing happens.)
2. Haptic feedback is lost.

Is there any way you can help with it? many many thanks in advance!

*update*
I tried v2.3.8, and it works flawlessly! However, I lose the option to map buttons during lockscreen, which i also use regularly.. any suggestions?
 
Last edited:

limestone

Senior Member
Jul 24, 2006
94
34
Enable log, reboot and try mapping.
You should be able to save and post the log (or even email it).

It may be that LG has made its own changes to the calls that the module hooks in to. 2.3 and 3.x is not hooking in the same way.

I tried what you suggested, but unfortunately there is nothing captured in the error log.

I noticed though that my power button totally does not work even in the first instance after it reboots, and before xposed additions manages launch and map the other buttons.

Any other ideas?many many thanks in advance!
 

limestone

Senior Member
Jul 24, 2006
94
34
Can you get an "adb logcat"?


yes I can! I have eclipse installed. But what word do I use to filter out the relevant info for you to see?

---------- Post added at 07:17 AM ---------- Previous post was at 06:41 AM ----------

yes I can! I have eclipse installed. But what word do I use to filter out the relevant info for you to see?

Hallelujah!! I just found out that darkzerocool has released a 3.3.0b beta on the official thread, and that version works well!! (However, my camera button is not working now, which was the original reason why I came over to this unofficial version)

Thanks so much guys for your assistance thus far, no more followup needed on my end. thanks!
 

gerhardo

Senior Member
Aug 23, 2013
315
98
Moto X4
Sony Xperia 5 II
Cant understud ... your version are perfect, but his version has a lot of bugs and much less functionality...

I guess it differs from ROM to ROM though. Some ROMs change the internal working more than others. There are a bunch of special handling in for instance Samsung stock ROMs.
My purpose is slightly different: I have no commercial ambitions, primarily want something that works for me - I get something back from some other development.

But I do want my changes in the standard version. I have implemented the patches twice now. dk_zero-cool has included some of the patches now but has implemented those with a new structure so I have to adapt the code again it seems... (the transition commits are not included so I have a hard time to follow)

But dk_zero-cool has started implementing app shortcuts, I want that too (I considered doing that too, but that functionality is not trivial and I did not want to spend time unless it was included, and dk_zero-cool said he started back in March).
 

t61p

Senior Member
Mar 10, 2011
85
16
Hello gerhardo. Thank you for sharing your enhanced version.
I report one issue. The Last Application action could induce device reboot on SGNote2(stock ROM) and HTC-J(stock ROM). Here is one of the way to reproduce it.
1) launch an app then go back to home by tapping Back button.
2) invoke Last Application action.
It seems that it is stock ROM specific issue but could you please confirm and fix it?
 

b2rdetor

Senior Member
Aug 21, 2011
372
85
Sterlitamak
Hm, seems like additions totaly destoes original keymapping for a mapped key. Often you cannot return to previos normal mapiing even after completely disable all key mapping for some keys.
For example - i use gravity box for make a volume buttons long click skip tracks in music players and its works fine with all players.
But i maped with additions for screen on some apps on long volume buttons click. Isnt set any screen off actions. And gravity box mapping works fine. But when i wipe cashe and dalvik and rebooted phone, gravity box mapping isnt works for now. And volume keys when screen is off just unlock! the phone (wtf) and turns volume up and down... home button double click simply isnt works via gravity box or any other key mapping apps after any keymapping via additions (even if you will dell mapping and clear dalvik\cashe).
Yes - you ccan sad that i must map all the keys with additions. But when i map skip a tracks (next media) to long click volume buttons when screen is off, its works with some players isnt as i want. Yes - poweramp skip tracks. But neitron are rewind during song... and it sucks..
Is the way to return default keymappings??? Or i need to completely reflash rom with full wipes and dont use additions any more?
 

gerhardo

Senior Member
Aug 23, 2013
315
98
Moto X4
Sony Xperia 5 II
Hello gerhardo. Thank you for sharing your enhanced version.
I report one issue. The Last Application action could induce device reboot on SGNote2(stock ROM) and HTC-J(stock ROM). Here is one of the way to reproduce it.
1) launch an app then go back to home by tapping Back button.
2) invoke Last Application action.
It seems that it is stock ROM specific issue but could you please confirm and fix it?

get a logcat and post it
Cannot recreate it myself
 

gerhardo

Senior Member
Aug 23, 2013
315
98
Moto X4
Sony Xperia 5 II
Is the way to return default keymappings??? Or i need to completely reflash rom with full wipes and dont use additions any more?

There is something strange about key intercepts.
It should just be an extra filter in the chain but it is not working like that. There are a bunch of workarounds for "unmapped keys", that should not be needed.
So using GravityBox and Xposed Additions at the same time should be avoided, I can see double compensations, also without mappings.

What if you deactivate either Xposed module?
 

b2rdetor

Senior Member
Aug 21, 2011
372
85
Sterlitamak
Deactivating solved most problems except one. Double mhome action are gone... may be svoice installing will help...
Tryed to reset additions data. And remap all the keys without volume butons. And its work with gravity box volume keys mapping, but if i wipe cashe\dalvik then problem appers again. If additions media next would skip tracks in neitron like it do with poweramp - all will be good...
 

Hypocritus

Member
Oct 8, 2006
40
7
Washington, D.C.
Thank you gerhardo!

I prefer this version b/c my sweep2wake is as instant as 2.3.8. That makes me happy. :fingers-crossed:

One issue I am having, is that sometimes I get random button push events for my USB game controller. I don't have any of it mapped in Xposed Additions. This happens with at least one of my USB hubs. It seems to me that I had this problem several months ago, but that it was resolved in one of dk_zero's <=2.3.8 versions. If this does not make any sense to you, I can go back and test to see if I still have this problem with 2.3.8...
 

b2rdetor

Senior Member
Aug 21, 2011
372
85
Sterlitamak
Very interesting behavior ...when i set media next to one click on volume up when screen is off neitron player switch tracks, but the same action on long click make a rewind during current song. Hm - imho that even better )))
 

Top Liked Posts

  • There are no posts matching your filters.
  • 5
    This post has several sections:
    * Brief description of the mod, background
    * General mod information
    * History for the change
    * TrueSmart specific hints

    Remap/add buttons on the TS: Assign keys or actions to key long press/click for single/double/triple buttons, including button combinations.

    The TS only has two HW buttons. Both are mapped in such a way that they cannot be used by apps.
    To use apps in cold and wet conditions, we need HW buttons in the apps.
    Gestures like shake etc can to some extent be used, but sensors eat battery and are not as precise as buttons.

    It is possible (with root) to change mapping of buttons to they can be used in apps, but that do not increase number of buttons (Home and Power is still needed somehow too).

    I had expected that key combinations to be configurable in the default ROM, so combinations of key presses can be translated to Android standard buttons.
    The button configuration can however be achieved in the Xposed Framework that injects hooks at a very low level in the operating system. I looked at some of the modules that provides button mapping, but they were not as complete as I would wish, so I adapted an existing module.

    The Xposed Additions module modifications is not specific to the TrueSmart, but it is likely primarily interesting for the TrueSmart.
    4
    General mod information

    Requirements:
    * root
    * backups recommended

    Xposed Framework installation instructions:
    http://xdaforums.com/showthread.php?t=1574401¨
    Note: Xposed is included with Lokifish Mars EnSec patch.

    Xposed-additions mod:
    http://web.comhem.se/gerhardo/ts/XPosedAdditionsGB.apk
    This has Pro features temporary unlocked

    Xposed-additions thread on xda:
    http://xdaforums.com/showthread.php?t=2294274
    This mod will hopefully be merged to mainline by dk_zero-cool, until then the changes should be discussed here.

    Source on GitHub:
    https://github.com/gerhardol/xposed-additions

    Planned:
    * Custom key: I would like to use any key (especially more than available in Screen off). (workaround is to add any key, then edit shared_prefs)

    Other:
    This modification is signed with other keys than the original mod, so you have to uninstall the original mod to install this mod. Actually, you may even have to uninstall this mod if the test keys are replaced with standard keys.

    The long-long press handling requires a little training to get used to. You probably do not want to have for example kill application and Camera on the same long press and Click too. I have Back on click and Home on long press and it works fine with about a second to get Home (and you get home from Recent apps too).

    Note: This module could have conflicts if used together with the GravityBox module, that adds many other useful functions like pie menu. (GravityBox also have HW mapping functionality, but that was hard to adapt to the TS needs). I had some occasional problems with mapping Volume buttons on the phone I tested with. If this is a permanent problem, the modules must be integrated tighter.
    3
    History for the mod

    See the original thread for details of the changes to the original module

    2015-03-09: 3.5.2.1
    * Synced with 3.5.2: Should work with Lollipop with enforced SELinux (this build is not tested in Lollipop though).

    2015-02-22: 3.5.0.2
    * App shortcuts did not work in 2.5.0.1

    2015-02-21: 3.5.0.1
    * Lollipop compatible, based on original module conversion.
    Note: you will have to recreate the App Shortcuts after upgrading. The original author used the app shortcuts implementation, but store the data slightly differently, I aligned to that.

    2015-01-31: 3.4.1.11
    * Key mapping with app conditions: Add configuration to use default (screen) condition if no action set for a key click/press and repetitions combination. This makes it possible to handle app conditions as overlay to screen on.

    2015-01-05: 3.4.1.10
    * Only handle key conditions that matches. This module does not handle keys and key combinations that are not configured. However, previously it handled (possibly with default handling) keys also if there were no conditions that matched. This could for instance occur if a key only had onscreen condition, the module handled the key also in offscreen. Another example if a key had an app specific condition only.

    2015-01-02 3.4.1.9
    * Invoked keys: Do not delay first down until up or long-long timeout. No big difference as (most) action first when up/timeout anyway, but for instance Volume mapped to longpress gave problem to change just one step.
    * Allow Camera, Back remap also when screen off. May be remapped in apps, even if keys make no sense by themselves
    * Only run default action for secondary in a combo, ignore default action for primary key. Order could be maintained anyway when aborted and default Long-press would give alternating longpress for both, the behavior was inconsistent.

    2014-12-29 3.4.1.8
    * Unconfigured keys did not execute default handling, which affected feedback for some situations (configured keys still require handling).
    * Callcode configuration was not overriding default action
    *Do not turnon screen for (especially default) keys, can cause wakeup problems

    2014-12-28 3.4.1.7
    * Support for app shortcuts

    2014-12-28 3.4.1.6
    * Unconfigured keys was not always executing other steps when dispatched

    2014-12-28 3.4.1.5
    * Handling of wakeup keys (screen off) other than Power
    * Gingerbread corrections (still untested)
    * Combo: Always ignore primary key

    2014-12-23 3.4.1.4
    * The key/combo handling is updated. When a new key is pressed, check if there is any action for the key. If there are no actions for a single key, delay only if there are combo events configured for the key configuration. Just zip through unconfigured keys.
    - When a new down key is pressed, the module checks if a combo is configured if there are an ongoing event
    - Primary combo keys no longer requires explicit configuration (check unconfigured primary key).
    * Easier to perform combo key actions, previously all action had to be done in the first long press timeout.
    * Preserve the original key event when default invoking. Default invoking for keys with "meta" state should work better.
    * If primary key in a combo is released, end the combo directly as if secondary is released. This changes the behavior of this mod, to be the same as the original version.
    * Modified banner for Pro version.

    This is a a relative large change to the state handling for keys, especially for combo keys. The changes should simplify maintenance of the "long-long press" handling.
    Note especially that this is untested on Gingerbread. I have no GB devices, unless there are confirmations that it is working or there are simple changes, I plan to drop GB support.

    2014-11-30 3.4.1.3
    * Extend Pro license without time limit, but kept banner "Get Pro version for more features".
    * Set defaults for "external devices" to allow, as for instance MediaTek devices requires the setting.
    * Do not await multi-key events for keys that are not configured for single key events. This avoids the processing delay for unconfigured keys. It is possible to check the unconfigured keys to, by mapping them to default or by enabling "Check Unconfigured Primary Key".

    2014-10-17 3.4.1.2
    * Pro license extended to 2014-12-31

    2014-08-17 3.4.1.1
    * Based on 3.4.1, see the main module for changes. Some of the specific changes are adapted in 3.3/3.4.
    * Reset when pressing Power is set to 15s (8s in 3.4.1).
    * Make it possible to execute multi key preferences with the complete sequence
    * Increase max for long-press/click timeouts (especially 200ms for click is too short for the TS)
    * Patch to SeekBar for long-press/click handling (to avoid printouts in the log)
    * Pro license extended to 2014-10-17

    Some changes in the mod has been aligned with the main app (most of the proposals have been rejected for inclusion).
    - Data storage is same as in main mod. So you can keep the data when switching plugins, but you must migrate your key mappings from 3.2.2.8
    - Change Click/Long press settings after update (If previously using Default or Click follow long-press)
    - Not allowing all devices by default. You have to allow external Keyboard and Gamepad for the TS.
    - Previously all keys+app launch+actions were allowed with screen-off or lock screen. Tasker Actions can be used instead
    - Last/Previous app switched to the last app in the list. The switch is now to last app not exited (i.e. switched with Recent Apps or Home, not exit to launcher with Back).
    - Multi key mapping can be done with repeating secondary only (not by repeating primary only)
    - Feedback on long-press, long-long-press for key must be enabled in the settings file: Set enable_longpress_feedback to true in /data/data/com.spazedog.xposed.additionsgb/shared_prefs/config.xml
    - The mod previously did not execute default actions if multi was set to default as it is confusing: Should it be one or many? Then what is multi long-press default? The mod follows the 3.4 beavior with one default action.
    - Keys without any actions are not pass-through directly, the handling is always delayed. The mod handling required that multi-key also had single actions (reasonable for me but rejected).
    - Unconfigured wakeup keys (like Home on some devices) must be explicitly mapped in Screen-off.

    ---
    2014-07-12 3.2.2.8
    * Long-long-long power press: vibrate to announce pending reboot
    * Avoid reboot for <= 4.1, when when toggle to closed application or launching apps.

    2014-06-20 3.2.2.7
    * Always activate the screen for Power when screen is off. Was not done for unconfigured Power keys.
    * ToggleLastApp did not start most recent activity (visible in recent apps) if it was not running. This led to confusing behavior as some apps stop running when exiting with back, other not.
    * Extend Pro license to 2014-08-31

    2014-06-14 3.2.2.6
    * Press Power for 15s to reboot the device. This is built in most ROMs (8-12s), but not the Umeox x201 series.

    2014-06-08 3.2.2.5
    Bug fixes:
    * Toggle app could reboot the device
    * Unconfigured wakeup keys (like Home) did not wakeup the device

    2014-05-04 3.2.2.4
    Bug fixes:
    * Xposed Additions did not work in some ROMs (SlimKat) "showGlobalActionsDialog" missing

    2014-05-04 3.2.2.3
    Bug fixes:
    * Certain combinations of key events could give incorrect handling for key up and even both click and long press (this could also occur in the standard module, not just the mod).
    * Additional Haptic feedback long-long press

    2014-04-25 3.2.2.2
    Bug fixes:
    * Power key required mapping to wakeup/shutdown

    2014-04-12 3.2.2.1: Based on 3.2.2

    New:
    * New keys: Double long press, triple long press and triple tap
    * Holding a button after long press trigger long press on invoked button after another 2*long press.
    Then it is possible to map Home to long press to long press, get recent apps after 3*initial down.
    * Multi-key actions only require secondary button at first press, then only primary is needed.
    * Possibility to set press/tap timeout to system default and tap to press timeout. If tap/press do not match, actions may be neither press nor tap.

    No change but clarification: Default only applies to single long-press, single click, not any other key. (how to explain double tap creates single click?)
    Email log emails to me rather than the original author.

    Bug fixes:
    * Invoked button should have the initial down time.
    * Key invoked key kept down had no limit on inject key rate (could be several per ms in the emulator).
    * Up event was not sent for secondary button, only primary.
    * If a key was unmapped, the mod still inserted a delay to relay key down. Normally this makes no difference as applications wait until confirmed long press/click anyway.

    Extra in this release:
    * Enabled all actions in all situations, i.e. app launch when screen is off, all key insertions, all special actions. This will likely be removed if app shortcuts and custom keys are supported. Launch apps when screen is off normally requires that screen is turned on manually.

    ---
    2.3.x:
    A previous modification here, with minor changes: https://plus.google.com/107109556238544025767/posts/X6786oAd7so
    While that change was fixed and enhanced, the author existing module was rewritten, so my changes had to be rewritten too.
    2
    TrueSmart Specific

    Example of setup. I want to use this in IpBike, that can use buttons like Vol+, Vol- and Camera to control the app.

    Double Click Delay: 250ms
    Long press delay: 300ms
    All conditions are onscreen, except where noted.

    Home:
    * Single:
    - Long-press: Home (long-long press is Recent apps)
    - Click: Back
    * Double:
    - Long Press: Vol-
    - Click: Last application
    * Triple:
    - Long Press: Menu (long-long press search)
    - Click: Media previous

    Home, offscreen:
    * Single:
    - Click: Power This is not needed to wake the device since 3.4.1.10, but it gives haptic feedback at wake.

    Power:
    * Single:
    - Long-press: Power
    - Click: Camera
    * Double:
    - Long Press: Vol+
    - Click: No Touch (app, configured to toggle)
    * Triple:
    - Long Press: Zoom out
    - Click: Media next

    Power-Home combinations:
    * Single:
    - Long-press: Oclock
    - Click: Llama Shortcut for IpBike (GPS, screen timeout etc, then start IpBike)
    * Double:
    - Call
    - Click: Camera Zoom FX

    IpBike setup:
    Workout Next Key: Vol+
    Zoom out: Zoom out
    Zoom in: Long press zoom in
    Start Sensors: Long Press Vol-
    Start Trip: Vol-
    Lap: Back
    Screenlock: Long Press Menu
    TTS feedback: Camera
    Next Screen: Media next
    Prev Screen: Media Prev
    2
    Updated to 3.2.8, for Android <= 4.1 that could reboot when toggling apps.
    I did not spend too much time on it, but did not find a way to activate closed apps, so it is scenario 1 above.

    ...and my TrueSmart hanged yesterday, screen off. Buttons gave haptic feedback but no action, no reboot after 15s.
    I added an extra haptic feedback for longer press to see if this long-long-long press is detected at this point. I assume so, but no idea why the device did not reboot. Maybe need some other way than using the PowerManager. The firmware is crappy.