FORUMS
Remove All Ads from XDA

[MOD][XPOSED] Keyboard Utilities

21 posts
Thanks Meter: 11
 
By lordofstuff, Junior Member on 10th September 2014, 02:20 AM
Post Reply Email Thread
This is a small Xposed module that simply stops android from consuming the alt tab key combo so it can be passed on to apps to handle it as they will. Most apps will do nothing with it, but many remote desktop apps will send it for the remote computer to handle, making program switching much easier.

Currently, This is all it does, but I have other features planned and I am open to (reasonable) suggestions/requests.

Planned features include a config UI so that this can be changed on the fly or even per app, support for meta tab and other key combos android consumes that may be undesirable, and possible special key remapping ability.

This module should work on anything running ICS or later, with either a hardware keyboard, such as that of the Asus Transformer line, or a bluetooth keyboard. Probably will not do anything with a soft keyboard. It should work on any stock or custom ROM.

Source code is available here: https://github.com/lordofstuff/Xposed-Keyboard-tweaks
apk Dowload is in the downloads tab or in the Xposed installer downloads.

Let me know what you think and any problems or suggestions you have.

EDIT: Requirements to use this:

Prerequisites:
-Your device must be rooted. (check your device's thread for help with this; it varies from device to device.)
-You must have the Xposed Framework installed and working. (info here: http://forum.xda-developers.com/xposed/xposed-installer-versions-changelog-t2714053 )

Installation instructions:
Install the app from the Xposed Installer or manually by downloading it from the downloads tab in this thread.
Activate the module in the Xposed Installer.
Reboot;
Enjoy.

Many thanks to the great developers before me who have made all this possible.

XDA:DevDB Information
Keyboard Utilities, Xposed for all devices (see above for details)

Contributors
lordofstuff
Xposed Package Name: com.appsofawesome.keyboardutilties

Version Information
Status: Testing

Created 2014-09-10
Last Updated 2014-09-14
The Following 5 Users Say Thank You to lordofstuff For This Useful Post: [ View ] Gift lordofstuff Ad-Free
 
 
10th September 2014, 02:20 AM |#2  
OP Junior Member
Flag Cleveland
Thanks Meter: 11
 
More
Reserved
10th September 2014, 02:20 AM |#3  
OP Junior Member
Flag Cleveland
Thanks Meter: 11
 
More
Reserved
10th September 2014, 02:20 AM |#4  
OP Junior Member
Flag Cleveland
Thanks Meter: 11
 
More
Reserved
Reserved in case I need it later.
10th September 2014, 02:27 AM |#5  
OP Junior Member
Flag Cleveland
Thanks Meter: 11
 
More
Reserved
Reserved again.
14th September 2014, 04:14 PM |#6  
Junior Member
Thanks Meter: 8
 
More
Wow, I've been looking for exactly this and never thought someone would create it. Thank you!
But I couldn't get it to work on my devices, Android still catches the alt+tab and switches between apps. Tried it on Galaxy S4 with GPE 4.4.4 and Galaxy Tab S with stock 4.4.2 using both a bluetooth and USB keyboard. Let me know if I can assist you with any troubleshooting.
14th September 2014, 05:50 PM |#7  
OP Junior Member
Flag Cleveland
Thanks Meter: 11
 
More
Quote:
Originally Posted by Adchen

Wow, I've been looking for exactly this and never thought someone would create it. Thank you!
But I couldn't get it to work on my devices, Android still catches the alt+tab and switches between apps. Tried it on Galaxy S4 with GPE 4.4.4 and Galaxy Tab S with stock 4.4.2 using both a bluetooth and USB keyboard. Let me know if I can assist you with any troubleshooting.

Hi there!
I'm happy to help you get the app working for you. I realized that I may not have made all the requirements to use it clear in the original post, so let's make sure that you meet all of them and then figure it out from there. (Also, I will edit the OP to be more clear about this).

1. Is your device rooted?
2. Do you have the Xposed Framework installed?
3. Did you activate this module in the Xposed Installer?
4. Did you reboot after activating it?

If the answer to any of these questions is "no" or "I don't know," then I think the problem is on your end, but I'm happy to help you fix it.
If the answer to all of these questions is "yes," then it looks like it is a problem with my app or some conflict with another app, and I'd be happy to look into it. If that's the case, can you send me a copy of the log from the Xposed Installer?

I'll be happy to assist more once I have that info.
The Following User Says Thank You to lordofstuff For This Useful Post: [ View ] Gift lordofstuff Ad-Free
14th September 2014, 06:21 PM |#8  
Junior Member
Thanks Meter: 8
 
More
Quote:
Originally Posted by lordofstuff

Hi there!
I'm happy to help you get the app working for you. I realized that I may not have made all the requirements to use it clear in the original post, so let's make sure that you meet all of them and then figure it out from there. (Also, I will edit the OP to be more clear about this).

1. Is your device rooted?
2. Do you have the Xposed Framework installed?
3. Did you activate this module in the Xposed Installer?
4. Did you reboot after activating it?

If the answer to any of these questions is "no" or "I don't know," then I think the problem is on your end, but I'm happy to help you fix it.
If the answer to all of these questions is "yes," then it looks like it is a problem with my app or some conflict with another app, and I'd be happy to look into it. If that's the case, can you send me a copy of the log from the Xposed Installer?

I'll be happy to assist more once I have that info.

I'm a long time user of Xposed so the answer is yes to all four questions

I found this error in the log, it's the same on both devices and I also tried disabling all other modules except this one with no effect
Code:
Loading modules from /data/app/com.appsofawesome.keyboardutilities-1.apk
  Loading class com.appsofawesome.keyboardutilities.KeyConsumeHook
java.lang.ClassNotFoundException: Didn't find class "com.appsofawesome.keyboardutilities.KeyConsumeHook" on path: DexPathList[[zip file "/data/app/com.appsofawesome.keyboardutilities-1.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
Full log:
Code:
Sep 14, 2014 9:23:43 AM UTC
Loading Xposed v54 (for Zygote)...
Running ROM 'KOT49H.T700XXU1ANF7' with fingerprint 'samsung/klimtwifixx/klimtwifi:4.4.2/KOT49H/T700XXU1ANF7:user/release-keys'
Loading modules from /data/app/hk.valenta.completeactionplus-4.apk
  Loading class hk.valenta.completeactionplus.XCompleteActionPlus
Loading modules from /data/app/de.defim.apk.notifyclean-2.apk
  Loading class de.defim.apk.notifyclean.Xposed
    [NotifyClean] loaded restricted packages: 1
    [NotifyClean] loaded additional settings: 0
    [NotifyClean] loaded set priority scores: 0
    [NotifyClean] loaded configured patterns: 0
    [NotifyClean] loaded dont-track packages: 0
    [NotifyClean] loaded loquacious packages: 41
    [NotifyClean] loaded notification events: 302
  Loading class de.defim.apk.notifyclean.Xcheck
Loading modules from /data/app/com.zst.xposed.xuimod-1.apk
  Loading class com.zst.xposed.xuimod.XuiMod
Loading modules from /data/app/com.smartmadsoft.xposed.nolockhome-1.apk
  Loading class com.smartmadsoft.xposed.nolockhome.Locksmith
Loading modules from /data/app/de.robv.android.xposed.mods.appsettings-2.apk
  Loading class de.robv.android.xposed.mods.appsettings.XposedMod
Loading modules from /data/app/com.ryansteckler.nlpunbounce-1.apk
  Loading class com.ryansteckler.nlpunbounce.nlpFix
Loading modules from /data/app/de.blinkt.vpndialogxposed-1.apk
  Loading class de.blinkt.vpndialogxposed.VpnDialogPatcher
Loading modules from /data/app/ma.wanam.xposed-2.apk
  Loading class ma.wanam.xposed.Xposed
Loading modules from /data/app/de.robv.android.xposed.mods.irdetofix-1.apk
  Loading class de.robv.android.xposed.mods.irdetofix.IrdetoFix
Loading modules from /data/app/com.mohammadag.burnttoast-1.apk
  Loading class com.mohammadag.burnttoast.XposedMod
Loading modules from /data/app/com.gertlily.xposed.touchwiz-1.apk
  Loading class com.gertlily.xposed.touchwiz.All
Loading modules from /data/app/com.germainz.yourtube-1.apk
  Loading class com.germainz.yourtube.XposedMod
Loading modules from /data/app/ma.wanam.youtubeadaway-3.apk
  Loading class ma.wanam.youtubeadaway.Xposed
Loading modules from /data/app/com.appsofawesome.keyboardutilities-1.apk
  Loading class com.appsofawesome.keyboardutilities.KeyConsumeHook
java.lang.ClassNotFoundException: Didn't find class "com.appsofawesome.keyboardutilities.KeyConsumeHook" on path: DexPathList[[zip file "/data/app/com.appsofawesome.keyboardutilities-1.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:67)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
	at de.robv.android.xposed.XposedBridge.loadModule(XposedBridge.java:421)
	at de.robv.android.xposed.XposedBridge.loadModules(XposedBridge.java:386)
	at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:120)
	at dalvik.system.NativeStart.main(Native Method)
Loading modules from /data/app/se.aqba.app.android.xposed.castfix-1.apk
  Loading class se.aqba.app.android.xposed.castfix.Main
NlpUnbounce: Version 1.1.4
Xposed G-Touchwiz: SystemUI: sfinder_button_big hidden
Xposed G-Touchwiz: SystemUI: qconnect_button_big hidden
Xposed G-Touchwiz: SystemUI: S-Finder & Q-Connect layout hidden
The Following User Says Thank You to Adchen For This Useful Post: [ View ] Gift Adchen Ad-Free
14th September 2014, 06:31 PM |#9  
OP Junior Member
Flag Cleveland
Thanks Meter: 11
 
More
Quote:
Originally Posted by Adchen

I'm a long time user of Xposed so the answer is yes to all four questions

I found this error in the log, it's the same on both devices and I also tried disabling all other modules except this one with no effect

Code:
Loading modules from /data/app/com.appsofawesome.keyboardutilities-1.apk
  Loading class com.appsofawesome.keyboardutilities.KeyConsumeHook
java.lang.ClassNotFoundException: Didn't find class "com.appsofawesome.keyboardutilities.KeyConsumeHook" on path: DexPathList[[zip file "/data/app/com.appsofawesome.keyboardutilities-1.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]

Well, I had to ask the easy questions to make sure. I work in tech support and you would not believe how often People forget really silly things and I assume them and then we waste everyone's time.

It looks like that's an issue with the Xposed framework itself in finding the module, and I confirmed the issue in my own device. I think the problem was introduced somewhere between my test build and the actual exported, signed APK, because if I run it from ADT, it works just fine. I swear I tested that, but evidently I missed this and no one else has reported it. I'll look into it and, if I can fix it, get a working build out as soon as I can.

Thanks for pointing out the issue.
14th September 2014, 07:05 PM |#10  
OP Junior Member
Flag Cleveland
Thanks Meter: 11
 
More
Quote:
Originally Posted by Adchen

I'm a long time user of Xposed so the answer is yes to all four questions

I found this error in the log, it's the same on both devices and I also tried disabling all other modules except this one with no effect

Code:
Loading modules from /data/app/com.appsofawesome.keyboardutilities-1.apk
  Loading class com.appsofawesome.keyboardutilities.KeyConsumeHook
java.lang.ClassNotFoundException: Didn't find class "com.appsofawesome.keyboardutilities.KeyConsumeHook" on path: DexPathList[[zip file "/data/app/com.appsofawesome.keyboardutilities-1.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]

Ok, I confirmed the issue, and I'm not really sure what caused it, but it seems to be resolved now. I just uploaded a new version to this thread and will be uploading it to the Xposed repo momentarily. Try it again and let me know if you have any more issues.
14th September 2014, 09:17 PM |#11  
Junior Member
Thanks Meter: 8
 
More
Quote:
Originally Posted by lordofstuff

Well, I had to ask the easy questions to make sure. I work in tech support and you would not believe how often People forget really silly things and I assume them and then we waste everyone's time.

It looks like that's an issue with the Xposed framework itself in finding the module, and I confirmed the issue in my own device. I think the problem was introduced somewhere between my test build and the actual exported, signed APK, because if I run it from ADT, it works just fine. I swear I tested that, but evidently I missed this and no one else has reported it. I'll look into it and, if I can fix it, get a working build out as soon as I can.

Thanks for pointing out the issue.

Quote:
Originally Posted by lordofstuff

Ok, I confirmed the issue, and I'm not really sure what caused it, but it seems to be resolved now. I just uploaded a new version to this thread and will be uploading it to the Xposed repo momentarily. Try it again and let me know if you have any more issues.

We have similar jobs so I totally understand why you had to ask
Thanks for fixing the issue so quickly, it works now!

This could become the ultimate module for fixing remote desktop issues on Android, mouse button mapping for example. I use VNC on my tablet with a bluetooth mouse for CAD software which relies a lot on right mouse button and scroll wheel button. In Android, right button is mapped as Back key and scroll wheel button as Home key, this results in apps getting force killed when holding the right button(Back) and leaving the VNC app on scroll click(Home).
I've attempted to fix this with keylayouts but couldn't find any references to mouse buttons, a custom .idc-file didn't work either, so it seems to be buried deeper into the system. Maybe that's something you could look into?

A tip for other users, Winkey+tab still works for app switching within Android so no functionality is lost with this module
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes