[Q] "keyboard" popup application/activity - Android Software Development

I'm trying to figure out if this is possible:
** what I want **
1) I want to be able to see a pre-defined list of characters (lets say '!', '$','#') in a sort of 'softkeyboard', much alike the popup you get when you longpress a key. Especially when using a physical keyboard (on the Desire Z in this case).
2) It's not really an option to code this into the application, as I want this to be available on all applications
** how I think I can do it **
My conclusions where that I'd best make an application that does this, and define a shortcutkey that opens this application. I don't know if this is the best option btw., but assuming it is my problem will become:
How can I popup some sort of softkeyboard on opening my own application, and then send the chosen key to my app?
Another sollution would be to define a softkeyboard, and make that popup with some sort of keycombo whenever I want.
I know it's a bit vague, but I'd appreciate some thoughts

Related

Can anyone help with any of these???

Hi guys! Had my M5000 for about 10 days now and finally getting used to it but I wonder if anyone canm help with any of the following questions??
1. How do we edit the dictionary?? I can't even find how to add words and that would be REALLY handy as I normally use the phone pad for typing!
2. Can we select a default input method? (I use the phone pad but it always reverts to popup keyboard)
3. Can we change what the soft keys to on the today screen? (I'd dearly love to change Calendar to Messaging!)
4. I prefer to keep event, program and notification sounds all turned on but can I disable the start button click and the noise it makes when opening programs or settings??
5. My device is set to turn off after three mins - Is there a way to make it turn on again when I press ANY button? (I swear the power button moves in the dark lol)
6. When I go into my games menu it takes just over 40 seconds to list them all (I have about 20 games all installed on my memory card) - Does anyone know what might cause this??
7. Is there a way to get these phones to receive files over bluetooth from other make of phone? Mates with both Nokias and Sony have tried sending me pictures over BT but no luck
Think that's it for now - Sorry if any of these are stupid questions with obvious answers that I've missed but I'm pretty sure I've tried every damn menu on the device now lol! I'm also hoping that there's things here that other people would also like ot know!
Thanks
1. The dictionary can have words added to it by making a document in Word (named, for example: 'Personal dictionary') and saving it. Any word you add will be in the dictionary from that point on (as long as the document is not deleted).
3. Try registry hack here: http://wiki.xda-developers.com/index.php?pagename=Universal_Registry
5. Try 'Settings' - 'Buttons' - Lock tab - 'Do not lock buttons'
4. Not sure if there's a reg hack for it, I've searched for the filenames below and their paths to no avail. but the only other way would be to remove the following files from \Windows:
hwandsw.wav
MenuPop.wav
If you remove or copy these to a different location, then you won't hear anything. During the old XDA / XDA2 and i phases, I used to swap the WM2002/3 sounds for PC Windows noises. Later, when it came to 2005, I used the set contained on here as they were much nicer.
6. If they're on the SD card then presumably it has to search the SD for all of the .exe files. This could be improved by perhaps defragging your card (StorageTools is a good app for this). Another thing may be to try creating links to your game .exes in a folder on the PHONE, and replace the Start > Programs > Games icons with links to the PHONE copies. You can add / remove these by going to \Windows\Start Menu\Programs\Games
7. http://wiki.xda-developers.com/index.php?pagename=Universal_Registry - look for the section entitled To change the ability to receive files via Bluetooth (OBEX)
Ant
Hi
The registry obex 'hack' does exactly the same thing as going to settings, comms, beam, and clicking the selection box 'recieve all beams' Beam = Ir AND Bluetooth.
I find that the button lock setting does not work. With it set to 'do not lock' you still cant press any button to switch the unit on
Nigel
Thanks for the tips guys
Maybe I should have been more specific with the dictionary thing - I want to be able to add words to the predictive text (Town/friends names for example) - Does adding them to the dictionary do this??
Yes, adding any words to the dictionary adds them to predictive text, as well. The predictive text uses the dictionary.
Plus you'll find that as you type more and more, it will automatically add words you spell out it doesn't recognise.
Ant
Thanks guys - Especially for the registry link - Some REALLY great stuff there
hmmmmm... One quickie though:
For example, to change the left-hand softkey to start Pocket Excel you would set
* HKEY_CURRENT_USER\Software\Microsoft\Today\Keys\112\(Default) = Pocket Excel
* HKEY_CURRENT_USER\Software\Microsoft\Today\Keys\112\Open = \windows\pxl.exe
Anyone know how I set this to open contacts???

Modding the SMS\MMS Screen

Does anyone know how I might be able to change the default lower toolbar buttons in the SMS\MMS screen? At present the options are "Delete" & "Menu" and I want the 'delete' to be replaced with 'New SMS', it seems daft to have a 3 stage process just to send a quick SMS. A new message menu would be an acceptable compromise but I'd prefer a direct link to an SMS since I use those the most by far.
Are there any registry mods that I can implement to do this?
I'm using the official 6.1 WWE rom by the way.
I use a program called WM5 New Menu and used M2DC to make my left soft key launch it from the today screen. Basically it allows me in one press to create new SMS, Appointment, Contact etc. Its quite configurable.
i know what he wants, and that's not it. isn't there some way to change it within the program?

[APP][Feb 12, 2009] X1BC (X1 Button Controller) v1.1 Released

X1BC v1.1
X1 Button Controller
Feb 12, 2009
By Jonathan King​
Description
This program is released open source. Contact me if you would like a copy of the source. The program is capable of capturing both short and long presses of panel key, ok key, L/R softkeys, up/down volume keys, and the win key on the slide out KB. The camera half and full press can also be captured and fully configured for short and long half press, as well as short and long full press. Also, the camera key will be ignored while the camera program is open. Capturing each key is all optional. They can be switched by the registry keys detailed in the next post. By default, if the reg keys are not there, none are captured. You can capture the long press only, short and long press, or leave the key alone. Fn key presses are also detected for A, S, D, F, G, Z, X, C, and V keys. Registry strings are used to specify what happens when the key is pressed. You can choose to open execute anything from a program exe to a mortscript to an mp3. You may also configure it to send a character or special key. This allows maximum flexibility.
The program can also make the win key or tab key a ctrl key. There are two modes of operation for each key. For the win key: Short press mode (short press to enable ctrl then press a letter), Long press mode (press letter while holding ctrl). With the tab key, it is still possible to send a tab character: Short press mode (short press to enable ctrl then press a letter; long press sends tab chr), Long press mode (press letter while holding ctrl; short press sends tab chr).
The program also supports vibrate feedback for a press and hold event. The duration is configurable or this can be disabled. Also configurable is the duration you must hold a key for the long press to occur.
To start the key hook, just launch X1BC.exe. If it is already running, launching X1BC.exe again will end the program and restore the keys to default.
Notes
While the panel key is captured, on the ROM I run with no panels installed I still get a popup saying could not find panelmanager.exe. I am not sure what would happen on a ROM with panels installed. To prevent this all together delete the whole registry key HKLM\Software\Sony Ericsson\PanelManager. You may want to back it up first but there is not harm in deleting it. You do need this key if you want to use panels though. But if you do use panels you dont want to remap the panel key anyway.
Capturing the win key on the slide out KB is tricky, but I think I have done it in a way that wont cause problems. It works well as a ctrl key and I havent had problems with it, but I still think the tab key makes a better ctrl key because it behaves like a regular key and is therefore easier to manipulate.
Disclaimer, use at your own risk. I have tested and debugged in the emulator and on my X1. I dont do anything that I think could really cause any harm or data loss. Has never crashed on me at any point during dev. The program does not make any changes to the system. It just runs in the background. If terminated everything works as it did before the program was started. Try it out.
Registry settings:
The following are DWORD values:
HKCU\SOFTWARE\JKing\X1BC\CapturePanel
HKCU\SOFTWARE\JKing\X1BC\CaptureOK
HKCU\SOFTWARE\JKing\X1BC\CaptureLeft
HKCU\SOFTWARE\JKing\X1BC\CaptureRight
HKCU\SOFTWARE\JKing\X1BC\CaptureVolumeUp
HKCU\SOFTWARE\JKing\X1BC\CaptureVolumeDown
HKCU\SOFTWARE\JKing\X1BC\CaptureLWIN
Here are the possible choices:
0 - Leave the key alone
1 - Capture long press only
3 - Capture long and short press
The default if the value does not exists is 0
The following is also a DWORD but the format is different:
HKCU\SOFTWARE\JKing\X1BC\CaptureCamera
The possible choices are:
0 - Leave the key alone
1 - Capture long and short for half press only
2 - Capture long and short for full press only
3 - Capture long and short for both half and full press
The default if the value does not exists is 0
The following are string values:
HKCU\SOFTWARE\JKing\X1BC\PanelShortAction
HKCU\SOFTWARE\JKing\X1BC\PanelLongAction
HKCU\SOFTWARE\JKing\X1BC\OKShortAction
HKCU\SOFTWARE\JKing\X1BC\OKLongAction
HKCU\SOFTWARE\JKing\X1BC\LeftShortAction
HKCU\SOFTWARE\JKing\X1BC\LeftLongAction
HKCU\SOFTWARE\JKing\X1BC\RightShortAction
HKCU\SOFTWARE\JKing\X1BC\RightLongAction
HKCU\SOFTWARE\JKing\X1BC\VolumeUpShortAction
HKCU\SOFTWARE\JKing\X1BC\VolumeUpLongAction
HKCU\SOFTWARE\JKing\X1BC\VolumeDownShortAction
HKCU\SOFTWARE\JKing\X1BC\VolumeDownLongAction
HKCU\SOFTWARE\JKing\X1BC\LWINShortAction
HKCU\SOFTWARE\JKing\X1BC\LWINLongAction
HKCU\SOFTWARE\JKing\X1BC\HalfCamShortAction
HKCU\SOFTWARE\JKing\X1BC\HalfCamLongAction
HKCU\SOFTWARE\JKing\X1BC\FullCamShortAction
HKCU\SOFTWARE\JKing\X1BC\FullCamLongAction
HKCU\SOFTWARE\JKing\X1BC\Fn_A_Action
HKCU\SOFTWARE\JKing\X1BC\Fn_S_Action
HKCU\SOFTWARE\JKing\X1BC\Fn_D_Action
HKCU\SOFTWARE\JKing\X1BC\Fn_F_Action
HKCU\SOFTWARE\JKing\X1BC\Fn_G_Action
HKCU\SOFTWARE\JKing\X1BC\Fn_Z_Action
HKCU\SOFTWARE\JKing\X1BC\Fn_X_Action
HKCU\SOFTWARE\JKing\X1BC\Fn_C_Action
HKCU\SOFTWARE\JKing\X1BC\Fn_V_Action
Each action key can be one of three types: Execution of a file, sending of a character, or sending of a special key.
To execute a file, the string should contain the full pathname of the file to run. This can be an exe, mscr, lnk, mp3, doc, whatever. Enclose the path and file name in quotes, followed by a space, then any parameters if you desire if it is an executable. For instance:
Code:
"\Program Files\App\My App.exe" -p
To send a character, the string must begin with a # symbol followed by the character to send. For instance, to send a "$" character, they value of the string should be:
Code:
#$
To send a special key, the string must begin with a & symbol followed by the identifier of the special key to send. Here are the special keys:
W - Windows key
R - Rotate screen
Q - Send left softkey event
E - Send right softkey event
What other special keys would you like?
For instance, to send a windows key event, they value of the string should be:
Code:
&W
The following are DWORD values:
HKCU\SOFTWARE\JKing\X1BC\LongKeyTimeout
Delay for long key press in milliseconds. The default if the value does not exists is 500.
HKCU\SOFTWARE\JKing\X1BC\LWINCtrlMode
Here are the possible choices:
0 - Do not use as ctrl
1 - Short press mode (short press to enable ctrl then press a letter)
2 - Long press mode (press letter while holding ctrl)
HKCU\SOFTWARE\JKing\X1BC\TabCtrlMode
Here are the possible choices:
0 - Do not use as ctrl
1 - Short press mode (short press to enable ctrl then press a letter; long press sends tab chr)
2 - Long press mode (press letter while holding ctrl; short press sends tab chr)
(Note, you may use either LWIN or TAB for ctrl. Not both at the same time. If both of these keys are non zero, the tab key will be used. I recommend the tab key. It is more reliable.)
HKCU\SOFTWARE\JKing\X1BC\SupportMultipleKeyHooks
Here are the possible choices:
0 - OFF
1 - ON
The default if the value does not exists is 0. (Please leave as 0 for now. It does not work.)
HKCU\SOFTWARE\JKing\X1BC\HoldFeedbackDuration
Duration of vibration feedback for a long key press. Set to zero to disable. The default if the value does not exists is 35.
HKCU\SOFTWARE\JKing\X1BC\LandscapeOrientation
Set which landscape orientation the "R" special key will switch to. Choices:
0 - Left handed (correct orientation for the keyboard)
1 - Right handed
The default if the value does not exists is 0.
Known Issues:
-Does not support multiple key hooks (not really a problem as this is an OS limitation but see this post for details)
-LWIN long ctrl mode does not work
Changelog:
v1.1 [2/12/09]
-Added special key (&R) for screen rotation
-Added special keys (&Q and &E) for left and right softkeys
-Fixed bug that cause crash if Fn key was assigned to non existent file
-Will now prevent camera app from opening if you reassign camera button
-Changed format of reg settings for camera button
v1.0 [2/11/09]
-Improved WIN ctrl key support
-Added tab key short and long ctrl modes and registry setting
-Added key hold vibration feedback and registry duration setting
-Added capability to capture fn keys. Registry settings added
-Added capability to send character strokes and special keys
-Added capability to capture half and full camera button press. Registry settings added
-Changed default registry values to reflect correct installation directory for other languages
v0.4 [1/10/09]
-Fixed bug that caused extra long key press in one circumstance
-Fixed bug that caused crash during startup if registry strings were not formatted correctly
-Added option and registry value to change long press timeout
-Added short ctrl key feature and registry option for feature
-Added option to allow other key hooks (doesnt yet actually work)
-Now released in CAB format; CAB presets all reg values and creates shortcuts in startup and start menu
-X1BC now ignores keys by default if reg values do not exist, rather than capturing by default
v0.3 [1/07/09]
-Added registry keys for key actions
-Program now performs key actions from settings
v0.2 [1/06/09]
-Simplified reg settings
-Removed all but "exiting" popup during startup and shutdown
-Rewrote key hook algorithm for better reliability
-Unwanted keys now released to system as set by preferences
Todo List:
-Support multiple key hooks
Downloads below. Please note, the cabs will overwrite existing registry settings. If you want to upgrade from previous version, back up the settings first or just replace the exe. The cabs also place a shortcut in startup and in the start menu.
nice!
would look forward for the program when it's officially released
Heh, nice one Jking. I think the best way to go is to somehow "merge" your app with Dande's. Dande doesn't want to create a UI and uses mortscript, where you use the - in my opinion easier - registry. From what I see so far, you both have the same app, written in a different way, with the biggest change being you using the winkey (which I like), and Dande using the tab key.
I'd like to see where this goes, keep up the good work!
All the Best JKingDev, sorry I can't help. I don't know programming.
The biggest shortcoming of the X1 is the lack of buttons for mapping to apps and task manager. I miss the ease of button mapping on my previous i780.
Looking forward to your end product!
Good idea. Looking forward to this app.
cheers
I would love to see an option that would allow these button's to be exposed in the list of assignable buttons in the Buttons Settings control panel (similar to how Tilt developers were able to add the PTT button to it) to allow regular action assignments to those buttons.
Very interested to see how this application turns out!
millercentral said:
I would love to see an option that would allow these button's to be exposed in the list of assignable buttons in the Buttons Settings control panel (similar to how Tilt developers were able to add the PTT button to it) to allow regular action assignments to those buttons.
Click to expand...
Click to collapse
Yeah, me too! But I guess this is on driver level, not sure though!
Edit: I take that back, I remember that AEButtonPlus is able to add virtual keys to that list. But I think you still have to run your application at all time in the background, not really giving an advantage to this. I might be wrong again though.
@JKingDev
I was sending you my code. Didn't expect you to be this impatient
From what I have experienced, using the keyboard hook, it is not possible to remap the panel and the symbol button. Usually you can stop their original functionality to work by returning -1 in the hook, but that doesn't work with panel and symbol. So, at least at first sight, it seems to be not possible to remap these buttons.
You could consider also using RegisterHotKey, which is officially supported by the SDK. Mort told me that he uses it with MortPlayer and it seems to be quite powerful too. Maybe the hook and RegisterHotKey together allow you to do more than just with the hook. I thought that, when you can't do it with the low level hook, there is no other way at all to do it, that's why I didn't even bother trying.
Since you already started a thread in the development phase, maybe you should tell us what you actually plan to implement so that people can tell you in advance what they like about your concept and what they don't. Kind of collecting requirements before coding - like software engineering should be (and not like I did it )
Edit: By the way, in the zip file I sent to you by mail, you can also find a text file which documents the button sequences I was interested in. Helped me a lot while implementing.
Angelusz said:
Dande doesn't want to create a UI and uses mortscript, where you use the - in my opinion easier - registry.
Click to expand...
Click to collapse
First of all, the registry is only some kind of global application configuration database (and a bad idea from microsoft if you ask me). The registry can only enable functionality that is implemented in an application. In contrary to that, MortScript allows you to implement functionality that my application doesn't.
Despite of being completely different things, I don't find fiddling in the registry easy nor secure, but that's another topic.
Ah, and no offense intended, alright
@Jking:
THANKS for this great idea !!
X1 is missing a dedicated REC key
I desperately need this function
One-touch key press to automatically start recording a voice note
Maybe your software will finally let me use my Xperia as a voice recorder
Thank you for all the support! I am glad there is interest in this. It is nice to give back to this great community. New test version. I rewrote the key hook algorithm to handle the win and softkeys in a smoother way. Shouldnt have any prolems now. Now, if you put in settings to not capture a it should be released to the system like normal. Also changed up the registry settings a little bit to streamline the code. Made note of the new format in the second post. Next step will be to actually perform user specified actions when keys are pressed. It will actually become useful.
For some reason, when I set the grab volume key settings to 0 and completely ignore them, they still dont do anything while X1BC.exe is running. I am not sure if this is my app doing this or AEBP screwing with me since I still have it installed. Does anyone else get this problem?
millercentral said:
I would love to see an option that would allow these button's to be exposed in the list of assignable buttons in the Buttons Settings control panel (similar to how Tilt developers were able to add the PTT button to it) to allow regular action assignments to those buttons.
Very interested to see how this application turns out!
Click to expand...
Click to collapse
I believe this can be done since AEBP does it but I am not sure how. I have a slight idea of what I think it does. It involves adding some registry keys then sending custom key codes. I will look into this after I have accomplished everything else I want with this app. Can't make any promises but I will try.
Dandie said:
Yeah, me too! But I guess this is on driver level, not sure though!
Edit: I take that back, I remember that AEButtonPlus is able to add virtual keys to that list. But I think you still have to run your application at all time in the background, not really giving an advantage to this. I might be wrong again though.
Click to expand...
Click to collapse
Yes I think you are correct on this. The only advantage is assigning special keys like <rotate screen> ect. Most of those things you can find exe's for or use a mortscript anyway though, and my app will allow you to specify any exe/mortscript/file to run/open anyway.
Dandie said:
@JKingDev
I was sending you my code. Didn't expect you to be this impatient
From what I have experienced, using the keyboard hook, it is not possible to remap the panel and the symbol button. Usually you can stop their original functionality to work by returning -1 in the hook, but that doesn't work with panel and symbol. So, at least at first sight, it seems to be not possible to remap these buttons.
You could consider also using RegisterHotKey, which is officially supported by the SDK. Mort told me that he uses it with MortPlayer and it seems to be quite powerful too. Maybe the hook and RegisterHotKey together allow you to do more than just with the hook. I thought that, when you can't do it with the low level hook, there is no other way at all to do it, that's why I didn't even bother trying.
Since you already started a thread in the development phase, maybe you should tell us what you actually plan to implement so that people can tell you in advance what they like about your concept and what they don't. Kind of collecting requirements before coding - like software engineering should be (and not like I did it )
Edit: By the way, in the zip file I sent to you by mail, you can also find a text file which documents the button sequences I was interested in. Helped me a lot while implementing.
Click to expand...
Click to collapse
Sorry for my impatience. I had lots of free time and was itching to put my coding skills to work. I have wanted to write a button mapper since I owned a mogul (on my 6700 i used pqzII to make the win key a ctrl mey; i missed this functionality) but I never got around to it.
About the panel key, a key hook is able to detect the panel key presses, but for some reason it is unable to prevent the system from detecting it too like it can for other keys. This is why the work around to delete the panel manager registry key is necessary. Once you do that, the system ignores the key. Hotkeys sounds like a good idea. As it is, it works for me. I can try hotkey later though to see if that works out better. Deleting the panel manager key is an easy work around though if you dont use panels.
Well as far as key functions, you will specify via registry key what file/program to open/run. It could be and exe, mortscript, mp3, whatever. I think that allows max flexibility. Run a program directly, or run a mortscript if you have something more complex you want the key to do. The same functionality as yours, the only difference is that this can also run an exe directly as opposed to writing a script to run the exe.
After that, I want to implement the win key as a ctrl ley. There will be four modes. 1.) Disable ctrl key: allow the ctrl key to be assigned for short and long presses like it is now. 2.) Short ctrl key: Short press + letter sends ctrl key while a long press is mappable like it is now. 3.) Hold ctrl key: Hold + press letter then release sends ctrl key, while short press is assignable to something else. 4.) Full ctrl key: both short and hold methods send ctrl key.
Next I will add FN+key combinations to be assignable the way the other keys are (run exe/script/open file).
After that it will be looking into the suggestions of others such as virtual app keys.
Dandie said:
First of all, the registry is only some kind of global application configuration database (and a bad idea from microsoft if you ask me). The registry can only enable functionality that is implemented in an application. In contrary to that, MortScript allows you to implement functionality that my application doesn't.
Despite of being completely different things, I don't find fiddling in the registry easy nor secure, but that's another topic.
Ah, and no offense intended, alright
Click to expand...
Click to collapse
The purpose of using the registry is not really to make things easier, it is just to make things configurable. You may choose what keys to trap and turn the ctrl key on or off. Mortscripts are very powerful and easy and I still give you the option of using them. But if all you want the key to do is launch a program, why launch a script just just launches a program? I give you the option to just launch that program directly.
New version 0.3. Now the keys are fully functional. The program is actually useful now. The registry keys to set for the key actions are detailed in the second post. All fully functional. I have stopped using AEButton plus now as X1BC does everything AEBP was doing. No more AEBP splash on boot. Now on to what AEBP doesnt do, ctrl key, fn keys, ect.
One caveat though. I figured out what the problem was with the volume keys. I use the HTC Blackstone volume control. It seems certain that HTC volume control as well as you tube, radio, ect use key hooks. Even if I tell my program to ignore the volume keys, pressing volume up will bring up the volume control but after that the volume keys wont change it. The reason why is that once HTC volume control pops up it sets a key hook to control the keys. If my app already has a key hook set, HTC VC will be unable to install its own hook, thus cannot grab the keys. I proved that HTC VC uses a key hook by closing X1BC, launching the VC, then trying to launch X1BC. My app reported as expected that it could not install the hook.
I noticed something very interesting a while ago though. I can launch X1BC even while AEBP is running and it will work. I didnt think much of it but now I realize that this is important. HTC VC works fine even if AEBP is running. AEBP certainly uses a key hook. I can launch AEBP first then launch X1BC. If I first launch X1BC then launch AEBP, AEBP wont work. I think this means that AEBP has some mechanism of supporting a second key hook. Probably the same way hookmgr works. I will try installing that and seeing if it makes the HTC programs and X1BC work together peacefully. Ultimately though, I want to give X1BC the capability to support another program setting a key hook. Not a big deal though. The HTC programs still work. Pressing a volume key brings up the volume control then you can control with your finger.
It is fully functional for mapping the hard keys now! Try it!
@JKingDev
I would still like to know what exactly you plan to build as the application, I mean featurewise. What features and maybe layout do you want the final application to have? It does really make sense to gather feature requests before starting the development of a complex software, otherwise people will always tell you what they would like to have changed. I think you would save quite a lot of implementation effort that way and you also could arrange your architecture a bit to the "final" structure of the application.
Dandie said:
First of all, the registry is only some kind of global application configuration database (and a bad idea from microsoft if you ask me). The registry can only enable functionality that is implemented in an application. In contrary to that, MortScript allows you to implement functionality that my application doesn't.
Despite of being completely different things, I don't find fiddling in the registry easy nor secure, but that's another topic.
Ah, and no offense intended, alright
Click to expand...
Click to collapse
None taken. I'm just trying to add some perspective here. This is a developers site - true. So you can expect some people to be able to work with mortscript - true. But, regardless of any other arguments, there's a lot of users who just don't grasp scripting like with mort's and/or cba to learn yet another language. It's really good to support mortscript, all I'm saying it's nice to have the "easier" and simpler options as well. I will probably get into mortscript soon, too - as soon as university loosens up.
Now, on this application itself - it's looking really good Jking, it would be lovely to have it support multiple keyhooks. Another feature I'd like to see is grasping software keys, like for instance when tapping the clock in TF3D. I'd like to be able to set what that does as well; e.g. remap it to an application or something. Same goes for calender etc. - is your current code able to support that too?
Keep up the great work, this one is starting to look like a keeper!!
(Although I like AEbuttonplus, I read/noticed some downsides about it and would rather replace it.)
Dandie said:
@JKingDev
I would still like to know what exactly you plan to build as the application, I mean featurewise. What features and maybe layout do you want the final application to have? It does really make sense to gather feature requests before starting the development of a complex software, otherwise people will always tell you what they would like to have changed. I think you would save quite a lot of implementation effort that way and you also could arrange your architecture a bit to the "final" structure of the application.
Click to expand...
Click to collapse
Dandie, I am not sure quite what you mean by this. I outlined all the features I plan to implement. The application is in its final structure, I am just still adding features. What more details did you want to know?
Angelusz said:
Now, on this application itself - it's looking really good Jking, it would be lovely to have it support multiple keyhooks. Another feature I'd like to see is grasping software keys, like for instance when tapping the clock in TF3D. I'd like to be able to set what that does as well; e.g. remap it to an application or something. Same goes for calender etc. - is your current code able to support that too?
Keep up the great work, this one is starting to look like a keeper!!
(Although I like AEbuttonplus, I read/noticed some downsides about it and would rather replace it.)
Click to expand...
Click to collapse
Thanks Angelusz. I don't believe that capturing things like tapping the clock in TF3D is possible though. Tapping software buttons does not generate a keyboard event. Only actual keys do. Therefore unless TF3D sends key events for some reason this would not be possible.
JKingDev said:
Dandie, I am not sure quite what you mean by this. I outlined all the features I plan to implement. The application is in its final structure, I am just still adding features. What more details did you want to know?
Click to expand...
Click to collapse
Oh, then I must have overlooked something. What configuration possibilities do you want to offer in your UI, what do you want to offer via registry configuration and what must be done via scripts or additional programs. E.g. what do you want to implement what a powerful program like AEButtonsPlus offers, what do you don't want to offer and what do you want to add to it to make it better. Starting a discussion like this would pop up many good ideas for a somewhat perfect application, you will see.
By the way, a software never is final - unless you declare it final, which basically means you stop the development.
JKingDev said:
Dandie, I am not sure quite what you mean by this. I outlined all the features I plan to implement. The application is in its final structure, I am just still adding features. What more details did you want to know?
Thanks Angelusz. I don't believe that capturing things like tapping the clock in TF3D is possible though. Tapping software buttons does not generate a keyboard event. Only actual keys do. Therefore unless TF3D sends key events for some reason this would not be possible.
Click to expand...
Click to collapse
I think you're right, I have however found a tool that allows me to remap the paths! http://forum.xda-developers.com/showthread.php?t=407777
Dandie said:
Oh, then I must have overlooked something. What configuration possibilities do you want to offer in your UI, what do you want to offer via registry configuration and what must be done via scripts or additional programs. E.g. what do you want to implement what a powerful program like AEButtonsPlus offers, what do you don't want to offer and what do you want to add to it to make it better. Starting a discussion like this would pop up many good ideas for a somewhat perfect application, you will see.
By the way, a software never is final - unless you declare it final, which basically means you stop the development.
Click to expand...
Click to collapse
Well I wasnt planning on making a UI unless people absolutely want to. All my settings are easily changeable in the registry. The second post outlines all the available options. When I add the ctrl key and fn keys there will be options for these too. There will also be an option to allow other key hooks if I get that working. Nothing must be done via scripts or other programs. Simply enter in the registry what file to run or open when the key is pressed. Everyone is free to make requests. There is one request to emulate virtual hard keys and I will try addressing that later. I am not trying to match AEBP. I did this a.) becausse AEBP is a bloated all purpose app; mine is tailor made for the X1, and much smaller and lighter; b.) AEBP costs money; c.) AEBP cannot create a ctrl key or grab FN keys; AEKM does, meaning purchasing another application. If there is something more you would like to see the app do let me know. Otherwise, I have laid out everything that is in the plan already.
Angelusz said:
I think you're right, I have however found a tool that allows me to remap the paths! http://forum.xda-developers.com/showthread.php?t=407777
Click to expand...
Click to collapse
Glad you got that worked out. I thought there would be something of this nature.
Hi JKingDev,
I have tired X1BC for only one button so far (long press ok button to switch to 2nd today). So far everything is working quite nicely.
With AEBP I was facing a significant battery capacity drainage this was for me the main reason to look out for another button mapper. At least in my configuration I was able to reproduce this battery problem (I had 3 buttons asigned with a double click function and the action menue). But this is reported allready (Touch HD forum, because it happens on the Touch HD as well). It is realy a pity, because AEBP is a great application and was the very 1st I was installing on a WM phone.
As long as there is no UI maybe you could do a presetting of all those reg key with a samll cab file? And fill the dword with "0" - I understand that than the key has just its standard behaviour.
Because than I just have to type "only" my individual settings (I am lazy - I know).
For making program starting easier I have the idea to create in the reg keys a path name to a standard link such as
"\Program Files\X1BC\OKLongAction.lnk"
Than I create a new link for the program I want to start, rename it to "OKLongAction.lnk" and overwrite with this new link the one in the standard directory.
This would allow to make changes without playing arround in the regestry all the time.
Best regards & Many thanks for this great tool!
dingolino
Registry settings:
The following are DWORD values:
HKCU\SOFTWARE\JKing\X1BC\CapturePanel
HKCU\SOFTWARE\JKing\X1BC\CaptureOK
HKCU\SOFTWARE\JKing\X1BC\CaptureLeft
HKCU\SOFTWARE\JKing\X1BC\CaptureRight
HKCU\SOFTWARE\JKing\X1BC\CaptureVolumeUp
HKCU\SOFTWARE\JKing\X1BC\CaptureVolumeDown
HKCU\SOFTWARE\JKing\X1BC\CaptureLWIN
Here are the possible choices:
0 - Leave the key alone
1 - Capture long press only
3 - Capture long and short press
The following are string values:
HKCU\SOFTWARE\JKing\X1BC\PanelShortAction
HKCU\SOFTWARE\JKing\X1BC\PanelLongAction
HKCU\SOFTWARE\JKing\X1BC\OKShortAction
HKCU\SOFTWARE\JKing\X1BC\OKLongAction
HKCU\SOFTWARE\JKing\X1BC\LeftShortAction
HKCU\SOFTWARE\JKing\X1BC\LeftLongAction
HKCU\SOFTWARE\JKing\X1BC\RightShortAction
HKCU\SOFTWARE\JKing\X1BC\RightLongAction
HKCU\SOFTWARE\JKing\X1BC\VolumeUpShortAction
HKCU\SOFTWARE\JKing\X1BC\VolumeUpLongAction
HKCU\SOFTWARE\JKing\X1BC\VolumeDownShortAction
HKCU\SOFTWARE\JKing\X1BC\VolumeDownLongAction
HKCU\SOFTWARE\JKing\X1BC\LWINShortAction
HKCU\SOFTWARE\JKing\X1BC\LWINLongAction

[APP][Updt 08/09/2009] DredSensor v1.3a - Allow you to personalize Hard Key Actions

=======================================================================================
DredSensor v1.3a:
=======================================================================================
Now DredSensor should be compatible with other device than HTC Touch Diamond.
Historically, if you have tried to play a game needing left and right key on an HTC Touch Diamond, you noticed that they are 2mm wide and if you click next to it, you get back to home page or to dialing menu etc...
So I've written a prog allowing you to lock these 4 keys actions and replace it by classical key event (VK_LEFT, VK_RIGHT, ...).
In that way you can play tetris, and use "Pick-Up" and "Hang-Up" keys for going left and right.
I extended it to let you configure each app independantly, and choose between four (five) mode:
"HardKeySimul": replace the 4 keyz by classical key event
"Launcher": allow you to quicklaunch 4 app (that you define in the config wnd) when you double tap (not click, just tap) on one of those 4 keyz
"Scroll": allow you to scroll the current window by tapping those 4 keyz panel
"KeySimul": allow you to send left/right/up/down events by tapping those 4 keyz panel
"--- Disabled ---": Disable specific HTC Touch Diamond Sensor functionalities.
Now, i've added an alternative Key Mapping, that let you map an action (or another key) on normal click and long click event on any other key that the up-described four.
So if you don't have an HTC Touch Diamond, the only mode you can choose is "--- Disabled ---" but you can define "other key mapping".
Link ->: DredSensor-v1.3a
To use it, you need:
1) A Windows Mobile SmartPhone
2) Install the .cab
3) Reboot your SmartPhone
4) Run a game (or app or ...)
5) Get your stylus out and back-in, in less than 1 second
6) Click "Yes"
----- A config window opens:
7) Choose the Type you want.
8) Reassign the actions to the events, if needed.
9) Assign "other key mapping", if needed.
10) Click "Ok"
Other Key Mapping:
To add a key mapping, a popup opens and ask you to press a key.
If you want to assign an action to normal clic, just clic on the choosen key.
If you want to assign an action to long clic, clic more thant 1 sec on the choosen key.
Then you have to choose the action, and it's done.
If you only assign an action to a long clic on a key, a short clic on this key should work transparently.
Have fun.
=======================================================================================
If you like this program, feel free to donate:
=======================================================================================
==========================================================================================
Version history:
==========================================================================================
New features in v1.3a:
=====================
Added an alternative key mapping that Should be compatible with any Windows Mobile device.
Added the "KeepAlive" option. Check this if you want DredSensor to prevent the smartphone to sleep when this application is loaded.
Added possibility to Enable/Disable DredSensor:
Exemple of C++ code to do this:
#define WM_DREDSENSOR_START WM_USER+22
#define WM_DREDSENSOR_STOP WM_USER+23
Disable:
HWND m_hDredSensorWnd=FindWindow(_T("DredSensorWnd"),NULL);
if(m_hDredSensorWnd!=NULL)
SendMessage(m_hDredSensorWnd,WM_DREDSENSOR_STOP,0,0);
Enable:
if(m_hDredSensorWnd!=NULL)
SendMessage(m_hDredSensorWnd,WM_DREDSENSOR_START,0,0);
New features in v1.2g:
=====================
Fixes a few bugs
Fix the bug in config window when loading prog list
Added a debug mode:
================
For activating it, just launch DredSensorDebug.exe (in /Program Files/DredSensor).
First it will tell you if DredSensor is running or not.
If it's running, it will activate/deactivate the debug mode so you will find a log in /Program Files/DredSensor/Log
If you have trouble with DredSensor:
Restart your HTC
Launch DredSensorDebug (to activate log)
Wait for DredSensor to stop working
Launch DredSensorDebug to know if it's still runing or not.
PM me the log, the config.ini and a description of the problem.
New features in v1.2b:
=====================
Tried to fix the conflicts with TouchLockPro and similar, hope it works (thanks for those who can check this out)
New features in v1.2:
=====================
Fix "not working bug" with new ROMs
Allow you to choose wether you block the scrolling wheel or not
Allow you to disable the vibrator effect.
Allow you to delete configs.
Tips:
=====
If you upgrade to this version, you can keep your config file.
To define a profile that applies on every applications, launch config tool and edit "Default" config.
If the key you want to affect is not listed, you can define it manually:
Type "Key:[email protected]@", with @@ = VKey code of the key you want to affect.
You can find VKey code list on : http://msdn.microsoft.com/en-us/library/bb431750.aspx
=======================================================================================
DredSensor v1.1d:
=======================================================================================
Link ->: DredSensor-v1.1d
New features in v1.1d:
=====================
Let you choose which Key/Action you affect to each key.
Launcher Mode let you affect an Action for:
Double Tap event
Click event
Long click event
An icon for config tool is created in Program list.
Cache Program List for quick loading in Config window.
Fixes a few bug from v1.1, v1.1b and v1.1c
Tips:
=====
If you upgrade to this version, your config file will be cleared (sorry ).
To define a profile that applies on every applications, launch config tool and edit "Default" config.
If the key you want to affect is not listed, you can define it manually:
Type "Key:[email protected]@", with @@ = VKey code of the key you want to affect.
You can find VKey code list on : http://msdn.microsoft.com/en-us/library/bb431750.aspx
Wonderfull!!
the app is working good for me now! I just love the scrolling with only a touch on the d-pad
Thank you!!
I suggest you stop making a new thread for every new version and instead update your original thread and post that you've updated it.
After installing and lunch program .... i cannot see any of EVENTS on Events tab. Windows "wait gif" is rolling all the time and nothing happen :/ (i talk about mapping under HardKeySimul
Kraize said:
I suggest you stop making a new thread for every new version and instead update your original thread and post that you've updated it.
Click to expand...
Click to collapse
That's what i wanted to do but i didn't found a way to update the post title...
Is there one?
thanx for the update I'll try it and report
Thanks for the new version! And thanks for adding the OK button command!
Seems to be working better than the last version although pressing the back key (which I have mapped to click right) a few times in quick succession does seem to send a back command. Pressing the home key in quick succession doesn't have this problem.
Also, I can't get the scroll wheel to work despite leaving the "Block scrolling wheel" box unchecked. Am I doing something wrong?
antlane said:
Thanks for the new version! And thanks for adding the OK button command!
Seems to be working better than the last version although pressing the back key (which I have mapped to click right) a few times in quick succession does seem to send a back command. Pressing the home key in quick succession doesn't have this problem.
Also, I can't get the scroll wheel to work despite leaving the "Block scrolling wheel" box unchecked. Am I doing something wrong?
Click to expand...
Click to collapse
Hmm.. For the scrolling wheel, i use a tricky solution that works on my HTC touch diamond. May be it doesn't work on your model or on your rom version...
If someone have an idea on how to send a "ZoomIn" or "ZoomOut" event to a window (or how to develop an application that catch ZoomIn and ZoomOut events), that would help a lot...
As far as i studied the problem, it seems that ZoomIn and ZoomOut events are equal to Up and Down keys, but comming from a "rocker" .. so I can send those Up/Down key events, but no idea of how to tell that this comes from a "rocker" (and i don't even have an idea of what a "rocker" is...)
Help?
Wow, this is great! I am still loving the ability to remap my home key (and the others), and I really like the new scroll wheel feature. Actually, for me, instead of zooming in some apps, it now seems to scroll just about everywhere -- which is perfect, I like that more anyway.
Is there any way to donate or buy you a cup of coffee? I'd like to as a thank-you.
What an absolutely brilliant program!
Thank you very much Dredger97!
Greeting
Slide
ldrn said:
Wow, this is great! I am still loving the ability to remap my home key (and the others), and I really like the new scroll wheel feature. Actually, for me, instead of zooming in some apps, it now seems to scroll just about everywhere -- which is perfect, I like that more anyway.
Is there any way to donate or buy you a cup of coffee? I'd like to as a thank-you.
Click to expand...
Click to collapse
Well if you insist , i've added a donate link in the first post...
Big thanks to all for your positive and constructive comments
TF3D and DredSensor don't play nice together
This program is awesome! You can do so much with it! However, I am having one small issue with it. It appears that if I use it on Manilla [TF3D], that it works initially, but over time it seems to stop working and ends up freezing Manilla. The start icon still works, all the unmapped hardware keys still work and the task bar is still live. Only Manilla is frozen. If I don't map any keys on Manilla, it works fine for hours. But it only takes about 1 or 2 hours before there is a freeze on Manilla.
Any thoughts on how to correct this? I would love to use this program from my Home screen on Manilla.
Long click event → vibrate/nomal
Hi,all!
i want "Long click event" of Endkey to set vibrate/nomal.
how edit setting?
sorry for my english!
thanks.
downloaded v1.2, opened resco picture viewer,Got stylus out and back-in, in less than 1 second, tapped yes.
than for type i choosed disabled, but nothing, every time i press any hw key it does what it need to do(home to home, back for back, hangup close..)
what am i doing wrong??
intel286 said:
downloaded v1.2, opened resco picture viewer,Got stylus out and back-in, in less than 1 second, tapped yes.
than for type i choosed disabled, but nothing, every time i press any hw key it does what it need to do(home to home, back for back, hangup close..)
what am i doing wrong??
Click to expand...
Click to collapse
Well, disabled means "DredSensor is disabled" so it's normal that your hw key do what it's supposed to.
If you want to disable the hard key, you can:
- set Type: Launcher
- set "Click" action = "Misc:Nothing" on one of the keys.
So it will catch the hard key action, and do nothing when you click on it.
For me it doesn`t work :/ windows "Wait" gif is always apperaing when i want to add new Event. :/ And there is no Events on the list ...
tried that but same when i press home it goes to home
i have tried that on wmp.
is this program always turned on,now when i remove and than get back in stylus no menu pops up?!?
Great Job!
the app finally works on my pda! so glad you solved this bug!
But I still have a little problem...the app runs fine, when I start the buttons work with the function that I chose, but after the first time I use it it crashes and stops to work. Am I the only one with this problem?
Thanks,
Michele
Dredger, I asked in the last thread, but didn't get a response.
As far as mapping other buttons goes, could you post a quick example of what I would type in the config.ini to map the center D-pad button to act as the "left" button.
I realize the buttons commands are listed in the link you provided in your first post, but I'm having a little bit of trouble figuring this out.
Thanks.
Great app btw.
I'm gonna have to have another go at this... For some reason I just can't wrap my head around the setup of the program.

Try this! (more stuff added)

Ok, by now you probably know HTC's nice text selection tool. To use it, write some words in a HTC application (like the text message composer), then tap-and-hold somewhere in the text. You get one handle to move around, or two if you want to select a precise part.
But there's more. Change "HKLM/Software/HTC/TextSelection/EnableMagnifier" from 0 to 1. Now activate the text selection tool again as described above and try moving the single handle around...
Nice catch. Can be helpful in tight selections. I've been looking through the reg. So much stuff disabled... Why does HTC do this? They could've placed it as an option on SMS menu...
Thanks. Added to tips thread.
Maybe they disable it so we at XDA have something to do until HSPL is released
Some other simple but cool things I discovered:
* You can use the album app to crop pictures. Just pinch-to-zoom until the part you want fills the screen, then tap the screen, tap the icon on the bottom right and choose the second option from the menu. In Dutch it's called 'Schermafbeelding opslaan'. It will save a cropped copy of your pic.
* Here's a registry entry I found: "HKLM/Software/HTC/Manila/InternetPush/EnablePushInternet". It's set to 0 by default. I'm not really interested in push internet, so I haven't experimented with this, but it seems you can enable it if you want.
* Sometimes touch scrolling gets in the way of selecting text. If you want to select text, the solution depends on the context, but to start you just tap-and-hold anywhere:
-- In Opera, you can switch text selection on/off in the context menu;
-- In some apps (like while reading an e-mail message) you get a pop-up menu where the first option is 'make selection' ('selectie maken' on my Dutch device);
-- In Word, just before the pop-up menu appears, you see this: '[T]'. As soon as it appears, move your finger and you'll be able to select text!
* If you like the Footprints app but prefer full size pictures to those square 'polaroids', there's an option to save a full sized copy whenever you create a 'Footprint' (Footprints tab -> Menu -> Settings).
* The 'me' entry in the People app stores your 'owner' info. I know this is widely known by now, partly because I've been posting it everywhere, but I still see so many people complaining they can't register their applications (Resco stuff, SKtools)... because the can't find the old owner info icon. I have registered both Resco Explorer and SKtools perfectly fine without ever bringing the owner info icon back.
I haven't ever been able to get the Text Selection sliders to work on a custom rom even after setting the registry value to 1.
This is an awesome feature and I can't understand why it doesn't work.
leepriestenator said:
I haven't ever been able to get the Text Selection sliders to work on a custom rom even after setting the registry value to 1.
This is an awesome feature and I can't understand why it doesn't work.
Click to expand...
Click to collapse
you know it only works in text messaging, right? (well, some other htc apps too, apparently, but i couldn't name another one i've seen it in)
Yes of course... I'm aware that it only works in the realm of Sense specifically mail and text. I can do the standard selection thing but I just can't seem to get the sliders.
Any ideas?
hmm, well a common mistake I've come across a few times is people not pressing select the first time.
firstly go type some text into a new text message. (not sure where the idea it works in email came from, certainly doesn't on mine.)
ok, press and hold should bring up a cursor and the words "select|select all.
use the single sljder to set the start(or end, whichever) press 'select' nd now a second slider should join the first, enabling you to select.
Thanks for the responses guys, but as it turned out, I didn't realise that Energy ROMs are stripped of the HTC Messaging Module and that seems to be the only place where this 'feature' works.
It's a shame that's it's not available system-wide considering how easy it makes life.
I installed the HTC Messaging Client and voila, it was it there! but that excitement was short lived considering how bad HTC's messaging client is.
hah couldn't agree more. with the magnifier too its great ,, just never gets used.

Categories

Resources