This might sound strange, but I'd need a program for WM5 Smartphones that can be called by a symbolic link (*.lnk) that I'd assign to a HW key and that does not do anything, just immediately returns without even switching the display. Does anyone have a crazy thing like that?
Thanxx, Mixx
PS: I am not totally crazy. I just have an HTC Excalibur (but the O2 XDA Cosmo version) that has a HW key for the Internet Explorer. I need to hijack that key, because I need to have a way to enter accented characters and I refuse to pick them from a huge table with the cursor. I managed to use AEKeymap, but if I use the current IE-key to switch to accented, it will first call the IE and only when I return (by e.g. ESCAPE) does it put down the right symbol. I figure, if I remap that key to this "does-nothing-app" (and I know how to use SHORT_IE.lnk), I'll be OK.
Currently I hijack the Messaging key for this purpose. That has the same problem, but if I am in an Email or SMS, it is no harm that it jumps to Messages (ends up where it started from, since I am in that app already). Thus I can have accented character in Emails, but not in any other application.
Nobody could help so far, but I am just too stubborn. This must be a solvable problem.
Some wrote just what you want:
http://www.pocketpcfreeware.com/en/index.php?soft=382
Wonderful, wonderful, thanks a million.
Works exactly as I described above.
Thanxx, Mixx
Pretty simple little request here ... I'd like a small application that, when executed, closes (actual close, not smart minimize) the foreground window.
I looked around and couldn't find a stand-alone application that would accomplish this.
Keeping in line with my two other tiny key senders that perform two very simple functions (hit the ok/close button and open the start menu), I went about creating my own little application to do what I'm trying to do using destroyWindow. Unfortunately, destroyWindow seems to causes big problems on certain windows (looks like any children of Shell32).
My solution to that was to call DestroyWindow on any window that didn't register as from Shell32 and send the OK/Close virtual key for any window that did. This doesn't seem to work either.
Is anyone willing to write a small stand alone native app to perform this function?
EDIT: Post #3 has ZapIt!, a 5k app that does exactly what I've asked for; however I would still like to see how this might be done programmatically. Any developers wanna take a crack at it?
lotion said:
Pretty simple little request here ... I'd like a small application that, when executed, closes (actual close, not smart minimize) the foreground window.
I looked around and couldn't find a stand-alone application that would accomplish this.
Keeping in line with my two other tiny key senders that perform two very simple functions (hit the ok/close button and open the start menu), I went about creating my own little application to do what I'm trying to do using destroyWindow. Unfortunately, destroyWindow seems to causes big problems on certain windows (looks like any children of Shell32).
My solution to that was to call DestroyWindow on any window that didn't register as from Shell32 and send the OK/Close virtual key for any window that did. This doesn't seem to work either.
Is anyone willing to write a small stand alone native app to perform this function?
Click to expand...
Click to collapse
Hi,
It has been done before. I use this little app since WM2003se.... Not being updated anymore though. Maybe contact the developer somehow ?
Dirk
dirlan2001 said:
Hi,
It has been done before. I use this little app since WM2003se.... Not being updated anymore though. Maybe contact the developer somehow ?
Dirk
Click to expand...
Click to collapse
Thanks for the response, Dirk. Unfortunately, at 172k, that sort of goes beyond what I had meant as a tiny application.
I just looked at my thread with the two other senders I put together, and someone linked to an article that mentioned ZapIt!. I tracked it down and it does exactly what I was requesting (I've attached it to this post).
However I am still curious as to how this might be accomplished programmatically.
lotion said:
Thanks for the response, Dirk. Unfortunately, at 172k, that sort of goes beyond what I had meant as a tiny application.
I just looked at my thread with the two other senders I put together, and someone linked to an article that mentioned ZapIt!. I tracked it down and it does exactly what I was requesting (I've attached it to this post).
However I am still curious as to how this might be accomplished programmatically.
Click to expand...
Click to collapse
Hi,
You're welcome. tMan does much more as just closing apps. Besides 172 kb isn't the world, is it ? Or do you have one of these good old iPAQs with just 32MB rom/ram
Dirk
Rebranded to WP8 Registry Tools from Lumia Registry Modifier
This is a basic registry viewer/editor demonstration using Registry dlls pulled from Nokia xaps within the latest FFUs.
First, a few things to note.
1) This only retrieves values from HKEY_LOCAL_MACHINE
2) It CAN read DWORD values now, but can't write. (Hell you probably won't be able to write ANYWHERE, but the code is there)
Instructions are quite simple.
To Read Values:
1) Put the Registry key in the first box (ex. SOFTWARE\Classes\MIME\Database\Codepage\1254
2) Put the Registry Value in the second box (ex. 1254)
3) Press Get Value.
To Set Values:
1) Put the Registry key in the first box (ex. SOFTWARE\Classes\MIME\Database\Codepage\1254
2) Put the Registry Value in the second box (ex. 1254)
3) Put the new registry value result in the Set Value box.
4) Press Set Value.
This is very very basic, but I wanted to just show off something using what Nokia has provided us.
We can't write dword values unfortunately so hopes of using this to change the MaxUnsignedApp value are lost. This MAY be possible with @GoodDayToDie 's WP8NativeAccess library, but with this it isn't.
In case everyone wondered what that key is... SOFTWARE\Microsoft\DeviceReg\Install
Side load away
Hmm... I get Access Denied in my library on most keys that I've tried to write. If you can write the codepage, that's interesting (generally speaking, HKLM has stronger protections). I'll double-check whether I can write there myself. If not, but you can, then we have an elevated privilege attack vector...
Also, we should see whether the app runs on non-Nokia devices. I suspect that it will, if it works the way I think it does, but in that case it also won't have much in the way of permissions.
Getting DWORDs to work is a good project, I'm sure it's possible (works fine in NativeAccess, incidentally).
EDIT: Any chance you could include the source?
snickler said:
This is a basic registry viewer/editor demonstration using Nokia's Native Registry dll pulled from one of their apps.
First, a few things to note.
1) This only retrieves values from HKEY_LOCAL_MACHINE
2) DWord values aren't supported.
Instructions are quite simple.
To Read Values:
1) Put the Registry key in the first box (ex. SOFTWARE\Classes\MIME\Database\Codepage\1254
2) Put the Registry Value in the second box (ex. 1254)
3) Press Get Value.
To Set Values:
1) Put the Registry key in the first box (ex. SOFTWARE\Classes\MIME\Database\Codepage\1254
2) Put the Registry Value in the second box (ex. 1254)
3) Put the new registry value result in the Set Value box.
4) Press Set Value.
This is very very basic, but I wanted to just show off something using what Nokia has provided us.
This doesn't seem to work with dword values unfortunately so hopes of using this to change the MaxUnsignedApp value are lost. This MAY be possible with @GoodDayToDie 's WP8NativeAccess library, but with this it isn't.
In case everyone wondered what that key is... SOFTWARE\Microsoft\DeviceReg\Install
Side load away
Click to expand...
Click to collapse
atleast its a start.
GoodDayToDie said:
Hmm... I get Access Denied in my library on most keys that I've tried to write. If you can write the codepage, that's interesting (generally speaking, HKLM has stronger protections). I'll double-check whether I can write there myself. If not, but you can, then we have an elevated privilege attack vector...
Also, we should see whether the app runs on non-Nokia devices. I suspect that it will, if it works the way I think it does, but in that case it also won't have much in the way of permissions.
Getting DWORDs to work is a good project, I'm sure it's possible (works fine in NativeAccess, incidentally).
EDIT: Any chance you could include the source?
Click to expand...
Click to collapse
ah yes, sorry about that. Let me load up my laptop
EDIT: Source added.
Hi I found the Registry item
(File path : <ffu>\Windows\Packages\RegistryFiles\SOFTWARE.REG)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\KindMap
where we can set extensions and their types.so is it possible to add a new extension so that it will also be supported and visible in sdcard ?
vivekkalady said:
Hi I found the Registry item
(File path : <ffu>\Windows\Packages\RegistryFiles\SOFTWARE.REG)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\KindMap
where we can set extensions and their types.so is it possible to add a new extension so that it will also be supported and visible in sdcard ?
Click to expand...
Click to collapse
It doesn't support creating new key values, only modifying existing ones. If the data is within one key value and it's able to be read, then it should be able to have things added to it.
EDIT: From what I've seen, what you're trying to do won't be possible with this. Each extension has a different key value.
We may need to start an "interesting registry values" thread here, similar to the one for WP7. Of course, it'll be more interesting if we can actually change any of them.
Oh, and the app works on my ATIV S, just by the way. Need to find some interesting paths to test it on, though.
EDIT: Have you been able to write to *any* values using this? It fails for me every time, but I haven't tried that many yet.
GoodDayToDie said:
We may need to start an "interesting registry values" thread here, similar to the one for WP7. Of course, it'll be more interesting if we can actually change any of them.
Oh, and the app works on my ATIV S, just by the way. Need to find some interesting paths to test it on, though.
EDIT: Have you been able to write to *any* values using this? It fails for me every time, but I haven't tried that many yet.
Click to expand...
Click to collapse
it has failed for me also. The only values I could write to were the ones that corresponded to Nokia. I'll look through the code again and make another update. I'm going to also rebrand it since it works for non Lumia phones.
Interesting about the Nokia paths working. That could be some characteristic of the DLL you use having better permissions or something specific to OEM stuff, but I actually suspect it's just that Nokia didn't bother to lock down the ACLs on their parts of the registry. You can easily adapt the app to my NativeRegistry class to test this, if you want.
Hmm that's a good idea. I just rebranded it to WP8 Registry Modifier. I'll add in your NativeRegistry class to work along with the RegistryRT class to see what comes about.
DWORD support
For DWORD support, take a look at the Nokia.SilentInstaller.Runtime.wim... The "CSilentInstallerRuntime" class contains multiple methods to interact with the registry including:
CreateKey
GetRegDWORDValue
GetRegSZValue
GetRegSZValueL
IsRegistryDWORDValueExists
IsRegistryKeyExists
IsRegistryREGSZValueExists
SetRegDWORDValue
SetRegSZValue
A bit off topic, I found a way to launch any URI... Literally, ANY URI (app:// http:// or anything). I can launch any application (using the GUID - so it must be a registered application but doesn't have to be one that you see in your programs list) and go to a specific page within that application. I can also pass any kind of query string that could unlock some hidden features in an application (such as the Extras+Info application - I can launch it using any dial string even though my ROM has that particular dial string disabled). I do so by launching a Toast message which allows me specify a launch uri and once it pops up, I click it. If anyone's interested, I can post a code sample for that...
@GoodDayToDie I'm able to read DWORDs with your NativeRegistry framework. I haven't been able to write though (I've only looked at the MaxUnsignedApp reg value).
What I think I'm going to do is possibly scrap the RegistryRT framework and just use yours. I can then make an even more robust app.
cpuguy said:
For DWORD support, take a look at the Nokia.SilentInstaller.Runtime.wim... The "CSilentInstallerRuntime" class contains multiple methods to interact with the registry including:
CreateKey
GetRegDWORDValue
GetRegSZValue
GetRegSZValueL
IsRegistryDWORDValueExists
IsRegistryKeyExists
IsRegistryREGSZValueExists
SetRegDWORDValue
SetRegSZValue
A bit off topic, I found a way to launch any URI... Literally, ANY URI (app:// http:// or anything). I can launch any application (using the GUID - so it must be a registered application but doesn't have to be one that you see in your programs list) and go to a specific page within that application. I can also pass any kind of query string that could unlock some hidden features in an application (such as the Extras+Info application - I can launch it using any dial string even though my ROM has that particular dial string disabled). I do so by launching a Toast message which allows me specify a launch uri and once it pops up, I click it. If anyone's interested, I can post a code sample for that...
Click to expand...
Click to collapse
I was actually looking at the SilentInstaller not long ago. I got sidetracked by the fact that I could use the NativeRegistry read DWORD values. I'll check that out and upload a new build in a few
GoodDayToDie said:
We may need to start an "interesting registry values" thread here, similar to the one for WP7. Of course, it'll be more interesting if we can actually change any of them..
Click to expand...
Click to collapse
I can write one up later. I have several registry keys that I'd like to bring attention to.
NOTE: I don't see anything editable yet, at least I can read it to compare it to the files in the ffu.
Launching a URI should be possible more directly than that, using ShellExecute, or similar, but that way is cool (and doesn't require importing unofficial native functionality).
Just a word of warning: NativeRegistry is under heavy modification. I hope to have the next Alpha release done soon, which brings a ton of changes, but in the meantime you might want to follow the changes on CodePlex; while I test every build that I push, I don't always publish the binaries.
There will be two ways to use the registry through NativeAccess soon: one is to use fairly thin wrappers around the native functions (that's mostly what's implemented now, but it will be expanded to include key and value enumeration, key creation, etc.), and the other is to use a class more akin to a .NET RegistryKey class, offering the ability to interact in a more object-oriented manner (where the object itself represents an open key).
Something I did notice when I tried to compile the NativeRegistry source (I just ended up using the binary you had for my testing) is that it kept blowing up on the include for WinReg.h. I don't have that anywhere. Am I missing something?
snickler said:
Something I did notice when I tried to compile the NativeRegistry source (I just ended up using the binary you had for my testing) is that it kept blowing up on the include for WinReg.h. I don't have that anywhere. Am I missing something?
Click to expand...
Click to collapse
I'm not sure how GoodDayToDie did it himself (probably same approach I take it) but I compiled it using the "WinReg.h" from the Windows 8 SDK and removing the desktop-only compiler "if" instruction (lines 49 and 1446). And like he mentioned, you also have to create the KERNALBASE.LIB with the required registry export functions for the linker.
cpuguy said:
I'm not sure how GoodDayToDie did it himself (probably same approach I take it) but I compiled it using the "WinReg.h" from the Windows 8 SDK and removing the desktop-only compiler "if" instruction (lines 49 and 1446). And like he mentioned, you also have to create the KERNALBASE.LIB with the required registry export functions for the linker.
Click to expand...
Click to collapse
Ah ok, thanks!
cpuguy said:
A bit off topic, I found a way to launch any URI... Literally, ANY URI (app:// http:// or anything). I can launch any application (using the GUID - so it must be a registered application but doesn't have to be one that you see in your programs list) and go to a specific page within that application. I can also pass any kind of query string that could unlock some hidden features in an application (such as the Extras+Info application - I can launch it using any dial string even though my ROM has that particular dial string disabled). I do so by launching a Toast message which allows me specify a launch uri and once it pops up, I click it. If anyone's interested, I can post a code sample for that...
Click to expand...
Click to collapse
Yes, please post your code and give yourself your own thread (at least keep it here in development ). There are a lot of underlying dialer codes that Nokia disabled when flashing the 928s. Also this could mean we could have a custom app launcher, if you wanted to customize it that way. Most of the work we have done on WP8 has occurred in the past few months; we are finally getting so close to the first InteropUnlock for Nokia/WP8.
Sent from my RM-860 (Lumia 928) using the OFFICIAL Tapatalk app.
I'm trying to figure out the correct method prototype (since this is a method that appears to be WinPhone only and isn't part of the SDK so, no details on it whatsoever)... I stumbled upon this toast functionality in "NokiaFrameworkOBAWinPRT.dll" under the "DevPropHelper" class. The method to call is "InvokeToast". This method ends up calling "Shell_PostMessageToast" in "ShellChromeAPI.dll" (this is what I'm trying to invoke directly without going through the Nokia dll).
Add a reference in your project to "NokiaFrameworkOBAWinPRT.winmd" (you can find this in newer versions of the Extras+Info app)
Add the necessary <InProcessServer> tag (to allow the "NokiaFrameworkOBAWinPRT.DevPropHelper" class) in the <ActivatableClasses> section of you WMAppManifest.xml file
In the code... Create an instance of "NokiaFrameworkOBAWinPRT.DevPropHelper"
In the code... Call the "InvokeToast" method (of the previously created object) passing it:
Application GUID (can be your local app's GUID - doesn't seem to matter)
URI to launch in string format
Toast title (can be anything)
Toast content(can be anything)
When the Toast notification pops up, click on it and that's it.
Hiya Everyone,
I've just rooted my Nook Simple Touch and have it all working from a USB keyboard which is great!
I really need the Nook as my unit has no mains electricity and I use solar panels instead which can be difficult at times as they are mounted in the window and are facing the wrong way really but it is what it is. I know everyone is alarmed at the amount of power it uses when in USB mode but it's nothing compared to the 5 watts my DAB radio pulls! To be honest it's even at lot less than the 1.5watts of the LED light!
Anyway it's basically great but I want to get it working as well as I can for my application.
I'm using a new text editor from F-Droid called Text Warrior:
https://f-droid.org/repository/brow...com.myopicmobile.textwarrior.android&fdpage=4
It's the best text editor I've found for the Nook so far and it's also a GNU application with source code!
If you havn't already checked out the F-Droid stuff I really recommend it as a lot of the apps there work on the Nook and it can be hard to find stuff for the earlier versions of Android.
Anyway that's my setup. What I'm wondering is if it's possible to assign keys on my USB keyboard to do different things and how I would go about doing that? For instance it might be cool if I could use the Esc key as a back button or the extended win keys menu key as an android menu button and things like page up and page down etc. How could I go about setting the keys up for different functions? Anyone have any idea?
Freya
FreyaBlack said:
Hiya Everyone,
I've just rooted my Nook Simple Touch and have it all working from a USB keyboard which is great!
I really need the Nook as my unit has no mains electricity and I use solar panels instead which can be difficult at times as they are mounted in the window and are facing the wrong way really but it is what it is. I know everyone is alarmed at the amount of power it uses when in USB mode but it's nothing compared to the 5 watts my DAB radio pulls! To be honest it's even at lot less than the 1.5watts of the LED light!
Anyway it's basically great but I want to get it working as well as I can for my application.
I'm using a new text editor from F-Droid called Text Warrior:
https://f-droid.org/repository/brow...com.myopicmobile.textwarrior.android&fdpage=4
It's the best text editor I've found for the Nook so far and it's also a GNU application with source code!
If you havn't already checked out the F-Droid stuff I really recommend it as a lot of the apps there work on the Nook and it can be hard to find stuff for the earlier versions of Android.
Anyway that's my setup. What I'm wondering is if it's possible to assign keys on my USB keyboard to do different things and how I would go about doing that? For instance it might be cool if I could use the Esc key as a back button or the extended win keys menu key as an android menu button and things like page up and page down etc. How could I go about setting the keys up for different functions? Anyone have any idea?
Freya
Click to expand...
Click to collapse
You can easily change what your keyboard keys do in the file /system/usr/keylayout/qwerty.kl. I personally use a very good modified one by Renate with a few of my own modifications.
Thanks so much Nookie! That looks great! I will try and install it today.
I'm also running the Nookie terminal emulator BTW which I think must be something to do with you?
Right off to give it a go!
Freya
FreyaBlack said:
Thanks so much Nookie! That looks great! I will try and install it today.
I'm also running the Nookie terminal emulator BTW which I think must be something to do with you?
Right off to give it a go!
Freya
Click to expand...
Click to collapse
It might. I did make a few modifications to the original Terminal Emulator and probably put it up for download somewhere here on the forums. What's the package name (/data/app)?
How'd the .kl installation go for you?
I discovered Noogie and after a lot of messing about I managed to get the qwerty.kl installed and working quite well.
Sadly it seems it's not going to be easy to reprogram for a UK keyboard though as you can only reprogram entire keys and not their shifted states.
In the UK the @ and " symbols are swapped with one another but on the upside the # key now does a # so that's nice.
I'm going to get used to the USA keyboard layout and be driven nuts when I switch back to a UK keyboard again!
I'm sure the terminal emulator must be your version as it has nookie in the filename.
Freya
FreyaBlack said:
I discovered Noogie and after a lot of messing about I managed to get the qwerty.kl installed and working quite well.
Sadly it seems it's not going to be easy to reprogram for a UK keyboard though as you can only reprogram entire keys and not their shifted states.
In the UK the @ and " symbols are swapped with one another but on the upside the # key now does a # so that's nice.
I'm going to get used to the USA keyboard layout and be driven nuts when I switch back to a UK keyboard again!
Freya
Click to expand...
Click to collapse
Hmmm. I see your point, and it's a good one, indeed. Tell you what - I'll work on it this week and tell you if I come up with anything by Sunday night. Sound good?
FreyaBlack said:
In the UK the @ and " symbols are swapped with one another...
Click to expand...
Click to collapse
See http://forum.xda-developers.com/showpost.php?p=59922517&postcount=406
Thanks Renate,
I ended up sitting in a hotel room with a hex editor but I got it to work and have since spent quite some time on Solar with the Nook.
Thanks again for your help with that!
Now I'm back to civilisation for a while and I'm wondering if it is possible to get the cursor keys to work properly too.
They don't seem to move up and down and side to side in the text in the way I would expect!
Is it possible to fix that as well or is that just an android feature!
Freya
FreyaBlack said:
Thanks Renate,
I ended up sitting in a hotel room with a hex editor but I got it to work and have since spent quite some time on Solar with the Nook.
Thanks again for your help with that!
Now I'm back to civilisation for a while and I'm wondering if it is possible to get the cursor keys to work properly too.
They don't seem to move up and down and side to side in the text in the way I would expect!
Is it possible to fix that as well or is that just an android feature!
Freya
Click to expand...
Click to collapse
Does this happen when your Nook is in portrait mode, landscape mode, or both?
If they work correctly in portrait but don't work right in landscape, there is a fix that I applied several months ago that resolves the issue.
ИΘΘK¡€ said:
Does this happen when your Nook is in portrait mode, landscape mode, or both?
If they work correctly in portrait but don't work right in landscape, there is a fix that I applied several months ago that resolves the issue.
Click to expand...
Click to collapse
OUCH! Yes you are totally right.
I'm using an ipad stand from a pound shop to hold the Nook in place and it fits quite nicely in Landscape.
Also I just find it's a bit more like a normal laptop setup when in Landscape mode too.
I didn't click what was happening. Doh!
So how do I go about fixing that?
I guess I have to swap the cusor keys around?
Freya
@FreyaBlack,
Kind of, yeah. Follow the instructions at this post by Renate to apply a patch to /system/framework/services.jar that will prevent your arrow keys from rotating when in landscape mode.
Good to go!
I'm back to civilisation for a while but sadly I havn't been able to get this to work. I don't quite understand what you are supposed to do and I usually use ssh or similar rather than adb.
What does this mean?
Then you edit in the replacement in smali/com/android/server/KeyInputQueue.smali
Click to expand...
Click to collapse
I assume I need to change services.jar in some way.
Do I use the attached file?
Freya
@FreyaBlack,
After you acquire services.jar on your PC, the next step is to decompile it using this command:
Code:
apktool d services.jar
Then, go into the root folder of where you decompiled that file, and navigate to the .\smali\com\android\server\ directory. In that folder, locate the file KeyInputQueue.smali. Open that file with a good text editor (like Notepad++ on Windows), delete the entire contents and copy/paste in the entire contents of the partf.txt file attached to Renate's post I linked two posts above. Save that file.
Now, all you have to do is recompile the edited services.jar file using this command:
Code:
apktool b [the directory where you extracted the file originally] services.jar
Only thing left after that is to replace the existing services.jar on your Nook (located in /system/framework) with the one you just created, reboot your Nook, and you're good to go.
You can also use my mergesmali utility to merge correctly formatted patches.
nook121patch.zip has patches for various things that can be selectively supplied.
They are both found in the signature under "mergesmali".
Hiya Renate,
So you mean I can find a patch for the file or something and use mergesmali to apply it?
I assume Nookie is saying I need the Android SDK or the java sdk to make the changes but by doing this patch thing I can sort this without having to do that?
I have my hex editor to hand but a whole SDK is more than my 3G connection can handle right now!
Freya