yashsingh1/xdaforums huggingface dataset:
[Xposed Framework Modules] dimm0k:
Interestingly enough, when I choose 'Other action' the Camera is not listed as an option to launch! This specific device comes with double press vol up to launch "QMemo+" and double press vol down to launch the camera, both of which I would like to retain. I've removed all keymappings from the PBMC module, but those two double presses don't do anything until I remove the module. QMemo+ is also not listed if I choose the 'Other action' option.
[Xposed Framework Modules] woldranger:
Thanks! That would be massively appreciated. If there's anything you need from my end (logs etc), just let me know. If you can sort it then let me know if there's any way to "donate".
[Xposed Framework Modules] kyme32:
hi there, very awesome module, i was looking something like this for years

i found a small bug, not something so big that i can't live with it but still

so i mapped my volume keys, all actions set to do nothing and hold to next media and prev media. everything works awesome but as theres no volume action it still popup tye vol controll and still change the volume, but at long hold.

can you fix it please? i press and hold, the song canges and the volume rise and should have nothing to do with volume.

i have a huawei chc-u01 with android 4.4.2
[Xposed Framework Modules] Xspeed:
No problem, 4.0 will have an option to launch apps alongside app shortcuts.

If this still won't help, there will be also other alternatives ;)

You're welcome. If you didn't know yet, there's a 'donate' button below my profile pic, if you're interested.

I know about this bug. It's something I've been fighting with for a very long time.

I got it working on Android 5.0 and beyond, but previous versions refuse to cooperate.

I hope I can fix it before 4.0, but I can't promise.

Also, a quick progress update: it's about ~85%!

Only thing left to do is the action selection dialog (choosing apps, shortcuts and custom intents).

After that, I am gonna upload a test version for those willing to help with bug-squashing ;) ETA: 1 week
[Xposed Framework Modules] Renosh:
Hope to see a marshmallow compatible version soon. Doesn't current work on Omni 6.0 so eagerly waiting the update.
[Xposed Framework Modules] Xspeed:
4.0 beta

After almost one year break here it is.

The new promised version you (I hope) have been waiting for!

HOWEVER! It's an beta version! What does that mean?

- Translations are unavailable at the moment

- Bugs may appear (orly?)

This release is mainly for people wanting to help by testing or not minding bugs.

I cannot guarantee stability of this alpha version.

OK, OK, what is new?

Proper Marshmallow support!

And... pretty much everything else :silly:

I don't understand how this new version works at all. Help?

Well, 4.0 in it's beta stage has no help or guide built-in, as I am focusing on adding features and fixing bugs.

Here's some quick overview about the mechanism:

PBMC works now by recognizing keypress patterns, aka. key chains.

You can use complex mixed key combinations to do many different tasks with minimal amount of different buttons.

How do I just make a simple double press or press and hold?

To, in example, set a double press of Volume Up button make a key chain with keys like this:

Volume Up pressed, Volume Up released, Volume Up pressed, Volume Up released

And to get a click and hold:

Volume Up pressed, Volume Up released, Volume Up pressed time 0.3sec

'I mapped a key, and now I can't use it normally!'

Well, you need to make another chain to emulate original key functions.

Example:

Chain Media next - action 'Next media', keys: Vol Up Pressed Delay 0.5s
Chain Original vol up - action 'Keypress (Volume up)', keys: Vol Up Pressed, Vol Up Released

That way when you hold the volume key it will execute media next, and if you just tap it, it will execute original vol up.

'I can't get double/triple press to work with single press also set!'

Answer is simple: put a delay (even 0.2s) on the single press chain.

The reason for that is when there is no delay and you try to double press, PBMC does an action immediately after the first press, because it waits 0 seconds before checking for any other chains.

Oh right, and here are a few other useful tips (Courtesy of [MENTION=5148630]quantemplation[/MENTION], cheers mate!)

Remember to use unique names for your chains (one will override another of the same name)

If you use "Cancels original key functions" on your chain, it naturally follows that you have to map the default function of the key to an additional chain to be able to use it

To get a long button press effect, as on previous versions, put the relevant delay (aka hold time) on a "Pressed" key in the chain

To have a combination such as triple tap, while still allowing a double tap chain, you need to put your a delay on the last key of the double tap chain. Basically, the delay on the release is how much time it waits until that combination fires your intended action. If there's no delay, there's no physical way to get to any chain longer than that one!

Don't map the power and home keys, unless you really know what you're doing

Remember that there cannot be multiple consecutive 'Pressed' or 'Released' keys, because you can't press a key twice without releasing it once, right? Heh
[Xposed Framework Modules] sixeco:
So far so good

So far no issues , have mapped home/back/menu button in lockscreen mode with media controls on my oneplus one running cm13 (V20160214)... though i wanted to ask if it would be possible to re-add the feature of "hold button for x seconds" additionally to "pressed" and "released"?
[Xposed Framework Modules] quantemplation:
I'm loving the customization possibilities in this new version. I was having difficulties figuring out how to combine the same key in multiple functions so I figured I'd post my method of solving them.

First, remember to use unique names for your additional chains (it seems one will override another of the same name).

Second, I've been using "Cancels original key functions" on all of my chains, as otherwise it wasn't working properly for me. With that said, it naturally follows that using that feature means you have to map the default function of the key you want an additional function to.

To emulate a hold, as before: Put the relevant delay (aka hold time) on the Pressed key.

To have a combination such as triple tap, while still allowing a double tap chain: Put your requisite delay on the last Released key of the double tap chain. Basically, the delay on the release is how much time it waits until that combination fires your intended action. If there's no delay, there's no physical way to get to any chain longer than that one.
[Xposed Framework Modules] Xspeed:
[MENTION=6992288]sixeco[/MENTION] It is possible. In the key edit dialog, notice the "Delay" slider.

[MENTION=5148630]quantemplation[/MENTION] Nice man, I see you quickly understood how this whole thing works ;)

I really need to add a help/tutorial section within the app, as it isn't as easy as it was before.
[Xposed Framework Modules] sixeco:
additionally

aight, got that one working again ^^

secondly, is there any particular reason for the module not to work while screen is off? it didnt work for me in previous verions either...
[Xposed Framework Modules] Xspeed:
[MENTION=6992288]sixeco[/MENTION] Well, no. It means something is wrong. Give me full debug logs and I'll check what's wrong.

By the way, this thread broke for some reason lol
[Xposed Framework Modules] quantemplation:
Oh, [MENTION=5292510]XspeedPL[/MENTION] I would like to suggest something for when sorting the chains.

Currently it seems to swap with the one it's overlapping. The intuitive expectation (and my suggestion) would be that it gets place in-between, like it briefly shows before you release your finger.

I hope that makes sense. That's pretty much my only complaint at this point. Besides having to use Keypress functions instead of the build-in Media controls to get a number of them to work properly.
[Xposed Framework Modules] Xspeed:
[MENTION=5148630]quantemplation[/MENTION] Yep, something's definitely wrong with drag and drop. I didn't notice, thanks for pointing it out.
[Xposed Framework Modules] Xspeed:
[MENTION=6992288]sixeco[/MENTION] In those last few lines I see that you've been only pressing the power button ('Processing key Power...'), were you pressing anything else then? What is your device model and Android version?
[Xposed Framework Modules] sixeco:
well i have been pressing it to switch my screen on/off and start the funcitons from that state, which is working fine when the screen is on, but it doesnt react at all when the screen is off... also i have a oneplus one running android 6.0.1 with cyanogenmod cm13.0 (V_20160219) and xposed v80-sdk23-arm
[Xposed Framework Modules] Xspeed:
I have no idea lol honestly. Can you use your volume buttons to change volume normally (without PBMC) with screen off? If yes, does it show in the debug log?

Strange sorcery must be in work on your device.

[MENTION=5148630]quantemplation[/MENTION] Would you mind if I copy-pasted your list of tips in the app's help section? :P
[Xposed Framework Modules] quantemplation:
Haha, go ahead! And feel free to improve upon my tips as well if you want.
[Xposed Framework Modules] aLexzkter:
Can't get F/F (or R/W) to work.

- App's in-built media control "Fast forward" does absolutely nothing (just vibration)

-Key press "Media Fast Forward (90)" does work (just as it did before in previous app version): for example, on youtube with screen on and NOT on background it fastforwards 20seconds. Neither running youtube on background nor with screen off will work, unluckily. On spotify it doesn't do anything no matter the screen is on or off . Guess it'll never work unless they implement what needs to be implemented on the player side.

LG G2 5.0.2

Somebody on spotify forum about FF and RW on android auto:
[Xposed Framework Modules] Xspeed:
Well well, what to do? I guess I'll remove it for now...
[Xposed Framework Modules] KostisTTT:
XSpeedPl, congrats for the module..

It seems very promissing..

Much better interface..

Here, I have 2 problems.

- If I choose the flashlight as an option (ex for the vol down button) there is a crash (PBMC stopped working)..

-I cannot input a double tap (ex vol down and vol down) although I have tried with different combinations of delay.. (Except there is sth I am missing)

How can I send you a log?

Thanks in advance
[Xposed Framework Modules] rorwal:
This seems to have regressed a bit since the previous release.

I have volume buttons set to send media next and media previous signals. The commands work.

However, if the option to "cancel original key functions" is on, then I cannot control volume using those keys. In previous iterations of this module, I could simply hold the buttons for media control, or short press for volume.

If the option to cancel original key functions is off, then the volume changes up and down the moment I press the volume rocker -- including when I hold the rocker to trigger media next or previous.

Another "bug": There doesn't seem to be a way to remove items from the chain list.

Overall, it works reliably for me on my Nexus 5. Thanks so much for the hard work, XspeedPL.
[Xposed Framework Modules] aLexzkter:
To remove items you have to drag the thin rectangle from the left to the right.
[Xposed Framework Modules] Xspeed:
To achieve a double press, you need 3 or 4 keys, example: Vol Down Pressed, Vol Down Released, Vol Down Pressed, Vol Down Released

As for the flashlight, I need to see the logs. Refer to the first post (at the bottom) for instructions.

Well, you need to make another chain to use original key functions work.

Example:

Chain Media next - keys: Vol Up Pressed Delay 0.5s
Chain Original vol up - keys: Vol Up Pressed, Vol Up Released

That way when you hold the volume key it will execute media next, and if you just tap it, it will execute original vol up.

To add, from right to left works too :silly:

And, I've updated the 4.0 information post with a few usage tips! Be sure to check it out, link is in the first post at the top ;)
[Xposed Framework Modules] aLexzkter:
Definitely not on my phone! Just from left to right. Right to left doesn't do anything

Oh and rotating the phone makes the app to crash, btw. I'm now using 6.0.1 crdroid rom on my lg g2
[Xposed Framework Modules] rorwal:
This method seems to override showing the volume panel when media volume is controlled using volume buttons. This means I cannot expand the panel, nor do I know the volume level.

This method also means I cannot control ringer volume using volume buttons, because the physical buttons are told explicitly to control music volume.
[Xposed Framework Modules] Xspeed:
Ah, right. Fixed the crashing issue, nice find.

Wrong and wrong again.

Set the "Original [key]" chain action to simulate the original keypress. In case of VolUp it should say "Keypress (Volume up)", and not "Music volume up".

Also, I just released 4.0 alpha2, which addresses some issues with the UI and changes in signal sending logic. Be sure to check it out ;)
[Xposed Framework Modules] quantemplation:
Couple new things I've found.

1. The mapping of multiple actions on the same key is still a bit clunky. To be more specific, I have to set a delay of the exact same length or else I actually get both actions firing in the same go.

Example:

Chain App Switch - action 'Keypress (App Switch)', keys: App Switch Pressed, App Switch Released Delay 0.2s
Chain Open Google Maps - action 'Other (Maps)', keys: App Switch Pressed, App Switch Released, App Switch Pressed, App Switch Released Delay 0.3s

If I try doing the Google Maps chain, it tries to run both at the same time. If I change the final delays so that they match (e.g., 0.2s), then it works fine. Still, I wouldn't have known that without extensive testing.

2. Some default actions are difficult to find, if not non-existent. I have to refrain from using any power button chains because I can't find a way to map an action to bring up the power menu (default long press power button action)

C. These customizations rock. I can set up three different presses back to back on one chain, e.g. App Switch (pressed), Home (pressed), and Volume Up (pressed) to launch this app from anywhere by pressing (and holding) them all in quick succession.

I did find a slight bug I think. Even though the default vibrate is always set to 0ms, it seems to be resulting in an experience of something else until you move the slider. Can anyone else confirm this? Also, my personal preference would be to allow the vibration slider to go by 10's and the delay slider by 50's.
[Xposed Framework Modules] Xspeed:
I can see why it happens. This module works by recording all key events.

So, if you press a key twice the memory will contain something like:

Key pressed, Key released, Key pressed, Key released

At this point, it still can be interpreted as a single press.

Fixing this isn't gonna be an easy task...

Long presses are already on my TODO list, no worries.

Final 4.0 will have them for sure.

With great power come great possibilities ;)

I don't get what you mean by "something else".

But sliders need tweaking for sure, I'll try your suggested value steps.
[Xposed Framework Modules] quantemplation:
I figured it out I think. I was expecting the default behavior to override the default haptic feedback on that key if selecting the "Cancels original key functions" box. This is not the case UNLESS you first move the slider then return it to 0.

For example, if I map the back key to press back and override the default function, I still get haptic feedback when I press back, in my case around 50ms, only until I move the slider.

Ahh. Yeah I was frantically searching for an easy way around it, myself. Is that more of a conceptual problem or a mechanical problem? Like could it be solved by adding an "if not (key press)" option to each chain? Or by perhaps by doing a check to see if a longer chain exists, and if so, not firing in tandem. Just for some examples.
[Xposed Framework Modules] aLexzkter:
Just installed Alpha2 and got a crash when rotating the phone. Thought you had fixed it?
[Xposed Framework Modules] onesolo:
After a lot of problems on version 2.x and 3.x, Alpha 1 and 2 working fine here (nexus 5 with stock rom)!!! I just use this to when I plug the headset, automatically will start playing music on Google Music player!!!

Don't change a thing on this!!! Everything is working like it's supposed to...
[Xposed Framework Modules] MESA:
Hello. I like to report a litte bug(i dont know if its a bug actually)

When i set a volume up chain for next song and volume down chain for previous song and vibration is set to 0ms i still get a vibration. I have to open the chain and move the vibration slider again to 0ms to disable vibration.

And also i have a question: When i have only 2 chains - hold volume up for next media and hold volume down to previous media do i still have to set another chains for volume control only?

I'll attach a xposed log. Device is Xperia V using Stock JB 4.3. Great module good work. :)
[Xposed Framework Modules] aLexzkter:
1) How to implement previous version's "press and hold" combination?? (press--> release-->press and hold it for 500 ms)

I'm trying with "volume up pressed, volume up released and volume up pressed delay 0.5s" but that just acts as pbmc's next track chain (volume up pressed)

2) Just found out that Blackplayer and JetAudio allow FF and RW! When you're in the app, if you keep keep pressing the skip on-screen button it keeps adding +5 seconds repeatedly. PBMC Key press Media fast fowards even if the screen is off, but just once. Right now I miss the option we had in the previous version which allowed repeating the action if you kept holding down the key....

3) App switch key? The one used to open Recent apps? That key is not detected, unlike menu and back buttons...

4) BUG: If the screen turns off itself when waiting for key press to be detected, you can't unlock the phone ever again (not even d2tw unlocks it) ......unless you connect it to an usb port or battery charger.
[Xposed Framework Modules] Xspeed:
If your device has haptic feedback on a key by default, when you simulate the key it will vibrate. I don't change every keys' implementation you know xD

As for the second problem I found a way around it, alpha3 is coming :D

Well, it seems there were 2 bugs with rotation heh

Glad it works for you mate

1. I am looking into it now, thanks for the report.

2. Multiple chains with the same keys may not work as intented. I'm fixing it right now.

Look up (multiple chains thingy) ^

I will add back that functionality, but no ETA yet. Bug fixing goes first for now.
[Xposed Framework Modules] Xspeed:
Sorry man, but it seems that I underestimated your request. To be able to use multiple keys I would need to rewrite almost the entire mod.
[Xposed Framework Modules] Blizzard22:
I tried in the newest version 1.5 the compatible mode out.

The result is that both players now react to the play/pause signal.

So I still have to disable Poweramp headset control to use the play/pause features of your app.

We'll it's an improvement over non reacting to BeyondPod with both headset control on and maybe it could work in future releases.

Thanks for the regularly updates!

=D
[Xposed Framework Modules] ahm.elghazaly:
I really appreciate you even trying man, you're amazing.

Don't stress about it,I tried the suggestion posted above (volume down for play/pause).
[Xposed Framework Modules] Metallijim:
Happy to report that compatible mode makes this work on Xperia Z 4.3 stock based rom via Walkman. Using power button for play/pause, with a 1 sec delay. Haven't tested others, but seeing as I only have 3 physical buttons, don't give me much to play with. I'm sure skip tracks will work. :cool:

Now when my bluetooth headset runs out of juice, and I have to use my wired set (with no buttons) I won't be missing having buttons so much. Good job dev! :D

Sent from Z Beast
[Xposed Framework Modules] Xspeed:
In the next update, I am going to add a feature that allows to send signals to a single application exclusively to prevent two players from receiving at once.

But to do this, I am going to need the full package + class names of the players' receivers, which are a pain to find.

If anyone would want to help, I really appreciate it!
[Xposed Framework Modules] MashineGun:
No, Jack headset from Beats, I have three buttons, prev, play/pause, next
[Xposed Framework Modules] Kiicek:
Unfortunately this module doesn't work at all on Xperia L with 4.2.2. Tried Spotify with and without compatibility mode, as well as PowerAMP. None of them worked for me...
[Xposed Framework Modules] Xspeed:
Try the newest 1.6 cool new feature!

Try 1.6, it works for me on Xperia SP with 4.1.2 on both players.
[Xposed Framework Modules] Kiicek:
You are blazingly fast with new versions :D

Edit : Still no luck :( it does not work at all... And it's the only module I have enabled, so it does not interfere with others. Maybe it's device issue? Maybe the buttons send different signals which your module does not recognise? I'm just guessing here though.
[Xposed Framework Modules] Xspeed:
In that case would you be able to pastebin the Xposed log? Also, I'm guessing that you set 'Play/Pause' to the camera button and 'Next/Previous' to the volume buttons, right?
[Xposed Framework Modules] Kiicek:
Here's the log.

I have set track skipping for volume keys and play/pause for power button. All three with delay.
[Xposed Framework Modules] Blizzard22:
1.6 'exclusive signal receiver' option is a great new addition.

It works but it opens the choosed app and interferes my lockscreen (Widget locker/system pin).

If you could do something about that app starting thing this could be it! =D
[Xposed Framework Modules] Xspeed:
Thanks to that log you can get the working 1.6.1 now! Enjoy!

Well, you can disable the "Launch media player intent" option. If your media player doesn't work without it however, then we have a problem.

EDIT: OK, I've failed yet again. The launch intent was being started regardless of the setting because of a bug. It's fixed in 1.6.2
[Xposed Framework Modules] Blizzard22:
Disabling the option doesn't fix the problem.

When I plug my headset or press the home key (when display is off and the home button is set on play/pause) the BeyondPod app shows up and plays the podcast.
[Xposed Framework Modules] Xspeed:
I edited my post like, 5 seconds before your post, haha.
[Xposed Framework Modules] Blizzard22:
The problem is still there on 1.6.2 =/.
[Xposed Framework Modules] ahrion:
Feature request: don't start playing media until a player is already in memory. Sometimes I'll sit a certain way and press a button on accident and a media signal will be sent and my phone will start playing music. This happened in a meeting yesterday.
[Xposed Framework Modules] Kiicek:
[MENTION=5292510]XspeedPL[/MENTION] You mister, are the best developer I saw in a long time. This mod now works for me! You certainly have the speed as your nick implies. :D
[Xposed Framework Modules] Xspeed:
Implemented at your request. Check out the newest 1.7 version!

I'm glad it's working now, though I'm not as great as you say I am ;)
[Xposed Framework Modules] aLexzkter:
No, when you're on the key menu and you touch the CHANGE button the app awaits, but if you don't do anything else afterwards the screen turns off itself (phone sleep) resulting in what I explained: you won't be able to resurrect the phone in anyway unless you take off the battery or plug an usb cable. I think this could be avoided 'easily' with 'something' that keeps the screen on while awaiting for a key to be pressed. It's not a big issue though.
[Xposed Framework Modules] kovisxd:
When is it going to be working on marshmallow?
[Xposed Framework Modules] Xspeed:
I overlooked it when I was re-shaping the settings UI, fixed in alpha3. Thanks for reporting.

On a stable version - around ~2 weeks.

On an alpha version - it is already.