Having purchased the nvidia shield back at launch, one of the main things that bothered me about it's design was the lack of a few buttons, namely a menu button and select button, instead we got a button that opened nvidia's tegra zone, something easily accessible from a launcher and a volume button which again wasn't something I needed to constantly access.
So i ended up editing some of the .kl files and using an xposed tweak called gravity box to tune things a bit
I changed the nvidia button to act as a menu button with the .kl files, and the volume button to act as a select button
with gravity box i changed the menu button's long press function to call up the power menu to restore that function to how the shield comes, and set the back button when long pressed to call up the volume control
also keep in mind if you don't use xposed with gravity box to tweak the keys after they've been changed you will have difficulty shutting down the shield properly as the nvidia button of course acts as the power button when held down longer, it of course still powers up the device either way, and will hard power the device off if held for several seconds, still setting up gravity box feels like the best way
now for the moga controller, while you can make it function in a usable state with tincore or game keyboard, and in fact those both still come in very handy for touch emulation, I didn't want to always have those apps running when i wanted standard button presses, when the controller would go to sleep it would take time to get re detected so i wanted a little more convenience, I think this also should make it work with the built in console mode touch emulation, though I haven't tested that
the HID mode on it would have the select button as a back button, and the shoulder buttons didn't seem to work unless an app specifically supported the controller
So i added a few .kl files for that as well, not sure which of the 3 gets called as they're all duplicates in function, but presumably the device ID one should be the default, but i added the other 2 in case it doesn't for some reason
these .kl files should be put in /system/usr/keylayout
root is required and obviously backup the files that get replaced for the shield, the moga ones should not have existing files and match the permissions to the other files that're in the folder
I've tested these moga files on an LG phone on 4.2.2 and the shield on 4.3
I've included a backup of the original files for 4.3 for the shield in the zip, but no idea if they'd be different under Kitkat though I don't see why they would be
So i ended up editing some of the .kl files and using an xposed tweak called gravity box to tune things a bit
I changed the nvidia button to act as a menu button with the .kl files, and the volume button to act as a select button
with gravity box i changed the menu button's long press function to call up the power menu to restore that function to how the shield comes, and set the back button when long pressed to call up the volume control
also keep in mind if you don't use xposed with gravity box to tweak the keys after they've been changed you will have difficulty shutting down the shield properly as the nvidia button of course acts as the power button when held down longer, it of course still powers up the device either way, and will hard power the device off if held for several seconds, still setting up gravity box feels like the best way
now for the moga controller, while you can make it function in a usable state with tincore or game keyboard, and in fact those both still come in very handy for touch emulation, I didn't want to always have those apps running when i wanted standard button presses, when the controller would go to sleep it would take time to get re detected so i wanted a little more convenience, I think this also should make it work with the built in console mode touch emulation, though I haven't tested that
the HID mode on it would have the select button as a back button, and the shoulder buttons didn't seem to work unless an app specifically supported the controller
So i added a few .kl files for that as well, not sure which of the 3 gets called as they're all duplicates in function, but presumably the device ID one should be the default, but i added the other 2 in case it doesn't for some reason
these .kl files should be put in /system/usr/keylayout
root is required and obviously backup the files that get replaced for the shield, the moga ones should not have existing files and match the permissions to the other files that're in the folder
I've tested these moga files on an LG phone on 4.2.2 and the shield on 4.3
I've included a backup of the original files for 4.3 for the shield in the zip, but no idea if they'd be different under Kitkat though I don't see why they would be
Attachments
Last edited: