If I wanted to change how the volume key music control worked... (AOKP ICS) - Motorola Droid 3

Ok, before I start on this, I am expecting someone to flame me. Please, I look forward to your flames. Call me a noob, but you never learn without asking questions. Also, I want to learn more about Android, and custom roms (Beyond just flashing them) and this seems like a good way to get started.
I want to change the volume music control incorporated into AOKP so that if I hold volume down, it will play/pause. (As apposed to skip back) As far as I know this cannot be done within the UI, so if I want to step outside the UI, get my hands dirty in some code.... How do I start?

This may at least point you towards the correct files. You'll need a C++ editor to do it. It's by no means a "flame-worthy" question IMO because it involves really deep editing of the /system partition and is a peculiar request.
http://forum.xda-developers.com/archive/index.php/t-1585309.html
I don't think this is the exact method because IDT it's written for a Moto phone or similar actions (wake vs. skip), but just swapping out a few clauses here and there for different functions may work... Who knows! Make some edits, recompile the .apk, make a nand, flash the .zip, and see what happens.

Related

Wing help needed, please help

I just recently upgraded to the wing. So far...........it's had it's ups and downs with me. As with any phone, there are somethings I like, and other's I don't.
I wanted to ask a few of you a couple of questions. Before asking, I know others have asked some of these questions on here already, but I wanted to ask them from a n00b's pov. I haven't modded squat with this phone yet and don't really know much about it to be honest. I did successfully mod the living daylights outta my V3r, so.........I know how to follow directions lol. But as far as being directed to a website to download.............won't exactly work lol. Anywho, here are my questions:
1) How do I increase program memory?
2) I had a video file on my phone that played smoothly. I had some issues with the wing (long story), but long story short, I had to do a hard reset. I've only had it like 5 days (TMo 3rd level tech support told me to reset). Ever since that reset (and having to reput that exact same video with no changes made), the video now plays choppy on the phone. Any idea why?
3) Are there any programs that I can remove without damaging any of the system files?
4) For the life of me, I never have understood why phones come prestocked with those goffy photos, gifs, and other garbage. Is there a way to remove these?
5) Is there a way to increase the size of contact pictures when they call?
6) I was also reading that there's supposed to be some kind of "update". What will it do and does anyone know when it's coming out?
I appologize for asking some questions that have already been asked, but I really need someone to walk me through "step by step", especially considering how much this phone costs. I DEFINITLY don't wanna mess it up. If someone, ANYONE, can help, I'd be greatly appreciative.
Oh yeah, one more question. Any tips and/or tricks that the phone does that the manual doesn't tell you?
djwill13 said:
I just recently upgraded to the wing. So far...........it's had it's ups and downs with me. As with any phone, there are somethings I like, and other's I don't.
I wanted to ask a few of you a couple of questions. Before asking, I know others have asked some of these questions on here already, but I wanted to ask them from a n00b's pov. I haven't modded squat with this phone yet and don't really know much about it to be honest. I did successfully mod the living daylights outta my V3r, so.........I know how to follow directions lol. But as far as being directed to a website to download.............won't exactly work lol. Anywho, here are my questions:
1) How do I increase program memory?
2) I had a video file on my phone that played smoothly. I had some issues with the wing (long story), but long story short, I had to do a hard reset. I've only had it like 5 days (TMo 3rd level tech support told me to reset). Ever since that reset (and having to reput that exact same video with no changes made), the video now plays choppy on the phone. Any idea why?
3) Are there any programs that I can remove without damaging any of the system files?
4) For the life of me, I never have understood why phones come prestocked with those goffy photos, gifs, and other garbage. Is there a way to remove these?
5) Is there a way to increase the size of contact pictures when they call?
6) I was also reading that there's supposed to be some kind of "update". What will it do and does anyone know when it's coming out?
I appologize for asking some questions that have already been asked, but I really need someone to walk me through "step by step", especially considering how much this phone costs. I DEFINITLY don't wanna mess it up. If someone, ANYONE, can help, I'd be greatly appreciative.
Oh yeah, one more question. Any tips and/or tricks that the phone does that the manual doesn't tell you?
Click to expand...
Click to collapse
1.) At the moment keep it clean, there was a thread on here a while ago where someone (moneytoo?) was tweeking his to run better but I dont remember what the last update was. Keep the memory clean and you can run things until we get more updates or a cooked fix.
2.)Not sure what would cause the vid file to be choppy unless you are running too many things at the same time, whats the specs on the vid, and what player are you using to watch it? If its the built in WMP then thats most likely your issue.
3.)Yeah, depends on what you want to remove?
4.)Yes, open the pictures & Videos, right soft key number 4 delete.
5.)Not that I know of, but I would bet you can go into the phones system files and pull the incoming c all display file and tweek it to be larger. Mine is something around half screen by default I think, never paid attention to it really...
6.)I heard that it was late March to April(most likely late April) but that could change.
Theres a lot that the manual does not tell you, you can go into the regestry to change your start menu look, you can open the home page XML file and redesign it for your personal tasts(IE on the nice HTC home screen you can have a start menu and other stuff) Just depends on what type of things you want to do with it.
This is my first smartphone and I am still learning, there are a lot more inteligent people on here than I and I am sure they will chime in with their tweaks and stuff, or correct my mistakes if I had some. I was pretty wary at first since it was such a different platform to me, but after about a month I got to know it and since I know computers so well did not mind playing in the registry and so forth. Just back up your ROM before you tweek in case you do toast something.
Enjoy the phone and welcome
10332007 said:
1.) At the moment keep it clean, there was a thread on here a while ago where someone (moneytoo?) was tweeking his to run better but I dont remember what the last update was. Keep the memory clean and you can run things until we get more updates or a cooked fix.
2.)Not sure what would cause the vid file to be choppy unless you are running too many things at the same time, whats the specs on the vid, and what player are you using to watch it? If its the built in WMP then thats most likely your issue.
3.)Yeah, depends on what you want to remove?
4.)Yes, open the pictures & Videos, right soft key number 4 delete.
5.)Not that I know of, but I would bet you can go into the phones system files and pull the incoming c all display file and tweek it to be larger. Mine is something around half screen by default I think, never paid attention to it really...
6.)I heard that it was late March to April(most likely late April) but that could change.
Theres a lot that the manual does not tell you, you can go into the regestry to change your start menu look, you can open the home page XML file and redesign it for your personal tasts(IE on the nice HTC home screen you can have a start menu and other stuff) Just depends on what type of things you want to do with it.
This is my first smartphone and I am still learning, there are a lot more inteligent people on here than I and I am sure they will chime in with their tweaks and stuff, or correct my mistakes if I had some. I was pretty wary at first since it was such a different platform to me, but after about a month I got to know it and since I know computers so well did not mind playing in the registry and so forth. Just back up your ROM before you tweek in case you do toast something.
Enjoy the phone and welcome
Click to expand...
Click to collapse
Thanks for your answers, they're greatly appreciated.
2) It's the built in wmp. How do I remove it and what do I replace it with? Furthermore, what do I need to install new software?
3)I'd like to remove stuff I don't use. I'm talking about where you go to remove programs. I've got Microsoft Live Search, T-Mobile Email Wizard 1.0 (don't even use my phone for emails), OZ communications OZ IM (not sure what that is), and Winwap Technologies Oy t-zones (not sure what that is or does either).
4) All those pics are saying that they're .sys files, and I don't wanna mess up the phone by deleting them (will it?).
New question, how do I back up my ROM?
djwill13 said:
Thanks for your answers, they're greatly appreciated.
2) It's the built in wmp. How do I remove it and what do I replace it with? Furthermore, what do I need to install new software?
3)I'd like to remove stuff I don't use. I'm talking about where you go to remove programs. I've got Microsoft Live Search, T-Mobile Email Wizard 1.0 (don't even use my phone for emails), OZ communications OZ IM (not sure what that is), and Winwap Technologies Oy t-zones (not sure what that is or does either).
4) All those pics are saying that they're .sys files, and I don't wanna mess up the phone by deleting them (will it?).
New question, how do I back up my ROM?
Click to expand...
Click to collapse
No problem
I never removed my built in WMP just in case and its taking up no space, but I use two players at the moment, TCMP (I think I have an older version since it wont support quad pixel mpeg4 for some reason, but its the only version I can find) and Core Player. Both will play just about everything out there. TCMP works best (that I have found) on our phones because you can tell it to play at medium quality a full size file so you dont have to convert your media (most of the time) and it wont lag. Core Player was good, but seems to lag every now and then (most likely from the lack of proper video codec on the s730) but since it will play FLAC audio I kept it installed.
You can do it from the phone itself, go into your start menu, settings, more, top option remove programs, this usually will just be for what you have installed. Optionally you can connect it to your computer and explore through active sync and remove the data, icons and folders for what you dont want. I personally am not sure how one goes in and removes the preinstalled software for sure.
The pictures with a .sys sound like they are for icons, your menu's and other images that you might want to keep. The junk pictures that are pre loaded should be in .jpg, .bmp, doubt it but .png extensions.
I have not backed mine up yet but theres a tutorial in what you need and what you need to do stickied at the top of this forum, flash sspl and hardspl, I dont remember for certain but I think somewhere in there is the way to back up your settings, dont quote me on that though...

Blackstone device emulator

Hello all,
i have searched quite a bit for an emulator which mimics the Blackstone on your PC.
I am new to Rom cooking (1 day to be precise) and dont want to risk bricking my own so i wondered if there was something of an emulator which i can use to test Roms.
thanks in advance,
- Mega
same is my case...
No idea if this will do what you want, I'm not entirely too sure how this works.
Windows CE 5.0 Device Emulator
http://www.microsoft.com/downloadS/...12-ca31-4be9-a3bf-b9bf4f64ce72&displaylang=en
WM 6.5 Emulator is here:
http://www.microsoft.com/downloads/...1d-97a8-4f80-bc6a-ae010e085a6e&displayLang=en
But I've no idea how to run a blackstone's ROM on MS's emulator.
I'm trying to do same thing that you want do.
Was checking about it a year ago.
Got no answers
Seems its not possible at the moment.
I created an emulator (at least in looks, I don't think you can do a hardware emulator) for my Touch Pro and used it in Visual Studio 2005 Pro when I played with development.
Basically you have three images:
1. A skin (the chasis of the phone, I found a high res image and sized it properly in Photoshop).
2. A layer of what the skin looks like with all buttons pressed (make the Talk button look like it lights up or something).
3. A mask layer with different colors identifying the buttons (Green = Talk, Red = End, etc.).
In an XML file, you'll define the hex codes for the colors and assign an action. For example, if you used green for the Talk button on the mask image, you would enter something like "00FF00 = Talk", so when the Talk button is pressed in the emulator, the "pressed button image" shows the Talk button being "pressed", and the mask image tells the emulator to bring up the dialer, since green (00FF00) = Talk in this case. I've got VS 2008 Pro now (I tinker, not really much of a developer), so I'm not sure how you do it in the standalone emulator. I'd imagine it's a similar process.
-EDIT- I just read your post again, and I'm not sure how you would change the ROM that the emulator reads, since it reads the MS issued ROM when it boots. Maybe have to compile it as a .BIN file, once again, not sure on that.
visual studio includes one (might be useful if you are considering some developing down the line)
Yea, sorry if I made that unclear to Meganut and the others who were asking, VS includes the emulator in the development environment, so all I had to do was make the Touch Pro skin. I'll work on a Blackstone skin and post the files so you guys can hopefully use it as well in the standalone emulator...I just ordered a T8285 today, so I may want to start playing again, so my gain is your gain. I'll try to get it done tomorrow at work.
WOO HOO...I'M GETTING A TOUCH HD!!
GSXR750K2 said:
Yea, sorry if I made that unclear to Meganut and the others who were asking, VS includes the emulator in the development environment, so all I had to do was make the Touch Pro skin. I'll work on a Blackstone skin and post the files so you guys can hopefully use it as well in the standalone emulator...I just ordered a T8285 today, so I may want to start playing again, so my gain is your gain. I'll try to get it done tomorrow at work.
WOO HOO...I'M GETTING A TOUCH HD!!
Click to expand...
Click to collapse
An HD skin for my emulator would be awesome!
Sorry it took so long. Here is the emulator skin for the Touch HD. You can examine the XML file and PNG images to get a feel for what I was saying in my previous post. I've named the files so that you can drop them in and overwrite the default 800x480 emulator in the 6.1.4 SDK Refresh (the default looks pretty pathetic anyway). If you are insistent on keeping it, just rename the files. Reason for doing it this way is I hate screwing with making a new emulator, and if I want to change images (6, 6.1.4, 6.5), I can just move these four files around I have the same skin using a different ROM.
--EDIT--
I corrected the Home button and uploaded the changes below (I changed the mask file also to make it about four times smaller than it was), but for some reason the "Back" button will not respond, although I've tried multiple masks and hex codes to make at least do something. I'll continue to dig in to the Back button issue, I won't have much time this weekend though.
-EDIT-
Scratch what I said here if you already tried it. Like I said previously, I use VS2008 which comes ready to run, so I'm not sure what is needed to get this to work in the standalone emulator. Maybe some of the guys using the emulator can shed some light?
As some might have mentioned above, to make the MS emulator (or any for that matter) run a different ROM is impossible at the moment.
dwizzy130
dwizzy made a good point, the ROM images used in the Emulator and Visual Studio are as Microsoft created them before any vendor touches them. You can "install" things on the emulator and it will retain everything after soft-resetting, just as a physical device will, but chefs won't be able to create their ROMs in a file useable by the Device Emulator. Maybe some of the brilliant people on here can see if they can tear the BIN file apart...
GSXR750K2 said:
Sorry it took so long. Here is the emulator skin for the Touch HD. You can examine the XML file and PNG images to get a feel for what I was saying in my previous post. I've named the files so that you can drop them in and overwrite the default 800x480 emulator in the 6.1.4 SDK Refresh (the default looks pretty pathetic anyway). If you are insistent on keeping it, just rename the files. Reason for doing it this way is I hate screwing with making a new emulator, and if I want to change images (6, 6.1.4, 6.5), I can just move these four files around I have the same skin using a different ROM.
--EDIT--
Just found that the "Home" and "Back" buttons aren't working, I left them off of the XML definitions. I'll leave the "rough draft" version up here for now so you guys can get a feel for it. Depending on whether you've installed Visual Studio or the Standalone Emulator, you'll have different paths to put these files, so make a note of where you install it.
Click to expand...
Click to collapse
Thanks for that. I created my own, but yours look far better
Just one thing: if one would like to revert to the original skin for whatever reason, it might be better to rename the files to e.g. Blackstone.xml etc.
Any chance to get the home and back buttons working? I'll check if i can find out on my own, but seems you're more experienced with that.
Thanks, glad you like it. I'll check on the Home and Back buttons today.
GSXR750K2 said:
Thanks, glad you like it. I'll check on the Home and Back buttons today.
Click to expand...
Click to collapse
That would be great, thanks a lot.
Meanwhile, i found the buttons, but would be great if you could check/confirm. I did check the back button with AEbutton and it gave me the same code on both physical device and emulator. Not sure about the home though.
<button
toolTip="Home"
onClick="0x3B"
mappingColor="0xE6E6E6"
/>
<button
toolTip="Back"
onClick="0x5C"
mappingColor="0xFFFF4B"
/>
The updated skin has been uploaded (it is at the bottom of page 1).
6Fg8, I had to use 0x3E for the "Home" button (which is the same as End), the 0x3B works as the Left Soft Key. I've made several attempts to get the back button to do something...anything, no matter what mask I use or hex command I assign to it, it just sits there. Since you have some experience with the emulator files, feel free to go in and play with the XML/PNG files and see if you can get it to respond and if you figure out what is going on with it, let me know...my weekend is sort of tied up, so I may not have much time to dig into it over the next couple of days. -EDIT- Maybe you can give me some pointer in this aspect, I've found it doesn't seem to matter if I use "onClick" or "onPressAndHold" if I only assign one hex command to it, as no other advanced menu options are assigned. Have you found that it makes a difference?
GSXR750K2 said:
The updated skin has been uploaded (it is at the bottom of page 1).
6Fg8, I had to use 0x3E for the "Home" button (which is the same as End), the 0x3B works as the Left Soft Key. I've made several attempts to get the back button to do something...anything, no matter what mask I use or hex command I assign to it, it just sits there. Since you have some experience with the emulator files, feel free to go in and play with the XML/PNG files and see if you can get it to respond and if you figure out what is going on with it, let me know...my weekend is sort of tied up, so I may not have much time to dig into it over the next couple of days. -EDIT- Maybe you can give me some pointer in this aspect, I've found it doesn't seem to matter if I use "onClick" or "onPressAndHold" if I only assign one hex command to it, as no other advanced menu options are assigned. Have you found that it makes a difference?
Click to expand...
Click to collapse
Thanks for the skin update.
I tested the back button with AEbutton, see here. This is a great piece of software and lets you redefine keys including custom keys, and you can see what code is sent (at least for the custom keys added). Just installed it on emulator, added a user defined key for the back button and an action ("show actions menu"), and presto - works. Compared with the real device the keycode is identical, so i assume the definition is fine. Unfortunately, the home button cant be captured on the PDA for comparison.
The difference between onClick and onPressAndHold is only when the event is fired. onClick fires on button release, onPressAndHold fires on button press and repeats sending codes. So if the software which receives the key doesnt care, there is no difference.
work great, thanks for this and the updated version!
GSXR750K2 said:
The updated skin has been uploaded (it is at the bottom of page 1).
6Fg8, I had to use 0x3E for the "Home" button (which is the same as End), the 0x3B works as the Left Soft Key. I've made several attempts to get the back button to do something...anything, no matter what mask I use or hex command I assign to it, it just sits there. Since you have some experience with the emulator files, feel free to go in and play with the XML/PNG files and see if you can get it to respond and if you figure out what is going on with it, let me know...my weekend is sort of tied up, so I may not have much time to dig into it over the next couple of days. -EDIT- Maybe you can give me some pointer in this aspect, I've found it doesn't seem to matter if I use "onClick" or "onPressAndHold" if I only assign one hex command to it, as no other advanced menu options are assigned. Have you found that it makes a difference?
Click to expand...
Click to collapse
How to use skin in designer window?
thanks for the skin it looks great. I am new to Visual Studio and so wondered if you could help with two problems I have relating to using the HD skin.
firstly, I get to see it in the emulator but it is larger than my screen and it will not scroll up. can this be overcome?
Second, how do I get to use the skin in the Designer Window so I can see what the screen will be like when placing objects on it?
I've tried many ways but to no avail so hope you can help me.
Thanks
Gary

Rewrite button driver

I was wondering, would it be feasible to rewrite the button driver to customize the X1 buttons? I mean even higher level than a key hook. Key hooks are annoying because they interfere with other apps that want to set key hooks. Hot keys are useful, but another application can come along and steal your hotkey. I want to modify the X1 buttons at a much higher level.
One thing for instance about the panel button i have always wanted to know. The panel manager sends out button code 0x00EA. Even if this event is suppressed by a key hook, the panel manager still opens. So I wonder what part of the OS is responsible for this? Is there a button driver dll that can be overwritten? Is the button driver built into the OEMXipKernel (but possibly overwrite-able at the ROM cooking level)?
Basically I want to know if it is possible to rewrite the button driver that actually detects the hardware interrupts from the keyboard/buttons and sends key press events to the OS. Does anyone know if this is possible? People have rewritten/modified things such as the battery and even display drivers. Is this in the same category?
yes there is keboard dll
keypad.dll it "supports" panel manager button, ok, arrows & everything else...
if U could write something like thi, it would be great... i think... I'm maniac of very useful Xperia buttons (there is no other device like sex1, which has so many buttons on front panel... ! it's just great !)
giving users possibility to bind actions (win lock, new process, win key, esc, ok, OK/Close, back, home, etc... to any ! button would be great !), swapping, changing them, different actions for different screens ... GREAT !! I can see !!
I was thinking long time ago about doing such of thing but has no idea how to modify existing keypad.dll (no such great programmer skills) or create new one but in "low level type" ... (interfacing hardware ? :/ noooo idea... ! )
If You'd like my help i could create advanced GUI Configurator of program...
cichy3000 said:
yes there is keboard dll
keypad.dll it "supports" panel manager button, ok, arrows & everything else...
if U could write something like thi, it would be great... i think... I'm maniac of very useful Xperia buttons (there is no other device like sex1, which has so many buttons on front panel... ! it's just great !)
giving users possibility to bind actions (win lock, new process, win key, esc, ok, OK/Close, back, home, etc... to any ! button would be great !), swapping, changing them, different actions for different screens ... GREAT !! I can see !!
I was thinking long time ago about doing such of thing but has no idea how to modify existing keypad.dll (no such great programmer skills) or create new one but in "low level type" ... (interfacing hardware ? :/ noooo idea... ! )
If You'd like my help i could create advanced GUI Configurator of program...
Click to expand...
Click to collapse
Yes it really annoys me that manufacturers dont like to let you modify buttons anymore. I wrote X1BC to modify the buttons but I am tired of higher level methods of trapping keys. I want to go straight to the source.
Let me start taking a look at keypad.dll. I see in my ROM kitchen that it exists as a file (not a module) in OEM drivers. I want to see what the effect of cooking a ROM without it is. Also I will look at references to it in the registry and try to examine dll exports (going to google for software to do this; any free PE analyzers?).
So keypad.dll imports coredll.dll and ossvcs.dll. It exports KBD_Close, KBD_Deinit, KBD_IOControl, KBD_Init, KBD_Open, KBD_PowerDown, and KBD_PowerUp. I dont know what parameters those functions should take though. I want to write a keypad.dll and replace the old one to see when these functions are called.
Found this:
http://read.pudn.com/downloads120/sourcecode/embed/511498/HID/CLIENTS/KBDHID/kbd.cpp__.htm
i cross my fingers... thats sounds great... maybe you can little inspire from X2 keyboard layout maybe dll...
Well.. I dont have an X2 to test that with. :-/
Before I can start experimenting with overwriting the keyboard driver, I need to know how to properly sign drivers. I know that without being signed properly a driver will cause the device not to boot. Can someone tell me how I sign my home cooked driver?
*edit*
Well, keypad.dll doesnt seem to be the low level *driver*. Its just a service. Found this by searching keypad.dll into my kitchen:
Code:
[HKEY_LOCAL_MACHINE\Services\Keypad]
"Prefix"="KBD"
"Dll"="keypad.dll"
"Index"=dword:1
"Order"=dword:15
"Flags"=dword:00010000 ; DEVFLAGS_TRUSTEDCALLERONLY
"DisableKeyLight"=dword:0
"DisableGhostKeyDetect"=dword:0
"ActionDebounceTimeout"=dword:64 ; 100ms
So perhaps my dll doesnt need to signed. I dont even need to replace the old dll. Just point it to my own dll. I just changed "Dll"= to something else and rebooted. Device boots just fine but now the buttons do nothing. Good sign .
some time ago I've accidentally replaced HTC Diamond keypad.dll with Xperia's one (well... i didn't know that with cab that I made, was included keypad.dll didn't notice that ) ... the only issue that came after this change was "no keyboard effect", after I installed one more time the dll but with the right one... the issue gone ...
Just as interesting for what's new? Sorry for my curiosity ... Thank you
I have only done basic experimentation so far. First changed keypad.dll to something else in the registry (something that didnt exist) and as expected the buttons stopped working. I have written a dll to replace it that exports the same functions and made it log every time a function is called. I get attached to many processes and receive some calls to KBD_Init and KBD_IOControl. Nothing in particular corresponds with when a button is pushed yet, but that is probably because I need to respond to KBD_Init by initializing the keyboard. Have not been able to work on it for a while but hopefully I will next week, as I am on winter break from school. Thanks for your interest!
Jon
so we have (via Dependency Walker ):
KBD_Close
KBD_Deinit
KBD_IOControl
KBD_Init
KBD_Open
KBD_PowerDown
KBD_PowerUp
and we don't know how to use them (what arguments to use)... so what can we do with it ? guessing parameters ?
cichy3000 said:
so we have (via Dependency Walker ):
KBD_Close
KBD_Deinit
KBD_IOControl
KBD_Init
KBD_Open
KBD_PowerDown
KBD_PowerUp
and we don't know how to use them (what arguments to use)... so what can we do with it ? guessing parameters ?
Click to expand...
Click to collapse
Look at the link in post 5. Hopefully they are the same. What I am going to do next when I have time is understand that code.
So it looks like those are just the standard exported functions necessary for a service dll. The real meat of what the dll does probably has nothing to do with them. What I need to know is how to recieve keypress info from the keyboard driver and how to inject key events into the OS. Can I just use keybd_event funtion to send key events?..
Looks like I found an answer to that. From MSDN:
http://msdn.microsoft.com/en-us/library/ms646304(VS.85).aspx
The keybd_event function synthesizes a keystroke. The system can use such a synthesized keystroke to generate a WM_KEYUP or WM_KEYDOWN message. The keyboard driver's interrupt handler calls the keybd_event function.
Is keypad.dll the interrupt handler? Or is that something else? It must be. Because if I kill the keypad service no button events get through. I dont see how missing that service would kill the keybd_event function. Off to experiment.
If keybd_event proves to be the correct way to send key events the last question is how to receive interrupts from the keyboard.
I have learned loads over the past day. I Now fully understand the role of keypad.dll it must register to receive the interrupt and use keybd_event to sent keys to the OS. Through disassembly of keypad.dll I have also learned that this role is not simple. This dll has a LOT of code. I dont think I will be able to reproduce everything it does.
I have a new idea however. All I need to do is intercept calls from keypad.dll and decide what to really send and call keybd_event myself. I still achieve the goal of catching key events before 3rd party apps. I can think of two ways to achieve this. One would be to patch keypad.dll to call my own routine instead of keybd_event. Another would by to leave the stock keypad.dll and hook the keybd_event API at runtime. While I have learned loads at how to disassemble dlls and read the assembly, I do not yet know how to modify the import table. On the flipside I do not fully know how to hook APIs. Any help? I would like to go the modify import table route as this seems infinitely simpler.
keyboard driver successfully hooked.
The most reliable button reprogrammer is under way.
Program in private beta.
http://forum.xda-developers.com/showthread.php?p=5272353

[Q] is this concept possible?

I found a concept on uservoice (not in the first ranks lol). I doubt that Microsoft will ever consider that, but do you think it is possibile to realize it in alternative way? Take a look and tell me what do you think about that (it's a poor quality image)
http://it.tinypic.com/view.php?pic=fmt5i1&s=5
I find it very simple and effective..so sorry that Microsoft will never realize those very good ideas..and instead of it, there will probably come a notification center As a separate app :s :s
Is it possible? Yes, of course (no offense, but this is a silly question; there's nothing technically difficult about it). Is it possible for homebrew (as opposed to Microsoft) developers to implement? Not at this time, but in concept, not hard. We just don't have the ability to replace the system binaries yet, or a few other pieces that we need. But assuming the existence of a unified notification system, and knowing where the switches for toggleable services are in the OS, we could combine those pieces easily enough.
One issue with that image: putting it on the Start button is kind of a stupid suggestion. For one thing, Start already does things on both normal press and press-and-hold. For another thing, the app switcher is already displayed when the user presses-and-holds the Back button. Changing that around now would just be confusing. I could imagine (but do not ever expect to see, at least not officially) a setting that lets the user choose what to do with each button... but for the mean time, they should keep the defaults as-is. They already screwed over the Search button...
No offense, don't worry your answers are always welcome because I can understand a lot from them. Anyway I suppose (and it's only mu tought) that this concept is concentrated on windows button because Microsoft in next releases will kill the back button (probably it will be replaced by an on-screen button)..or at least there are rumors about that. To be honest I find a clean phone more elegant than the ones with soft touch buttons..of course is only an estethical consideration
I'd like this concept, one of the best things of WP8 is that it's almost all C#. And C# code can be easily patched/decompiled/recreated. We just need to find a way to replace system binaries.
In any case, considering we have interop-unlock and can access some registry entries, I will not get surprised if we could replace the application that manages the home screen(which also manages the task manager) just by changing registry entries.

New ideas thread

I don't know if someone did this already but I have some great ideas for the phone to implement. Feel free to critique and add your I own, maybe they'll be implemented someday. Feel free to share anywhere as well (possibly OnePlus forums for more attention)
My 1st idea is programmable gestures:
Since we already have basic gestures how hard would it be to add more and make them programmable. For example, adding numbers 0-9 which could easily be drawn with one stroke could be used for speed dial. Something like 0 could be reserved for emergency services (I remember this from the power button thing in India but correct me if I'm wrong, this way they'll be able to use double press on power to launch camera and also have access for emergency dialing). And maybe the alphabet too but letters like A changed to a triangle since it's hard to write it with one stroke. Doing it over and over should make the system better at recognizing them and I feel like it will add a lot of convenience to the phone.
My 2nd idea is not really an idea but more of a change:
I don't know if you noticed but during video the focus seems to shift a lot and create weird effects during recording. I feel like that's something they should work on.
Anyway that's all from me for now. I feel like the phone has great hardware but if it had a little better software I think this could definitely keep on killing flagships in the future.

Categories

Resources