[APP][2.3.3+] MOGA Universal Driver - Android Apps and Games

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Use your PowerA MOGA with any application!
Provides full functionality for the PowerA MOGA™ Pocket and Pro controllers.
This application includes both a Virtual Keyboard that should work on all devices and a Gamepad Mode that provides full gamepad functionality for rooted devices.
NOTE: Only supports one controller at a time!
Features:
* Virtual Keyboard
* Virtual Gamepad
* Customizable profiles so you can make it work just right with your game or emulator
* Exportable profiles
* MOGA device management
* Button to stop Pivot services (Root users only, non-root get taken to the Settings application to do it manually, sorry!)
* Two Home-screen widgets:
** Small toggle widget
** Long toggle widget with profile switcher
Virtual Keyboard Features:
* Does not require root
* Usable by any application that listens for keyboard input
* Customizable!
Virtual Gamepad Features:
* Acts like a full Gamepad
* Toggle the analog joysticks between digital and analog output depending on your needs
* Customizable!
Usage:
1. Select your device:
I'm going to assume you haven't already paired your controller with your phone. Skip to the end of the section if you've already got it paired.
Make sure Bluetooth is enabled before continuing!
Select the "Manage Controllers" button found at the top of the Settings application. You will see an empty list of paired controllers.
Power on your Pocket or, if you have a Pro, turn it on into Mode A. Select "Add Controller" at the bottom of the screen. Your phone will start scanning for controllers and will add only MOGA devices to the list as it finds them. Once the scan completes select the controller you wish to pair with and click the "Select" button. It will begin the pairing process with your controller and you will most likely see a dialog pop up that asks you to confirm a PIN. Accept the PIN and the "Add Controller" screen will close, dropping you back to the "Manage Devices" screen. Click back once more unless you wish to repeat this step to add another controller.
2. Running in Virtual Keyboard mode:
This is the default mode for the driver but does require a few steps to configure.
Scrolling down to the "Driver Mode" section on the main screen you'll see that the current mode for the driver is "Virtual Keyboard" (unless you've already changed it to Gamepad, in which case switch back to Virtual Keyboard to follow these instructions). Click on the "Configure Virtual Keyboards" button to be taken directly to the appropriate Settings screen to turn on the "MOGA Virtual Keyboard" this cannot be done automatically for security reasons which are explained when you turn on the MOGA Virtual Keyboard. After you've enabled it go back to the driver's Settings screen and click "Select Virtual Keyboard". This will pop up the system dialog to let you choose which keyboard you want to be the active one. This also cannot be done automatically, sorry!
Finally toggle the button next to "Enable Driver" to turn on the driver. You'll see a MOGA icon appear in your notifications bar indicating the status of the driver: white for disconnected, green for connected.
If you'd like to configure a profile scroll down to the "Configuring a Profile" section below!
3. Running in Virtual Gamepad mode:
Before you continue: you must have a rooted device with SuperUser installed in order to use the Virtual Gamepad mode. The button to enable the Virtual Gamepad is disabled if your device does not support SuperUser.
Virtual Gamepad mode is significantly easier to configure. First, click on the "Switch" button next to the current mode which will pop up a dialog box explaining the two available modes. Feel free to read these before continuing. Select Gamepad from the list and you've successfully configured Gamepad mode!
All you have to do next is enable the driver by toggling the "Enable Driver" button just as you would in the Virtual Keyboard mode.
4. Configuring a Profile:
The profile system was entirely rewritten in 3.0 to make the process easier and to provide the ability to share profiles with friends. If you scroll down to the bottom of the settings page you'll see the "Profiles" section with a couple of buttons. Clicking "Switch" will popup a dialog containing all of the valid profiles for the current controller type and driver mode (for example, you cannot use a MOGA Pocket profile that was configured for Virtual Keyboard mode on a MOGA Pro in Gamepad mode, with any variation therein).
Selecting "Manage Profiles" will bring you to a list similar to the "Manage Controllers" screen. Here you can create new profiles, rename them, delete them, or reload them from the SD card if you've added new ones onto your SD card while the program was running.
Click "Create Profile" to begin. You will first be prompted with a dialog that asks for the name of the profile. Enter what you'd like and click OK. You will then be presented with the default configuration for that profile. You can modify any of the mappings by clicking on the "Change" buttons associated with each input. When you click "Change" a dialog box will appear with a sorted list of output types. Select a type and then select the button you wish to map to that input. Changes are saved when you leave the edit page.
If you are running in Virtual Gamepad mode you will have a few more options available to you. You can decide whether or not the Analog inputs (including the DPad) should send Analog outputs or standard Button outputs. The list will automatically update when you toggle the analog mode so scroll down afterwards to configure the outputs. Gamepad mode will not present you with a list of categories as the options are much more limited. Since it is pretending to be a controller it can only send controller messages to the system. For any analog input you will only be allowed to map analog outputs and for buttons, only button outputs.
After creating a profile click the "Switch" button to select your profile and activate it!
Profiles are automatically saved to "/sdcard/MOGA/IME" for Virtual Keyboard mode and "/sdcard/MOGA/System" for Virtual Gamepad mode.
Troubleshooting:
Lots of users have reported that the driver does not properly connect on certain devices (I'm noticing most are Samsung TouchWiz-enabled devices). I am still actively investigating this and will hopefully be able to resolve it sooner rather than later!
* Make sure that the Pivot is NOT running when you run my driver! It will connect to the controller and prevent my driver from connecting. There is a button at the bottom of the settings screen that will help you ensure Pivot isn't running.
* If you turn on your MOGA Pocket and the light immediately turns green then turn it off and back on until the blue light blinks consistently. I've noticed on my own that this happens almost every time I turn it on after a long period of not using the controller.
* Some users have reported that disabling WiFi has allowed them to connect their controllers.
* There is a bit of voodoo that one user found that helped them connect to their controller on a Samsung device:
jjprophet said:
I was having the same problem on my Note 2 also. The only way I've been able to connect to this MOGA Universal Driver app is by connecting first to the MOGA Pivot app then starting the Universal Driver and then turning my phones screen off for about a second then turning it back on. For whatever reason after turning my screen back on it instantly connects to the Universal Driver app.
Click to expand...
Click to collapse
Download:
Google Play
This product is not affiliated with, nor authorized, endorsed or licensed in any way by Bensussen Deutsch and Associates, Inc., its affiliates or subsidiaries. All trademarks are property of their respective holders.
Buy me a soda!

Changelog:
3.1:
Brought back the widgets!
New, long widget: change profiles from your desktop
Fixed a few more crashes reported by users. Keep 'em coming -- but hopefully not!
3.0.3:
Rewrote connection code. Works on my devices that previously didn't. Please try!
Fixed "Enable Bluetooth" bug where it was out-of-sync with Bluetooth Adapter state
Added dialog when enabling driver to warn you if Pivot is detected to be running
Fixed Pivot detection and stopping code to include all Pivot packages
Moved SuperUser check from Application to Settings Activity to prevent it from popping up all the time
3.0.2:
Added Spacebar and the Numpad numbers to the Virtual Keyboard mappable keys
Fixed some crashes users had reported
Removed old WAKE_LOCK permission
Fixed "Stop Pivot Services" button
3.0.1:
Fixed crash on older devices due to a typo when discovery started
Fixed Left stick's Right being mapped to DpadUp by default (Pocket)
Fixed Left/Right shoulder buttons being flipped (Pro/Pocket)
3.0:
Completely rewritten!
Supports MOGA Pro
Profiles are saved as XML files on the SD card for easy sharing
2.2:
Fixed crash (So sorry for the broken update!)
2.1:
Added System Service toggle widget
Split Analog/DPad toggle into two options to have one DPad one Analog
2.0:
Completely rewritten to improve lag time.
System-mode added.
Analog support now available in System-mode.
Analog can be toggled to allow DPAD use.
Notification icons change according to connection status.
1.1:
KeyEvents are now broadcast as JOYSTICK and GAMEPAD sources.
1.0:
First release!

Great work on the app, thank you very much!
Is there anyway to get the device to present itself as a generic gamepad, similar to a dualshock and the six axis app?

I could send KeyEvents as a Gamepad and Joystick source but I don't know if that's what you're talking about. Whenever I've used gamepads on my devices they always come in through KeyDown and GenericMotion events.

Awesome work man, Ive done a little testing so far. Works great with Sonic CD, and Mame4Droid, but i cant get it to work in Gameboid for some reason, probably the same in the other iod emulators, haven't tested those yet. so far hasn't worked in any of the other android native games ive tried. will continue my tests.

Thwiipp said:
Awesome work man, Ive done a little testing so far. Works great with Sonic CD, and Mame4Droid, but i cant get it to work in Gameboid for some reason, probably the same in the other iod emulators, haven't tested those yet. so far hasn't worked in any of the other android native games ive tried. will continue my tests.
Click to expand...
Click to collapse
I tried it on SNESoid and GameBoid and in both cases I needed to enable "Use Input Method" in the "Other Settings" menu in order for it to work. It would appear that the emulators don't listen to soft-key events if this is off.

ObsidianX said:
I could send KeyEvents as a Gamepad and Joystick source but I don't know if that's what you're talking about. Whenever I've used gamepads on my devices they always come in through KeyDown and GenericMotion events.
Click to expand...
Click to collapse
Sort of, yes. I tried the updated version of the app (think you for putting it out there) but it wasn't quite what I was trying to describe.
This is what I'm after and the only real example I have to describe what I'm talking about.
If you use the sixaxis app has an option in it to "Enable Gamepad: Android will see controllers as native gamepads."
When this option is enabled, games like Dead Trigger will give you an in-game menu to map the controller buttons.
Again, thank you VERY much for your work on this. As is, it makes the MOGA useable!
---------- Post added at 05:12 PM ---------- Previous post was at 05:04 PM ----------
ObsidianX said:
I could send KeyEvents as a Gamepad and Joystick source but I don't know if that's what you're talking about. Whenever I've used gamepads on my devices they always come in through KeyDown and GenericMotion events.
Click to expand...
Click to collapse
Sort of, yes. I tried the updated version of the app (thank you for putting it out there) but it wasn't quite what I was trying to describe.
This is what I'm after and the only real example I have to describe what I'm talking about.
If you use the sixaxis app has an option in it to "Enable Gamepad: Android will see controllers as native gamepads."
When this option is enabled, games like Dead Trigger will give you an in-game menu to map the controller buttons.
Again, thank you VERY much for your work on this. As is, it makes the MOGA useable!
If there's anything I can do to help (screenshots, testing, etc) please don't hesitate to ask.

I download this app but did not work on my device, any idea's?

Thanks for the feedback!
I did some more reading and found that the Android framework provides absolutely no way to simulate analog input for normal applications. System applications are allowed to send Touch and Trackball events but not the GenericMotionEvent that gamepads send for analog inputs, and even if it did I'm not a system application. The only way to make it work is to elevate the driver to superuser status and start messing with the system directly. This works out well for what e4xda is asking for too because I will be forced to make the device act as a system-level joystick in order to get the analog inputs working.
What I'm planning on doing is having a toggle for which mode to run the driver in, IME or Gamepad. IME mode will be what you see now. In Gamepad mode the user will have to grant the driver root access (which restricts this mode to rooted devices) so it can broadcast inputs directly to the kernel. A nice side-effect of using it in Gamepad mode would mean you wouldn't have to switch your IME back and forth whenever you wanted to use the MOGA.
Anywho, sorry for getting technical. It's partly for you to stay in the loop and for me to formalize what's in my head

2mato said:
I download this app but did not work on my device, any idea's?
Click to expand...
Click to collapse
I'm afraid I can't really help you out without more info. When you say it doesn't work what exactly do you mean?
In its current form the driver is kind of a song and dance to get going. You'll need to enable it in the system Keyboard and Language settings and then switch to the MOGA IME (which can be done inside the IME settings page). After that you need to configure the IME by selecting which device it should connect to. If you haven't already paired the device you can do that from the settings page. Once you've selected a device go ahead and leave the IME settings page and it should try and connect to your device. Make sure your MOGA is turned on and wait for the light on the PowerA button to turn Green. This will take 5 - 10 seconds on average.
Sometimes my MOGA will turn green immediately for some reason when turning it on even though the phone hasn't connected to it. In those cases just power cycle the MOGA until it connects properly to your phone.

ObsidianX said:
Thanks for the feedback!
.........)
Click to expand...
Click to collapse
I think you nailed it. I just checked SuperUser and I have allowed Sixaxis superuser access - that must be why.

Key Mappings
Where is the option to map the buttons to regular letters? Because I can't get gameboid to recognize the buttons.

I'm interested in purchasing a MOGA controller, is the clip adjustable for any phone? I have an EVO LTE with an Otterbox case, I'm hoping it'll fit.

12gage said:
I'm interested in purchasing a MOGA controller, is the clip adjustable for any phone? I have an EVO LTE with an Otterbox case, I'm hoping it'll fit.
Click to expand...
Click to collapse
The clip is adjustable. It can fit a Galaxy Note 2, so i think you should be fine.

Thwiipp said:
The clip is adjustable. It can fit a Galaxy Note 2, so i think you should be fine.
Click to expand...
Click to collapse
Thank you, I'm getting one!!

doorgoo said:
Where is the option to map the buttons to regular letters? Because I can't get gameboid to recognize the buttons.
Click to expand...
Click to collapse
I was able to get Gameboid to use the default GamePad buttons (BUTTON_A, BUTTON_B, etc) by enabling "Use Input Method" in Gameboid's "Other Settings " page. It would appear that the code is written to listen for physical input events unless virtual events are enabled.
The emulators are targeted for an Android version prior to Gamepad support so in the UI it'll say [unknown] for everything other than the DPAD inputs but that's just a display name. It's still recording the new keycodes internally and properly listening for them.

ObsidianX said:
Thanks for the feedback!
I did some more reading and found that the Android framework provides absolutely no way to simulate analog input for normal applications. System applications are allowed to send Touch and Trackball events but not the GenericMotionEvent that gamepads send for analog inputs, and even if it did I'm not a system application. The only way to make it work is to elevate the driver to superuser status and start messing with the system directly. This works out well for what e4xda is asking for too because I will be forced to make the device act as a system-level joystick in order to get the analog inputs working.
What I'm planning on doing is having a toggle for which mode to run the driver in, IME or Gamepad. IME mode will be what you see now. In Gamepad mode the user will have to grant the driver root access (which restricts this mode to rooted devices) so it can broadcast inputs directly to the kernel. A nice side-effect of using it in Gamepad mode would mean you wouldn't have to switch your IME back and forth whenever you wanted to use the MOGA.
Anywho, sorry for getting technical. It's partly for you to stay in the loop and for me to formalize what's in my head
Click to expand...
Click to collapse
Please do enable analog support for rooted phones! I tried using the stock MOGA app to run Nova 3, and the software is horrible! Sometimes it runs fine, but over half the time there's a 2+ second delay from when I push a button to the action actually occurring... and I know it's not my phone or the controller, since the touch screen controls work perfectly and the controller responds quickly when using your app (rather than the stock app) for different games.
Thanks so much for putting this out quickly

ObsidianX said:
Thanks for the feedback!
I did some more reading and found that the Android framework provides absolutely no way to simulate analog input for normal applications. System applications are allowed to send Touch and Trackball events but not the GenericMotionEvent that gamepads send for analog inputs, and even if it did I'm not a system application. The only way to make it work is to elevate the driver to superuser status and start messing with the system directly. This works out well for what e4xda is asking for too because I will be forced to make the device act as a system-level joystick in order to get the analog inputs working.
What I'm planning on doing is having a toggle for which mode to run the driver in, IME or Gamepad. IME mode will be what you see now. In Gamepad mode the user will have to grant the driver root access (which restricts this mode to rooted devices) so it can broadcast inputs directly to the kernel. A nice side-effect of using it in Gamepad mode would mean you wouldn't have to switch your IME back and forth whenever you wanted to use the MOGA.
Anywho, sorry for getting technical. It's partly for you to stay in the loop and for me to formalize what's in my head
Click to expand...
Click to collapse
That'd be awesome. It definitely needs to be easier to use this controller... Thanks for your hard work.
Lhockey said:
Please do enable analog support for rooted phones! I tried using the stock MOGA app to run Nova 3, and the software is horrible! Sometimes it runs fine, but over half the time there's a 2+ second delay from when I push a button to the action actually occurring... and I know it's not my phone or the controller, since the touch screen controls work perfectly and the controller responds quickly when using your app (rather than the stock app) for different games.
Thanks so much for putting this out quickly
Click to expand...
Click to collapse
Why IS there such a delay? It can't be due to connection type, cause Bluetooth keyboards/mice do not lag as much as MOGA. Even with Moga Universal Driver app (of ObsidianX), the response seems rather slow, which makes playing even Super Mario on NES emulators hard...

The lag is probably because of how many hops each button press has to go through before it finally reaches the game code.
1. Press button
2. bluetooth signal created/sent
3. signal received and parsed by the kernel
4. forwarded to the Android framework
5. passed up (not sure how many times) to the application layer
6. a service running inside the MOGA IME reads the data and parses it into booleans
7. an intent is fired off for each button INDIVIDUALLY back to the system
8. android takes the intent and determines if there's anything that can handle it (this might lose time just based on priority)
9. the MOGA IME intent receiver accepts the intent
10. the intent is parsed and the single button is extracted
11. the receiver then triggers the IME activity to send the running activity a key event
[end driver hops]
12. the game receives an onKeyDown/onKeyUp event and sends it along through its own pipeline before finally being executed as an action
REPEAT!
Now, this is how the BlueZ-IME project has set things up. Looking around at various IME projects though this is what they all do. I have no idea how long each step actually takes in the system or if any of it is handled more graciously by the Android framework. Conversely some steps might have lower priority and get pushed back by a few cycles adding to the delay. I'll probably go back after my current task and combine all the button presses into a single intent which should hopefully speed things up.
Using the kernel-level mode would replace steps 7 throuh 11 with a single command that writes the state to the kernel driver. One thing I would like to find out is whether or not most people have the file "/dev/uinput" or "/dev/input/uinput" or "/dev/misc/uinput" on their devices. This is my point of entry for the kernel-level mode and must exist. I use CM10 on my phone so my device isn't a good common denominator. If anybody who's reading this thread has an older device with Gingerbread still running on it I'd love to hear if you have it on yours as well.

quite a number of steps there! your app is the best thing about moga (cause I find myself using the controller with games outside the Pivot app), and gets me very close to actually enjoying the experience. thanks again!

Related

Satechi BT MediaRemote Bluetooth Multi-Media Remote Control

I found something interesting on the Amazon store I thought I would share, I found this is incredibly useful for me so hopefully is to someone else.
this should work on pretty much any Android device but I'm posting it here as it is the only one I can/have tested it on.
I cannot post links yet but it can be found on Amazon UK under the name "Satechi BT MediaRemote Bluetooth Multi-Media Remote Control"
It's a small Bluetooth remote for iPad/iPhone/Mac and very quietly mentions Android so I decided to buy one and see how it goes as I needed something like it for my car.
Anyway it arrived this morning and I love it, I've successfully used it and I've been able to remap keys using the "External Keyboard Helper Pro" app by "Apedroid" which allows remapping of keys to media keys or launching apps.
All keys on the remote can be remapped except the wireless symbol which un-pairs and goes into discover mode.
My requirements were a remote that allows me to change tracks while driving but it also got Google now working in my car Bluetooth system. (it did not connect properly when I launched it via car voice controls)
I have now got the keyboard button remapped to switch to the maps app and the mute button to launch Google now so once Google now is done I have a button to go back to the navigation screen .
I have also been fairly successful in getting this to work with Tasker however it required a small workaround by exporting the task as an app (via Tasker App Factory) and then using "External Keyboard Helper Pro" to launch it.
My only issue with the remote at the moment is that it connects as a hardware keyboard meaning I cannot type while using it (obviously not an issue in the car though)
All this was done on a non rooted Nexus 4 on 4.4.2 so root is not required by the way.
If anyone has any questions feel free to ask, I'm going to figure out how I can bind the other 9 keys on the remote
Oh and finally if you do use the app in question and use Tasker I'd recommend exporting a Tasker task which launches the intent "android.intent.action.VOICE_COMMAND" rather than using the built in voice control key setting.
Dude!! I have totally been looking for this! I like playing podcasts from my phone while I'm working in the garage, so I hook the phone up to my stereo but whenever I need to pause it or adjust the volume, I gotta go clean up or slide out from under the car... This will be perfect!! I'm totally ordering this right now!! Thanks brother (or sister?)!!
Sent from my Nexus 7 using Tapatalk
Cazomino05 said:
...
Click to expand...
Click to collapse
Seems very good indeed.
http://www.amazon.com/gp/product/B00DY9UFB8/ref=cm_cd_asin_lnk
http://www.satechi.net/index.php/satechi-bluetooth-remote-control-for-android
Could you please check if there are any answer call buttons or microphones on this thing? Personally I hope not because it happens so easy in your pocket.

[MOD] PS4 Remote Play native gamepad support

I'm working on native gamepad support for the ported PS4 Remote Play app (see original thread). Unfortunately I don't have access to my PS4 for the next month, so I'm hoping to get help testing from users with access to the Sixaxis Controller app, a PS4, and the ability to send me logcat output.
I will be working on touchpad, accelerometer and gyroscope support for the DualShock 4 controller in coming days, however these will require the Sixaxis Controller app once complete.
BETA 5 Change log:
- Fixed support for DualShock 4 controllers connected without Sixaxis Controller app.
Here is a log file.
ysargon said:
Here is a log file.
Click to expand...
Click to collapse
Thanks for that. Very useful!
I think I've figured it out. Can you try the attached version and try connecting a controller in the Sixaxis Controller app. Make sure you don't have any touch profile active, and that you have 'Preferences->Gamepad Settings->Enable Gamepad' checked. If it works, it will only be the digital buttons at this stage. Let me know how you go!
sir_earl said:
Thanks for that. Very useful!
I think I've figured it out. Can you try the attached version and try connecting a controller in the Sixaxis Controller app. Make sure you don't have any touch profile active, and that you have 'Preferences->Gamepad Settings->Enable Gamepad' checked. If it works, it will only be the digital buttons at this stage. Let me know how you go!
Click to expand...
Click to collapse
Remote play force closes just before it connects to ps4. Ps4 did turn on, says that i connected on ps4. Just the app itself keeps crashing. I attached another log hopefully it helps
ysargon said:
Remote play force closes just before it connects to ps4. Ps4 did turn on, says that i connected on ps4. Just the app itself keeps crashing. I attached another log hopefully it helps
Click to expand...
Click to collapse
I did something dumb. How about this version...
Also, don't forget logcat output if it fails to work.
sir_earl, thanks for your work! This will make a huge difference in the performance of remote play. The main issue I currently have is that the on screen overlay controls will fade away if no touch is detected in a second or so which requires double touches to perform the intended action from time to time.
I'll test this out.
Ditto, sounds like the right solution. Need to check this out now!! :cyclops:
Here's my logcat after running test 5. No problems as far as force closing. Ran just like normal.
I had my ds4 connected via your app with native gamepad support on. Nothing happened at all in the logcat when I pressed buttons on the ds4. Not sure if it was supposed to. Haha.
Thanks for your work!
TheLeapist said:
Here's my logcat after running test 5. No problems as far as force closing. Ran just like normal.
I had my ds4 connected via your app with native gamepad support on. Nothing happened at all in the logcat when I pressed buttons on the ds4. Not sure if it was supposed to. Haha.
Thanks for your work!
Click to expand...
Click to collapse
I can report the same thing with v5. Nothing in logcat when pressing any of the DS4 buttons. Looking forward to further testing
If there's no output, then something is trapping the key events. Might be the on-screen controls, so I've done a build that hopefully won't show the overlays (if they're still showing, let me know and I'll take another look).
sir_earl said:
If there's no output, then something is trapping the key events. Might be the on-screen controls, so I've done a build that hopefully won't show the overlays (if they're still showing, let me know and I'll take another look).
Click to expand...
Click to collapse
still shows let me know if you need a logcat.
ysargon said:
still shows let me know if you need a logcat.
Click to expand...
Click to collapse
Likewise
I feel more confident about this version! The last one actually should have worked if I had built it correctly. Fortunately I was able to bring up the correct activity so I could test the key events without a PS4 connected, so this one should work.
sir_earl said:
I feel more confident about this version! The last one actually should have worked if I had built it correctly. Fortunately I was able to bring up the correct activity so I could test the key events without a PS4 connected, so this one should work.
Click to expand...
Click to collapse
Downloaded and installed. I will test when I get home. Do I need sixaxis app to test this version?
Sent from my SGP561 using XDA Premium HD app
Gamepad works with v7, but button mapping is wrong. I can't do logcat right now, but hopefully someone else can provide a proper log. Great work so far!
Thanks great news! Does this mean that we can use Stock Android gamepad compatible controllers with our Phones? e.g. using sixaxis enabler in cases where ppl like myself do not have a rooted phone?
As reported it works except square is switched with x, and triangle and circle are switched. R2 and L2 don't work at all. The left stick just acts as if it is the dpad and the right one doesn't work. Share button also does nothing, but options works perfectly. Another obvious problem is the playstation button brings you to the phone's home screen automatically. I'm guessing you were aware of a lot of these but I just wanted to make sure.
Oh and I went to do a logcat nothing at all shows up when I do "| grep RemotePlay" and so I tried doing a regular logcat and there was nothing about remote play in that either. Shrug.
TheLeapist said:
As reported it works except square is switched with x, and triangle and circle are switched. R2 and L2 don't work at all. The left stick just acts as if it is the dpad and the right one doesn't work. Share button also does nothing, but options works perfectly. Another obvious problem is the playstation button brings you to the phone's home screen automatically. I'm guessing you were aware of a lot of these but I just wanted to make sure.
Click to expand...
Click to collapse
Great news. I'll be able to address most of these issues fairly easily now. Unfortunately most (all?) Android devices map the PS button to the home key (this is based on a system configuration file), so the PS button can't be captured by apps. I could add a custom fix for the Sixaxis controller app, but we'll get to that last - you've still got on-screen controls.
Also, some devices will map square, X, triangle and cirle differently, so this could be problematic. Sixaxis controller allows you to change these mappings under 'Preferences->Gamepad Settings->Edit Mappings.
I will add analog sticks and L2 / R2 in the next build.
If anyone can try native gamepads that don't use the Sixaxis app (i.e. controllers with OTG cable) and report their results, that would be helpful too.
Hi otg with sixaxis enabler is how I'm testing it. So far so good only tried out resogun as only had a min but sticks and o / x def working!

Keymappers for Marshmallow Custom Roms

So I've been using Tincore Keymapper but to be honest, it never really got a proper Marshmallow compatibility update, and hasn't had any love since Oct 2015. Being on a Marshmallow custom rom, I have to use Tasker to fiddle various settings on the fly to get round Tincore's hiccups with Marshmallow's increased security. For example, when my gamepad is connected, Tasker launches Tincore and turns on the Accessibility option for Tincore. Then if I enter any game where I'm actually going to use the gamepad, Tasker switches the default keyboard to the Tincore IME. Without this, I can't map key presses to buttons on the gamepad (mapping "back" to the start button is quite useful). Then if a non-game takes focus, Tasker switches the default back to my normal keyboard.
So Tasker is certainly picking up the slack (love Tasker) so these hiccups aren't a bother but it shouldn't have to. My question is, are there any viable alternative keymappers out there which play nice with Marshmallow or has anyone found ways to make Tincore behave better within Marshmallow. Would love to hear.
Also, I've heard there are apparently intents for Tincore. But can't find anything documented anywhere. If anyone knows anything about those, I would love to know.

P20 Pro Power Menu [★ROOT★] app/Tasker scene + other useful Tasker stuff

★★★Hey all! I'll start by assuming anyone reading this post is using a P20 Pro, on stock ROM, already familiar with Tasker AND rooted. If you have a P20 Pro and you're rooted, but have no experience with Tasker, I may still be able to lend some experience. But if you are not using a P20 Pro, or you are not already rooted, even if you're down with Tasker you'll have to figure out the first two somewhere else then come back here.★★★
Okay then. I love this phone. I mean [email protected]#king love it. My previous 2 phones were the unrootable Canadian variant LG G5 and the fragile as glass Sony Z2. Needless to say it's been a while since I've enjoyed all the splendors that come with a rooted phone and had a lot of catching up to do. You may have seen me recently poking around elsewhere asking questions like a noob as lots has changed since Chainfire dominated the su scene lol. Magisk is absolutely amazing once figured out, and as always I've been forever grateful to the helpful community here at XDA and wishing I had more to give back. So here's a small offering, however useful it may be to any of you. It's a simple app, built in Tasker, that allows to restart the system ui, perform a software reboot (fast reboot), full hardware reboot, shutdown, enable/disable ADB, enable/disable WIFI scanning even when off, and enable/disable the high volume headphone warning. I even included light and dark themes! Please keep in mind this was built in Tasker App Factory and I am not a programmer, so while I may be able to take requests to add more switches for hidden features I have no designs on improving the interface. I am also sharing the Tasker files for the task and scene I built for anyone ambitious enough that may want to modify them for themselves. You MUST be rooted for any of this app/task to work, but you do not need to install any additional plugins. All the commands are native in Tasker thanks to recent updates. Without further ado, may I present to you a very simple P20 Pro power/hidden features menu:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
The downloads are below. If you install the APK you don't need the Tasker files and vice versa. One or the other. I've also included my Tasker task for closing all recent apps with one touch. Again it requires no outside plugins, only root and the latest version of Tasker. I'm going to reserve the first few posts, I've got other Tasker profiles that are peculiar to this phone others may find useful such as Smart Unlock at home. I'll post that soon and maybe a few others. If anyone has useful Tasker tricks for the P20 they'd like to share please do so! I'll move the best ones up here to the first post. (if anyone actually reads this hahaha....)
Please uninstall any old versions before installing the update.
[UPDATE: App and Tasker files have been updated with options to reboot into bootloader or whichever recovery you currently have installed.]
[UPDATE 2: Improved the UI and cleaned up the routines, runs smoother and more reliable]
[UPDATE 3: Fixed broken reboot command, please install latest version from below]
[UPDATE 4: MAJOR UPDATE: Overhauled the UI, cleaned up more commands, added Model, Build Version and Uptime to main screen]
Smart Unlock via Tasker ★No Root★
As you've probably noticed, Smart Unlock is severely limited to only bluetooth pairings on the P20. I miss having the option to keep my phone unlocked when my WiFi is near so here it is, re-created in Tasker. How is this different from any other Tasker based Smart Unlock tutorials? It's not, but our P20 keeps track of time in milliseconds rather than seconds, so if you try entering 7200 for a 6 hour unlock your screen will still lock in less than 10 seconds. I went mad for a week trying to figure out why it wasn't working before I noticed the stock values had an extra three digits behind them. So for a 6 hour unlock, for instance, you would need to enter 7200000 not 7200. The files included below will default to instant locking when Smart Unlock is disabled or 12 hour unlocking when enabled. You can easily change this by changing the values in the appropriate task.
To make this work there are 3 profiles and 4 tasks to install. The first profile is simply a switch to determine if you are home or not. I use a separate profile for this as I also have other profiles that trigger when %HOME is set and it makes more sense to only have one profile active at a time than several lagging on system resources. There is a loitering time of 60 seconds in both the enter and exit tasks to ensure if you are on the edge of your connection the other profiles won't trigger erratically. Once the profile is imported you will have to replace 'Your WiFi goes here' in the WiFi field with your SSID(s). The next two profiles simply monitor the %HOME value for change and react accordingly.
The four task profiles are straight forward. Lock the phone instantly, lock in 12 hours, Smart Unlock on (with notification) and Smart Unlock off. You will need all 4 installed initially, though it is possible to migrate the lock commands into the Smart Unlock tasks if you wish. I keep them separate for simplicity in changing the times or to link them to other tasks.
To install simply import ALL of the files below into Tasker, replace the placeholder with YOUR WiFi, and enable the profiles. Use the Power Menu app from above to activate wifi scanning when turned off or the At Home profile will not work when your wifi is off. Alternatively you can enable 'toggle wifi' in the profile context but I've found that to interfere with downloads when using data connection. In Tasker preferences set the following:
- make sure to check the box for 'Run in Foreground'
- 'Use Reliable Alarms' should read 'when off'
- set 'Wifi Scan Seconds' to 90 or less (lower values eat more battery)
- and lastly set 'All Check Seconds' to 180 or less
I've found values above those numbers will result in slow Wifi polling and your phone may not lock for a long time when you leave home. With these preferences I find my phone usually locks within 3 minutes of leaving 'home' area.
That's it, enjoy wifi context based Smart Unlock on your new P20 Pro.
[UPDATE: I've consolidated all tasks into a single project file. Install this, set your wifi and it's ready to go]
More Tasker fun
Flick for Smart Remote
A very simple profile linked to the %HOME variable used in Smart Unlock. I use the remote function on this phone while I'm at home A LOT. This makes it convenient and fun. Whenever you're at home, the display is on and in portrait orientation simply flick your wrist in a crack the whip motion and you'll instantly switch to Smart Remote. The addition of the extra variables keeps this from triggering when you don't want it to, ie: not at home, it's in your pocket, or even if you drop it you won't lose your foreground screen unintentionally. If you want to use it differently simply switch the variables to your liking. I personally don't use Smart Remote, Anymote Smart Remote from the Play store has many more features and works fine with the P20 we just aren't a supported device. Also here's a link to the whip sound referenced in the task:
https://www.zedge.net/ringtone/99dd...tm_campaign=sharing#ZEDGE #notification_sound
Turn your P20 into a gaming console without switching your default launcher
Needed apps: GameBox Launcher, Ultimate Rotation Control (or any other rotation app that has a Tasker plugin), QuickTask, TouchTask
This is a bit of a hack that can really be done on any phone but works AMAZINGLY well on the P20. GameBox Launcher default is portrait orientation for the UI which annoys me, especially when I have my phone anchored in my gaming controller. This task will force sensor landscape using root, then load GameBox. You lose a bit of functionality in the apps menu, but the gaming menu turns into a proper banner style game launcher with gamepad navigation controls. It takes a few minutes to set up but makes my P20 feel as close to a handheld console as it gets. QuickTask is used to create a custom toggle in the Quick Settings menu, although the native Tasker toggle could be used...it just isn't as pretty. The toggle allows to switch between game mode and normal launcher mode. You could also place shortcuts for the launch and exit tasks on your home screen, same effect. Now why do I call this Game Mode instead of just a launcher hack?.....
The home button override profile will intercept home button presses, kill your home launcher (default in the profile is Nova Launcher) using root, and relaunch a fresh copy of GameBox Launcher as long as you are in Game Mode. It's essentially impossible to access your home launcher the normal way so keep that Exit Game Mode task or toggle handy, and this setting theoretically could survive a reboot so ALWAYS make sure to use the proper exit task. With the override profile enabled GameBox becomes your 'default' launcher without having to actually change your default, making it super simple to switch between games on the fly. When you're done activate the exit task; rotation will be restored to auto, GameBox is killed with root and your home launcher (again, the default in the task is Nova) is launched.
To Use:
- install all of the necessary apps and grant permissions
- import all of the 'Game Mode' profiles and tasks into Tasker.
- in QuickTask create a new tile called 'gamemode' and choose gamepad as the icon. Set this new tile somewhere accessible in your Quick Settings menu.
- create Tasker widgets linked to the launch and exit tasks on your home page.
If everything imported properly the new tile will become your Game Mode toggle and will enable/disable along with Game Mode. The links on the home screen are simply for secondary access. A screenshot of my P20 in 'Game Mode' is below:
Hello I did not succeed to install the app directly
I m rooted and I allowed the apk to be installed
Could you help please
xn3m said:
Hello I did not succeed to install the app directly
I m rooted and I allowed the apk to be installed
Could you help please
Click to expand...
Click to collapse
it install fine. what is the error message when it failed to install ?
otonieru said:
it install fine. what is the error message when it failed to install ?
Click to expand...
Click to collapse
Application not installed
xn3m said:
Application not installed
Click to expand...
Click to collapse
Try this version, I renamed the apk so it may have messed with the signature. If this doesn't work you'll have to try the Tasker files until I can rebuild the app. Cheers!
[EDIT: This is older version without bootloader or recovery but I will leave it up as an option]
otonieru said:
it install fine. what is the error message when it failed to install ?
Click to expand...
Click to collapse
Does it work fine for you after the install? Unfortunately I was only able to test the app on my phone but it should work properly for any P20 Pro on stock ROM. Thanks for trying it!
djparent said:
Does it work fine for you after the install? Unfortunately I was only able to test the app on my phone but it should work properly for any P20 Pro on stock ROM. Thanks for trying it!
Click to expand...
Click to collapse
I havent found the need to use it. Would be good if it actually offer to reboot into : recovery, bootloader, erecovery, etcetera.
System UI restart is useful though. Sometimes there's glitch with app UI and i dont want to do full reboot, and system UI restart is the option
otonieru said:
I havent found the need to use it. Would be good if it actually offer to reboot into : recovery, bootloader, erecovery, etcetera.
System UI restart is useful though. Sometimes there's glitch with app UI and i dont want to do full reboot, and system UI restart is the option
Click to expand...
Click to collapse
I didn't bother with recovery, bootloader etc as I use ADB for those. The intention for this was just a simple power off/reboot app without clutter or advertising but I'll consider adding those options soon as they may be useful. The Wifi scanning toggle should be particularly useful to anyone using Tasker with 'WiFi near' contexts. I couldn't find that switch anywhere in the Settings UI and with WiFi turned off the context won't trigger. So maybe that'll be helpful at some point lol? Also the 'high volume' headphone warning is annoying as hell, tap this once after each reboot and you'll see it no more.
otonieru said:
I havent found the need to use it. Would be good if it actually offer to reboot into : recovery, bootloader, erecovery, etcetera.
System UI restart is useful though. Sometimes there's glitch with app UI and i dont want to do full reboot, and system UI restart is the option
Click to expand...
Click to collapse
I've updated the app in the OP to include bootloader and recovery options. Thanks for the suggestion
Update: Power Menu V3
Major update! V3 is ready for daily use. I've cleaned up the godawful UI and added some information tidbits that may be useful to anyone experimenting with updates or rebranding and wants to easily check their current version. System uptime is also posted front and center so you know if it's time for a reboot. I'm not sure if this app needs anything else but if you'd like to see a new switch or button added please request in the thread and I'll give it consideration. Thanks to everyone who has dl'd and given feedback.
Remember to uninstall the old version before updating!
P20 pro unrooted
Is there any way to use tasker to disable mobile data? It used to work just fine on my old nexus 6p,but with my p20 pro when I try using the mobile data action, it shows it worked in tasker with the green dot, but mobile data status did not change.

[ROM][PX5][Oreo][8.0.0] Hal9k ROM 3 for MTCD/E head units with Android 8/6

Hal9k Mod v3.1.2​31.03.2019​
This version is deprecated. The new version is here
Firmware for platform MTCD-MTCE Rockchip PX5 1024x600 800x480 based on the latest official version of HA.
This is the further development of my Mod v2.x based on Android 7.
# Thanks AndroidAutoShop for the equipment provided for development.
# Everyone can now use the discount code "hal9k" for 25$ off your order!
If you want to know which firmware is the best, see the voting results here.
You can install this firmware on your radio, if in Settings > System > About machine >
The model starts with px5
The Android version starts with 8.0.
The MCU version starts with MTCD or MTCE. Then there can be any letters, two, three, four - it does not matter.
About machine example:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Or, if in Settings > About device >
The Android version starts with 6.0.
The Build number starts with px5
The chip version starts with MTCD or MTCE. Then there can be any letters, two, three, four - it does not matter.
About device example:
Also, to restore the radio, if something goes wrong, you should be able enter the recovery.
The main advantages and trends of development of this mod:
New features.
Correction of existing errors and imperfections of the stock.
Best responsiveness in comparison of the stock + the ability for the user to improve this indicator.
The customizability. All critical changes made on my taste, you can customize for yourself or do as it was in the stock.
All changes made directly in application code without the use of Xposed framework for best perfomance.
Stability.
The stock design.
The first boot takes less than one minute.
When switching from any other firmware it is necessary to wipe the user data!
If you are upgrading from a previous version, you do not need to wipe. But it is recommended if any problems arise.
If you install without wiping the data on top of the previous version, the first boot may take several minutes. Depends on the number of third-party applications.
But be sure to go to "Mod settings" to apply the default settings.
After installing or updating the firmware, the HU will reboot one more time to complete the installation of Magisk. Do not update Magisk. You will need to reinstall the firmware.
How to install the firmware ?
If you have Android 8 installed:
Download and unpack the archive from Download section. It is in the archive with the firmware.
Root access is not needed.
Install the ModInstaller.apk application on the HU, run it and click "Install".
HU will reboot in recovery.
If you do not have hardware buttons use the pin-hole reset button. Short press to browse, longer press to select.
You can also use a USB keyboard.
Insert the USB flash drive with firmware file update.zip into the USB connector of the radio. USB flash drive must be formatted in FAT32.
I recommend to take out all the other flash drives, SD cards, modems and other devices from the radio jacks.
Select the menu item "Apply update system" - "From usb storage"
The firmware will be installed.
(You can use the SD card for installation, but it will be much slower.)
Select the menu item "Wipe data / factory reset".
The user data will be cleared.
Select the menu item "Reboot system now".
The device will reboot in Android 8.
Learn more in the video
If you have Android 6 installed:
This method is also suitable for a full recovery of HU with Android 8 or 6 if it does not boot, including even in recovery.
Download and unpack the archive Hal9k_Mod_3.x_upgrade_to_Android_8.0.rar
Insert the SD card into the card reader. It is desirable to use a small card, 2-4-8 GB.
Run Rockchip SD_Firmware_Tool.exe on a convenient Windows PC with a Micro SD card reader/writer connected to it. You must run the application as Administrator.
You do not need to switch any settings. Everything is set up.
Click the "Firmware" button and select the file bootcard.img
Click the "Create" button, then "Yes" and wait until the message with the "Ok" button appears.
Close SD_Firmware_Tool.
Copy the sdupdate.img file to this card, replacing the existing one.
Remove the SD card from the card reader and insert into the HU in the GPS slot.
Now you need to completely reboot the HU. This can be done by pressing the RST (Reset) button with a paperclip etc.
If the HU does not reboot, then this button (or the Power button) must be held down until the buttons backlight flashes. Then release.
As a last resort, you can disconnect and reconnect the power cable.
When the message "Doing actions succeeded. Please remove the sdcard ..." appears, remove the SD card from the HU.
HU will reboot in recovery Android 8.
Insert the USB flash drive with the update.zip firmware file, which you can find in the archive from the “Download” section, into the USB connector of the radio. USB flash drive must be formatted in FAT32.
I recommend to take out all the other flash drives, SD cards, modems and other devices from the radio jacks.
Select the menu item "Apply update system" - "From usb storage"
The firmware will be installed.
(You can use the SD card for installation, but it will be slower.)
Select the menu item "Wipe data / factory reset".
The user data will be cleared.
Select the menu item "Reboot system now".
The device will reboot in Android 8.
Learn more in the video
Known problem: If you have a Bluetooth module MD725 type 2, it will not work in Android 8, although Android 6 works.
The reason is that from Android 8 its driver was removed.
How do you know if you have such a module?
On the first page of the factory settings in the BT item, MD725
The command getprop bt.md725.type, executed in the terminal, answers "2"
There is a solution by replacing the module.
If you have an old version of the MCU, I highly recommend upgrading to the current version: 2.93 or higher.
MTCE MCU can be installed instead of MTCD. (make sure the letters of the current MCU matches the one you flash!)
If you have questions about DAB+, please mention @zeMadCat.
If you want to help translate Mod into your language, please open this folder.
When you decide to place your translation in this folder, send me a personal message with your Google email. I will give you access.
If you think we need to translate other applications, write to me about it. I will add resources to the folder.
If you like my ROMs and you want to thank me, please consider making a donation. You can find the required details on my website or just click here.
Download:
Version 3.1 Google Drive
Commercial use of the ROM or its parts is prohibited.
Old versions
Version 3.0 Google Drive
Other launchers not included in the firmware. Installing by the replacement /system/priv-app/Launcher3_HA
List of changes:
Version 3.1.2 OTA-package
Added or corrected translations in different languages:
Thanks to:
de @maus05, @Toto1365
el @grigoris_a
it @tonimontoia
cs @Bugscze
hr @dankec2000
hu @didu73
nl @ZeroZorro
fr @mykerinos1
sv @kupa
es @segu45
Improved screensaver:
Made displaying covers for most third-party players and radio station icons for PCRADIO app.
For correct work, I recommend adding your players to the "List of applications that should not work simultaneously".
Made displaying recommendations when driving along a route for Yandex.Navigator, Yandex.Maps, Google Maps, Sygic GPS Navigation & Maps.
Made displaying temperature from Yandex.Weather, if the data on the temperature does not come from the CAN-adapter.
Now the screensaver is correctly displayed in 800x480.
While the screensaver is running, the stock volume control is no longer shown.
Added pop-up messages from BT Music and third-party media players. Third-party media players must be added to the appropriate list.
Added a list of applications that will work in immersive mode (full screen).
Made a separate list of navigation using TTS
Added the ability to assign the last launched navigation to the Navi button (to switch between navigation and player, for example).
By popular demand added custom parking lines. Thanks for Incognito+
Magisk updated to v18.1, Viper4Android updated to v2.7
Added new button codes to replace
OEM launchers with widgets can now be installed just all at once.
Much work has been done to ensure support for new basic firmware, although this is not visible from the outside.
Old versions
Version 3.1.1 OTA-package
Improved screensaver:
Made displaying information about the track being played for most third-party players.
The ability to customize the appearance of the screensaver: colors, background image, the maximum value for the speed indicator.
Swapped speed and volume indicators.
A short press on the screen power button now turns on the selected screensaver.
The Google application now calls via MTCDialer without additional settings.
You can muffle music by navigation application that play voice prompts through a speech synthesizer.
To use, you need to add the application to the "List of navigational applications that muffle other sounds" and select "Text-to-speech engine that muffle other sounds"
Replaced icons in the stock launcher and in the status bar.
Added the ability to call System UI Tuner from Mod Settings.
The timeout for mounting a memory card after getting out of sleep for a stock player is increased to 30 seconds.
Added the ability to replace new button codes for a joystick in a Mazda car.
Version 3.1
Magisk updated to v18.0. Solved the problem with the installation of modules.
A new screensaver has been added that displays the time and date, information from players (not only standard ones), volume level, speed, as well as temperature and voltage in the presence of this data.
To display the temperature, a CAN adapter is required, which displays the temperature in the status bar. And to display the voltage, the MCU is 2.93 and higher.
Many thanks to @zeMadCat for the graphics.
Added the ability to replace the codes of buttons located on the steering wheel and the front panel.
You can configure the actions that are performed when you press the buttons on the steering wheel, even if they are connected via a CAN adapter.
Added the ability to select a group of radio stations.
If you are traveling to another locality where other radio stations operate, you can select a different group and tune in the stations again.
And having come home, choose the default group again and your settings will be restored.
Solved the problem with a stock player that did not start playing tracks from a memory card after getting out of sleep.
Added a list of applications that have access to USB-devices. It allows you to get rid of the annoying request for access.
For fans of Taskers, the ability to assign numbers 1-9, 0, and the characters * and # to the steering buttons is added.
Intent = "com.microntek.report.event"
Extra "type" = "key"
Extra "value" = button code.
Added b-max script to reconnect freezing USB hubs.
Added the name of the artist in the A2DP application.
The name of the artist was added to the pop-up message from Music, and the frequency was added to the message from Radio.
Added an equalizer call for a long tap to the on-screen button of presets in Music.
Added the Home app (launcher choice) and Data usage (Network restrictions) items to Settings.
The checkbox "Switching folders in Music with buttons on the steering wheel" is removed, since now the buttons on the steering wheel can be customized.
Other minor changes to improve stability and usability.
Version 3.0
All interface changes are also made for screen resolution 800x480.
The firmware is completely re-odexed with optimization for the px5 processor.
The Mod settings are made in a separate application, also available from the "CAR" in the Settings app.
Removed the "red text", which appeared, if you flash not your MCU.
Preinstalled Magisk SU. Do not update. You will need to reinstall the firmware.
Added support for init.d
The default is:
English language and date format, time zone CET.
Watching video while driving - enabled
Bluetooth Password - 1234
Mixing level - 4
GPS time update - enabled
Navigation sound mode - mixing
Timeout of the screen saver - 1 minute, options added: 2 minutes, 10 and 30 minutes.
Added the ability to choose the speed at which the video will be blocked
Deny connection to data services in roaming.
Volume when reversing -4
Brightness of the screen at night - 20%
Unnecessary applications and files were deleted:
Open Wnn and GooglePinyinIME
Built-in Pico TTS speech synthesizer
WAP Push Manager
Corporate profiles
System tests
EasyConnected
Android live wallpapers (the ability to install your own Live wallpaper is left)
GPSTest replaced with GPS Test Plus
Google Maps, YouTube and Gmail has been moved from system applications to third-party applications. Now you can simply delete them in Settings if they are not needed.
Also, in third-party applications preinstalled Google Text-to-speech Engine. Speech synthesis works without connecting to the network.
Synchronization of Contacts and Calendar is added.
Time Zones updated to the latest version.
The built-in Contacts application is enabled.
Allowed to install applications not from the Play Market.
The Daydream functionality is enabled. This allows you to install any screensaver from the Play Market without stopping at one.
By default, the Clock screensaver from Android is selected. Color can be changed.
Any third-party screensaver is turned off under the same conditions as the standard one (touching the screen, switching cameras, etc.)
Android screensaver can be turned off, then the standard screensaver will work.
In the Bluetooth application, the name field is enlarged in the phone book. Added the recognition of the OBD adapter based on the settings so that the system distinguishes them from the phones and works with them correctly.
It is necessary, if your adapter does not have the letters OBD in the name.
In the Video application, the playlist is enlarged.
Repeat is disabled by default.
In the Music application, the playlist is enlarged and the repeat is disabled by default.
Instead of a spinning plate, a square fixed cover is made,
the player is paused for an incoming call and the Mute button is pressed.
Radio - the running RDS text has been removed from the saved stations buttons. Now we can assign names to saved stations.
Fixed Bluetooth.
Now normally works those diagnostic programs that previously wrote that Bluetooth is turned off, offered to turn it on and hang up.
Programs automatically detect a previously paired adapter.
The on-screen power menu button in the status bar is made.
Single click to turn on the screen saver.
Double click to make a screenshot.
Triple click to kill the active application.
Long press - power shutdown menu.
Added items in the shutdown menu : Restart, Safe mode, Recovery mode, Lock now
Added the ability to change the ringtone to any in the ringtones folder (only for the MD725 Bluetooth module)
Added the possibility of increasing TTL by default to bypass restrictions on the distribution of Internet from mobile devices.
Added a white list of applications that do not close when going to sleep, with the ability to configure.
The number on the volume control is increased and made white.
Added hidden item "Developer options" in settings.
The Status item is added in Settings - System - About machine.
Added the ability to disable some statusbar elements.
By default, the Home button, the Volume, Eject and Brightness icons are disabled. The Back button is moved from right to left. Everything can be configured in Mod settings, as it was in the stock or in another way.
The possibility of OTA-updates is added.
Added the ability to lock device as a regular Android device.
The lock is turned on after rebooting or exiting from sleep.
You can also turn on the lock after the Android screensaver has triggered or manually from the shutdown menu.
Sorting in alphabetical order case insensitive of all lists in players is done.
Added pop-up messages showing information about the current radio station and music file. It is possible to set the font size and the duration of the messages.
The audio player goes to the next folder in the list after the playing the last file in the current folder in the sequential play mode.
Added a request for a name for the button of the stored radio station.
Added the ability to choose from eight screensavers. Pictures here.
Added the ability to turn on/off the fullscreen keyboard.
Added the ability to turn off the restarting applications that worked before going to sleep.
In the application "Wheelkey Study" added actions "turn off the screen backlight", "recent applications" and "F-Cam application".
In third-party applications preinstalled "sound improver" ViPER4Android FX by @Team_DeWitt.
In the OEM folder - added 6 launchers and their widgets (AY, GS, HCT2, HCT3, KGL, ZH). How to install and choose a launcher?
Run the ApkInstaller application, Install > OEM > AY (for example) > install Launcher3AY.apk > ... > done.
Press Home - the query "Use Laucher3 as Home" appears, and below it is written "Launcher3AY".
Choose "Launcher3AY" and click "Only now" or "Always". In the latter case, this question will no longer be, a new launcher will always be used.
Unfortunately, Android 8 does not allow third-party applications to automatically create widgets.
Therefore, if there is a desire to install widgets from some launcher, we do this:
We put APK widgets and launcher. Add any widget and give permission (see screenshot).
Then remove the launcher and install it again. Or clear the launcher's data.
In audioplayer - added a jump to the previous / next folder on the seekdown / seekup steering wheel buttons and a on the long tap to the prev / next screen buttons.
Added folder name display to the pop-up message when switching between folders.
Made a list of navigational apps that muffle other sounds when playing voice prompts.
The list should include all navigation applications, including the one that is set by default to the Navi button.
Added the ability to hide storage icons in the statusbar.
Made a list of applications that allow the screen saver to be started.
You can add a third-party launcher or player to it, for example.
Added the ability to switch tracks in third-party players using the steering wheel buttons for owners of CAN-adapters for Mercedes cars, etc.
Made a list of applications that are restarted after sleep.
I included the PCRadio application in it. Now it always starts playback correctly after exiting sleep, if it was started when HU go to sleep.
In PCRadio's settings, you must enable the "Resume playback when application starts" switch. Also it is necessary to remove it from the whitelist if it was added to it.
Added a volume control in the style typical for AV equipment from the 7floor module
Added the ability to display the volume control at the top, middle or bottom of the screen.
Added the ability to adjust the time during which the volume control remains on the screen after changing the volume value.
Added the ability to list applications that should not work simultaneously.
This list is an extension of the corresponding system list. So only third-party applications should be included in this list.
If one of the applications included in this list is launched, then the rest are closed.
That is, for example, if you include PCRadio to this list, then it will close when you start the stock Music or Radio. And vice versa.
Added the ability to move the statusbar to the bottom of the screen. (Experimental option.)
Changed the logic of the name request for the button of the stored radio station.
If the name for the stored frequency is not specified earlier, text from the RDS is suggested.
Added ability to edit the list of applications in the carousel that are switched with the Mode button.
Added the ability to replace applications that run instead of stock. You can have your radio button launch PCRadio etc.
Added speed dependant volume control.
Added color selection in the HCT screensaver
Added a modified MTCDialer from @f1x that works on this firmware.
Other changes aimed at improving stability.
Ideas of some improvements are taken from the module xposed-mtce-utils and other modules with the permission of the author, MVG-V70. For which I thank him very much.
But they are implemented without using the Xposed framework.
EasyConnected from the stock ROM
Backlight autolevel (brightness control on GPS time)
Internet Speed Meter StatusBar Widget
Autostart some apps just after the boot
Version 3.0 screenshots
Version 3.0 screenshots
Version 3.1 screenshots
This is great news Hal9k_
Last month I got a replacement PX5 SoM from Witson and had to rebuild my whole system. What a pain that was, especially all the iGo maps for the entire USA. I'm away from my head unit for a while but when I get back to it I'll be sure to check out your new ROM.
Thanks for the work on this.
Mike
What i have to do, when i have malaysk android 8 v1 installed at the moment?
michael08071984 said:
What i have to do, when i have malaysk android 8 v1 installed at the moment?
Click to expand...
Click to collapse
Have you considered trying OP or revert to factory first?
michael08071984 said:
What i have to do, when i have malaysk android 8 v1 installed at the moment?
Click to expand...
Click to collapse
Just install ModInstaller.apk, reboot into the recovery and install update.zip with wipe.
According to section "If you have Android 8 installed" of the installation instructions.
Thanks. just wanted to be sure, through the moded boot from malaysk. Dont want to brick the Unit.
Thank you.
Hal9k_ said:
Just install ModInstaller.apk, reboot into the recovery and install update.zip with wipe.
According to section "If you have Android 8 installed" of the installation instructions.
Click to expand...
Click to collapse
Great news, @Hal9k_ !!
Yes, please if someone could provide the exact procedure of migrating from Malaysk 2 to Hal9k Rom, actually, the right question is: Is it possible to migrate without wiping of user data?
I suppose that majority have Malaysk at the moment and Hal9k rom (on the paper) sounds better!
dankec2000 said:
Yes, please if someone could provide the exact procedure of migrating from Malaysk 2 to Hal9k Rom, actually, the right question is: Is it possible to migrate without wiping of user data?
I suppose that majority have Malaysk at the moment and Hal9k rom (on the paper) sounds better!
Click to expand...
Click to collapse
Edit. read that wrong.
dankec2000 said:
Yes, please if someone could provide the exact procedure of migrating from Malaysk 2 to Hal9k Rom, actually, the right question is: Is it possible to migrate without wiping of user data?
I suppose that majority have Malaysk at the moment and Hal9k rom (on the paper) sounds better!
Click to expand...
Click to collapse
You can try to migrate without wipe. Just skip wipe data paragraph.
But I have not test this case.
zeMadCat said:
Malaysk 2 is for PX3 [5.1.1/7.1.2] chipset. this is for PX5[6.0.1/8.0.0], so the only way would be swapping the SOM board to a PX5.
Click to expand...
Click to collapse
Wrong. Malaysk 2 exists for PX5 also. (see here: https://forum.xda-developers.com/an...-malaysk-roms-px5-2-4-gb-8-0-android-t3762724)
dankec2000 said:
Wrong. Malaysk 2 exists for PX5 also. (see here: https://forum.xda-developers.com/an...-malaysk-roms-px5-2-4-gb-8-0-android-t3762724)
Click to expand...
Click to collapse
yes my bad. i thought it said Hal9k 2.0
Hal9k, did you include cs-x Sound Patches into your Rom?
dankec2000 said:
Hal9k, did you include cs-x Sound Patches into your Rom?
Click to expand...
Click to collapse
this needs to be flashed on its own. its a full MCU update. and there are multiple (GS,HA,LM,MX etc.) so it cannot be included in a ROM.
zeMadCat said:
this needs to be flashed on its own. its a full MCU update. and there are multiple (GS,HA,LM,MX etc.) so it cannot be included in a ROM.
Click to expand...
Click to collapse
Thanks.
just flashed it on my PX5 over old 6.x ROM
It runs nice and fluid, thank you for that nice rom.
I ask to leave feedbacks on new features.
@ eter711,
is the ROM rooted and you have to install at the MTCDialer Google Contacts or syncronized the dialer with the Bluethooth App.

Categories

Resources