[MOD] Xposed Additions mod: More versatile buttons

Search This thread

gerhardo

Senior Member
Aug 23, 2013
315
98
Moto X4
Sony Xperia 5 II
Forget hidden part. Read again what you said and mapped Windows button to 'something'. Now everythings working fine!:p

Please try the 3.4.1.4 update and report how it works. Should be working without the need to configure keys.

The previous handling was not preserving the original key events why the meta state could be lost.
The original code made some attempts for that, but the events were lost. I modified this handling, even if it probably means that my changes will be harder to merge to the original.
The initial changes was fine, but the code was too messy so I rewrote the handling again, took quite some time...

If the changes work fine for other users, I will post in the original thread again, these changes probably addresses most of the problems with unwanted changes that the module introduces.
 
  • Like
Reactions: bjrmd

Spere

Senior Member
Aug 7, 2013
491
183
Please try the 3.4.1.4 update and report how it works. Should be working without the need to configure keys.

The previous handling was not preserving the original key events why the meta state could be lost.
The original code made some attempts for that, but the events were lost. I modified this handling, even if it probably means that my changes will be harder to merge to the original.
The initial changes was fine, but the code was too messy so I rewrote the handling again, took quite some time...

If the changes work fine for other users, I will post in the original thread again, these changes probably addresses most of the problems with unwanted changes that the module introduces.

I will check it at christmas holidays when ever I got time.

Okay @gerhardo. I installed this new update and so far this module is working like a dream. I can't notice anykind of delay while typing with my BT keyboard, but all my shortcuts/combos are working just fine.

Thank you a thousand times, again.

I'll come back here if I find any bug, but so far so good.
 
Last edited:

gorast358

Senior Member
Mar 19, 2011
86
8
Gerhardo, what does it mean "Extend license unlimited, as Pro license are not available" ?
 
Last edited:

gerhardo

Senior Member
Aug 23, 2013
315
98
Moto X4
Sony Xperia 5 II
Gerhardo, what does it mean "Extend license unlimited, as Pro license are not available" ?

This is a private build of the source from dk_zero-cool with many changes. The Pro features was previously extended month by month to try my changes out before they hopefully were merged.
The latest builds has extended the license indefinitely.
 
  • Like
Reactions: bjrmd and gorast358

gorast358

Senior Member
Mar 19, 2011
86
8
Where is option "Check Unconfigured Primary Key" ? And , can i disable vibrate when i do double click ? Also i have 2 virtual buttons : back and menu i didn't change them but they do not vibrate any more .
I have lg g pro with android 4.1.2 .
Thank you for the mod .
 
Last edited:

gerhardo

Senior Member
Aug 23, 2013
315
98
Moto X4
Sony Xperia 5 II
Where is option "Check Unconfigured Primary Key" ? And , can i disable vibrate when i do double click ? Also i have 2 virtual buttons : back and menu , they does not vibrate any more .
I have android 4.1.2 .
Thank you for the mod .

In 3.4.1.3, you had to use that option if you had a key only in combi operations, say Home-Vol+ but not Home only.
This configuration is not needed (or available) since 3.4.1.4

My mod tries to keep default handling in some more situations than the original module.
A few situations remain, will try to change that too. The handling is too complicated already, but next build handles one more situation.
Hopefully it handles the virtual keys better.

There is no extra haptic feedback for double tap. This mod adds feedback at longpress and long-long press compared to the original module, all at key down. This can be disabled, but not in GUI (long-long is hard to control otherwise).
 

gorast358

Senior Member
Mar 19, 2011
86
8
Ok. The bottons are not virtual they on the phone itself.
And the feadback on them worked in original mod
(But had another problems).
I have lg g pro with android 4.1.2.
And no, the latest version 2014-12-29 3.4.1.8 not helping.
 
Last edited:

gerhardo

Senior Member
Aug 23, 2013
315
98
Moto X4
Sony Xperia 5 II
And no, the latest version 2014-12-29 3.4.1.8 not helping.

Are the keys mapped?
The change in 3.4.1.8 could have made a difference for unmapped keys. Same there?
3.1.4.9 should not be different than 3.4.1.8.
If the problem occurs without any configuration for the keys, I hope there is a workaround, this is what I want to get away from.
If it occurs to mapped keys you more or less need the device and the source code.

However, can you please use 3.4.1.9, enable debug in the app and take a full logcat?
(I need the configuration too)
(Both mapped/unmapped, if that was a difference.)
 

TigerSoul925

Senior Member
Apr 15, 2010
212
31
I'm having some severe issues with this version of the mod. The things I've set to happen on long presses aren't happening. Instead other things happen. I've set recent app to long press multitask and long press back to menu. When I long press the buttons I get everything from google now, search-button and S-finder. What the heck? ;) Never got to test the wake-lag due to the issues.
 

gerhardo

Senior Member
Aug 23, 2013
315
98
Moto X4
Sony Xperia 5 II
I'm having some severe issues with this version of the mod. The things I've set to happen on long presses aren't happening. Instead other things happen. I've set recent app to long press multitask and long press back to menu. When I long press the buttons I get everything from google now, search-button and S-finder. What the heck? ;) Never got to test the wake-lag due to the issues.

The launching of functions is the same as in the standard module.
One thing that is different though is that if you map a key to long press and hold long-long, you get the long press for the mapped key.
The standard action for long press menu is search, I have no idea why the search actions are cycled.
Why do you map multitask to recent apps, is there a difference in appearance?
I have heard Long press recent apps is Menu by default on Note 4.
 

TigerSoul925

Senior Member
Apr 15, 2010
212
31
The launching of functions is the same as in the standard module.
One thing that is different though is that if you map a key to long press and hold long-long, you get the long press for the mapped key.
The standard action for long press menu is search, I have no idea why the search actions are cycled.
Why do you map multitask to recent apps, is there a difference in appearance?
I have heard Long press recent apps is Menu by default on Note 4.
Default for long recent is menu on note 4 indeed. What I was looking for was making long recent become last app and instead move menu to long back. Weird part is, I have never been able to get search by long pressing anything before this mod :)
 

mahpooya

Senior Member
Apr 5, 2011
60
7
Samsung Galaxy S21 FE
Power click to greenify hibernate and lock screen...
800810b36e4eae1c70d247fb26f94e72.jpg

Thanks for support shortcuts.

Sent from my GT-I9300 using Tapatalk
 

Attachments

  • uploadfromtaptalk1423657095490.png
    uploadfromtaptalk1423657095490.png
    96.4 KB · Views: 170

gerhardo

Senior Member
Aug 23, 2013
315
98
Moto X4
Sony Xperia 5 II
Released 3.5.0.1, based on the official 3.5.0, to add Lollipop compatibility.
(I had converted mostly myself, but adapted to the original module.)

Not ever interesting for Umeox x201 as Umeox very likely will not release Lollipop for x201, but the mod has other users.
 

gerhardo

Senior Member
Aug 23, 2013
315
98
Moto X4
Sony Xperia 5 II
So how can I make this happen?Any mini step2step guide for this one?My english are so bad that I cant make this throught the settings menu :(
* Enable module as usual for Xposed
* Open GUI for this app
* Select Buttons
* Add new Key
* Select the HW key, OK
* Select the key in the list
* Add new Condition; Screen On/Off normally
* Select the Condition
* Enable click/longpress combination
* Select key, action, shortcut to map to the key combination

Note that the kernel needs support to wake up from keys, so wakeup from volume may not work.
Something like Tasker or Llama can be used for the wakeup/sleep shortcuts. Test at least sleep shortcut from the launcher.
 

xtam

Senior Member
Jan 19, 2011
892
102
How can i map Settings -> Accessibilit -> Display -> Color Inversion action?
so i could quickly invert and revert colors in g900f marshmallow with key shortcut?
 

gerhardo

Senior Member
Aug 23, 2013
315
98
Moto X4
Sony Xperia 5 II
If you are to use MM, you need to use the official app, not my mod. When my Omate broke and my patches were not accepted, I stopped maintaining the mod.

You can call Shortcuts an programs from buttons, similar to shortcuts on the home screen.
For specific actions like this, you normally need a specific app that implements access (sometimes root is required).
 

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.