[Q] Possible to programmatically swap the mapping of Emotion key and the "@" key? - Epic 4G General

[Q] Possible to programmatically swap the mapping of Emotion key and the "@" key?
I am just curious since I believe a lot of folks would love this. I use the "@" key so much more often and almost never use the emotion icon.
Thanks.

I'd rather have the emoticon button swapped into a speech to text button like the Droid 2 has. I am fine with the @ key the way it is personally. Its like that on my Moment, my laptop and my sister's laptop.
I use the speech to text input button alot and would love to have it on the hard keyboard like the Droid 2 has it

huoyjii said:
I am just curious since I believe a lot of folks would love this. I use the "@" key so much more often and almost never use the emotion icon.
Thanks.
Click to expand...
Click to collapse
it can be done with a text editor

Very Simple edits to " s3c-keypad.kl " & "qwerty.kl" files will provide what your looking for

Eazail70x7 said:
I'd rather have the emoticon button swapped into a speech to text button like the Droid 2 has...
Click to expand...
Click to collapse
Would this also only require simple text editing?

How do you do the "text editing" in order to swap the buttons? (I'm noob)

Eazail70x7 said:
I'd rather have the emoticon button swapped into a speech to text button like the Droid 2 has. I am fine with the @ key the way it is personally. Its like that on my Moment, my laptop and my sister's laptop.
I use the speech to text input button alot and would love to have it on the hard keyboard like the Droid 2 has it
Click to expand...
Click to collapse
THISTHISTHIS
I never use my @ key (or when I do, I use Alt+2), but I love the speech to text. I should take a look at a Droid 2 dump and see the feasibility of this.
EDIT: Just checked one out, and it seems fairly simple:
key 167 VOICE WAKE_DROPPED
Click to expand...
Click to collapse
Dunno how this'll work out on the Epic, whether it's MotoBlur-relevant, etc., but the first easy step would just be changing the emoticon's key from whatever it is now (haven't downloaded an Epic dump) to VOICE. Out of curiosity, I'm gonna try the edit on my G1 (replacing the @ key for now) to see if it'll work without MotoBlur.
Edit 2: No-go on my G1 running Android 2.2. I'll have to wait and see how the Droid 2 devs handle it once they have working stock ROMs running. I think it is possible, but this makes it much less easy. I think we need the Droid 2's "Voice Command" application, but that might require frameworks from Motoblur, and I'm not really a skilled enough dev to get any further.
Eazail70x7 said:
How do you do the "text editing" in order to swap the buttons? (I'm noob)
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=551344
Should work on the Epic and any other Android phone as well.

Thanks for the response ^^
I really hope it can be done. That would be terrific. Btw, with the Droid 2 voice button, I think you have to be inside a text field for it to work, not 100% sure. Once you're in the text field, you can hit the button and the words are written there.
I didnt get a chance to try that button outside of a text field...

solution to remapping keys
I have remapped my physical MENU and HOME keys (the ones on the qwerty keyboard). pdk.android.com/online-pdk/guide/keymaps_keyboard_input.html (I've had an account for a while, but I was not allowed to post this as a link) should help for reference, in case you want to make different changes from what I have made. For example, "AT" should be the keycode for the "@" symbol.
In the attached keylayout file, I have changed the physical "MENU" key to "TAB" and the physical "HOME" key to "DPAD_CENTER". The reason I have set "HOME" to "DPAD_CENTER" is so that I can use that key plus "1" in Terminal Emulator to send "Escape" in vi.
I apologize in advance, but I probably will not have time to answer questions that are answered elsewhere on XDA, like how to root or how to use vi. I am not responsible for your actions. Be sure to backup your s3c-keypad.kl before making any changes.
You will need root and busybox (I used the busybox from Titanium Backup and set up symbolic links in /system/sbin, since there was nothing else there) for this to work. After you have root and busybox set up, run the following commands in Terminal Emulator.
Get superuser permissions:
Code:
su
Get a better shell that has autocomplete and command history:
Code:
ash
Remount /system in read/write:
Code:
mount -o rw,remount -t rfs /dev/block/stl9 /system
Now, if you want to make modifications yourself:
Code:
vi /system/usr/keylayout/s3c-keypad.kl
If you manually make these changes, it is a bit tricky, because you have to use "r" to replace individual characters. You cannot use "a" to append or "i" to insert, because you have no way of pressing "Escape." I had to put "DPAD_CENTER" on the "VOLUME_DOWN" key initially, so that I had enough characters to replace and moved it after I rebooted.
If you would rather use my keylayout, make a backup of your s3c-keypad.kl, download the attached file, and "cp" it to /system/usr/keylayout/s3c-keypad.kl
Any changes to this file require a reboot to take effect. If you do something wrong, all of the keys after the one that is incorrect will be unusable. If that happens, just "cp" your backup over your bad file. Fortunately, the keys you will likely want to change are pretty close to the end of the file.
Good luck, & have fun!
EDIT: I can confirm that "AT" does work on the "SMILY" key for the "@" symbol.

Rtalian said:
Good luck, & have fun!
EDIT: I can confirm that "AT" does work on the "SMILY" key for the "@" symbol.
Click to expand...
Click to collapse
Thanks a million for the great guide! I can confirm "AT" for "SMILY" does work, although my other attempts at key adding didn't go quite as well. (I have .screenrc on my server set to remap @ as escape from using my Pixi.)
I might try changing things around again if I can figure out how to get the fn+key options working -- but for now, this is awesome. SYM is next to go...
I am more and more tempted by your menu key mod... although I actually use that one, it is just in the perfect position. I could swap it over to the right for Search, which I never use, but then we're just getting really crazy with labels not matching.

Can someone make an app that can swap the smiley and @ buttons for those of us who don't know how to use commands?

ldrn said:
Thanks a million for the great guide! I can confirm "AT" for "SMILY" does work, although my other attempts at key adding didn't go quite as well.
Click to expand...
Click to collapse
Hey, no problem! I'm glad I could help. I tried getting the Fn+ keys to work, too, but it looks like editing the compiled keychar files would be needed for that.

I could swap it over to the right for Search, which I never use, but then we're just getting really crazy with labels not matching.
Click to expand...
Click to collapse
I have keyboard shortcuts and you have to hold seach plus press a key, pretty nice imo. I will b switching the smiley key to @, and sym to .com

Related

New! Change SIP and toggle SIP from command line!

see this thread
This app will allow you to toggle the sip by loading it from the commandline - ie SipSwitch.exe.
However, specifiying a command line will cause the PPC to switch to that SIP AND toggle the SIP, so if no keyboard is shown:
"SipSwitch.exe Keyboard" will switch to Keyboard and display it. Use the same name as the SIP in the SIP menu.s
Best to try it and see!
My girlfriend's gonna kill me - 4.18am and work tomorrow
Links to the app.
Please leave constructive feedback.
V
Hi vijay555,
good job! Works great
some notes from testing:
- I couldn't switch to SIPs with " " (space) as first character, so I had to rename them (HKEY_Classes_Root/CLSID/... look for IsSIPInputMethod - thanks for advice, BGK )
- Blimkeys SIP suddenly stopped working and "basic keyboard" popped out instead.. SR solved it
- nice tool for testing (and creating shortcuts afterwards) is nOpen - http://www.nakka.com/soft/ptools/index_eng.html (and then with mortbuttons you can switch between keyboards using one hw button)
ideas for next version (in case you survived work&girlfriend ) :
- possibility to specify (.ini file) several input methods and then command line options like --next, --previous or --switch
- possibility to switch method without popping SIP pannel out
krysha - thanks for your feedback.
I wasn't sure about the SIP popping on or off. I couldn't think of much use for changing the SIP but NOT popping it up - you would then need 2 shortcuts, one to change it, one to bring it up, which for one handed use seemed wasteful. However, it's certainly easy to make it so it doesn't bring up the SIP.
I suppose at some point I'll learn how to split command lines. I also need to learn how to trim and do left$, right$ and mid$ and split() in C++. Any ideas?!
The idea about the .ini is intersting. I'll think about how to implement it, but it might take some time! If I forget, drop me a line at some point.
Man, coding so late was hard work. I can barely think straight now!
V
PS I use gsfidner for shortcuts, but thanks for the tip.
Any news on this?
Hi vijay555,
I saw you're coding a lot (VJSMS, VJDialer, ToggleStart and many other nice things - thanks for all your hard work!).
But: Are there any news on this little thingy, too?
Would be cool, if it could be used to switch between two (or more) input methods by calling the same command (by using an .ini-file), because then I could switch between those SIPs by pressing one single button.
Greetings and TIA,
BGK
BGK - I will work on it, I haven't forgotten, but I am still learning my C++ and so have to figure out how to read an ini file and parse it... I'm trying to finish off a more generic version of ToggleToday, and then I'll try and look at this again... Don't know if many/any people use this, but it would be nice to toggle through the SIPs.
V
Hi again,
vijay555 said:
I'm trying to finish off a more generic version of ToggleToday, and then I'll try and look at this again...
Click to expand...
Click to collapse
Great! Thanx a lot! If you need any kind of help - please just tell me.
Greetings,
BGK
vijay555 said:
..have to figure out how to read an ini file and parse it...
Click to expand...
Click to collapse
...or you can provide several input methods on command line and switch between them - that should be simplier
for example "SipSwitch.exe Keyboard FullScreen" would switch between those 2 methods each time you run it..
krysha - that's one way I'm thinking of doing it, but you guys have to think, do you want the selected SIP to be displayed (ie keyboard pops up) or toggled (if on, switch off etc) when you change sip by command line. Sometimes it's useful to toggle the SIP, but the command line will want to switch to the next sip in the command line string.
I'm actually thinking of another version, based on this idea of mine: what it will do is you assign a hardware key to the program, and holding down that hardware key will show you the name of the current sip (eg "keyboard"). Letting go will show that SIP.
However, if you don't let go, but hold down the hardware key, it will flash through each SIP on the system, so it will show a little window in the corner: "Keyboard", "Calligrapher" etc, each name being shown for say 3 seconds and then changing to the next SIP name. That way, you can hold down the hardware key until the SIP you want is shown and then let go, and that SIP will be selected and activated.
What do you think?
BTW - can anyone tell me how to split strings in C++.
Eg for the command line seperated by commas, in vb I would do something like
Code:
Commandline="Calligrapher,Keyboard,BlimKeys"
CommandLineArray=Split(Commandline,",")
How do I do that in C++? I haven't read that far in my programming lessons yet I presume I have to write my own routine or use another library right?
V
Hi ViJay,
vijay555 said:
I haven't read that far in my programming lessons yet I presume I have to write my own routine or use another library right?
Click to expand...
Click to collapse
I guess - following the software output you had the last weeks/months - there's no more neet to explain that, right? :wink:
You did nice work on all of the software you gave to this community, so I'm asking you just very polite, if you did a little further development on sipswitch, too? :roll:
It would be really cool beeing able to switch between 2 or 3 predefined input methods (from .ini or command line).
If you need help in any way, maybe I could help you (nor very advanced in C++, but... call me Mr. Google... :lol: ). :roll:
Greetings,
BGK
BGK: I will be working on this, but just not right now. I'm working on something quite big right now, but as soon as I can, I wil get around to this, I haven't forgotten, and I'm often thinking of how best to implement it. Unfortunately right now the "bigger" projects have to take priority
It will hopefully have a bit more of a configuration interface to support its use. Thanks for being patient!
V
vijay555 said:
Unfortunately right now the "bigger" projects have to take priority
Click to expand...
Click to collapse
No problem. I hope, your effort will be honored right this time... :wink:
vijay555 said:
It will hopefully have a bit more of a configuration interface to support its use. Thanks for being patient!
Click to expand...
Click to collapse
Could you do me a favour and tell me how you will change the sip intself (changing registry keys, calling which functions,...)?
Would be interested in this...
Greetings,
BGK
SipSwitch currently starts and compiles a list of the installed SIPs.
If it find the one that matches the command line, it enables and toggles that SIP.
The future version will use a command line of defined SIPs or probably a config file.
Steps:
Compile the array of defined sips from the config file/command line.
Get the array of installed sips.
Get the current sip.
Match that sip to the config array.
If there's a match, get the next SIP specified in the config array.
If next SIP matches installed SIP, switch to next SIP.
No registry involved in SIPs I think!
The work involved is in parsing the config file, preparing the array of sips and looping through the arrays. Nothing too complicated, just needs some attention. I literally don't have a spare minute right now though. I'm on a deadline to finish some code tonight Don't like coding under pressure, just for fun!
V
vijay555 said:
I literally don't have a spare minute right now though. I'm on a deadline to finish some code tonight Don't like coding under pressure, just for fun!
Click to expand...
Click to collapse
Okay, didn't answer my question, but don't hurry. Just do your job and I will come back on that, if you're ready.
Don't like coding under pressure, too. :wink:
Greetings,
BGK
Good Application
Dear vijay555
i have tried this app and working fine, but i have arabic keyboard name and i can not toggle to it using your app, is there anyway to know the english sip name of my arabic keyboard.
gwassef: have a look at the second post from the top, discussing the registry. I've not really thought about it before, but have a look through the registry, and maybe even change the name of the SIP.
Have to run, apologies!
V
Dear vijay555
thanks for reply, i checked the second post from where i got a link to the wiki registry settings and got the CLSID of my SIP and change it to engish, then i used your sipswitch.exe program to change it each time i soft reset my device.
thanks for you all
Hey Vj, I ran a test on your app.
I made a Shortcut using Total Commander with the following line
"\Program Files\SipSwitch\sipswitch.exe" Keyboard
It gives me a window saying "SIP not found". Any clue?
I think it may be case sensitive - did you copy it exactly? Check the CLSID in your registry to make sure it's exactly as written.
Frankly, it's a very basic app. It needs a complete re-write!
V
Yes, they are exactly the same. Attached (I've cut the bottom half from other screen shot to avoid uploading two pics). Note, the " symbol is on the right way, Total Commander somehow omit the starting " symbol, but the short cut is definately functioning. I'm just wondering if there are any other method of putting the " marks. But I did use the same method for OMAPCLOCK, it works.
BTW, for your info, my "Keyboard" is in
\HKCR\CLSID\{42429667-...}\Default
it will be great if u develop an app which can allow multiple SIP's on the system bar(Ref. mCalc adds an icon next to SIP)
p.s: http://www.xcomsoft.com/mcalc.html

SmartSKey Remapping

Hey everyone, sorry to start a new thread on this but the existing thread on SmartSKey is WAY too long and quite honestly I just have a simple question.
Can the OKKEY=1 command be used with the Cingular 8125? It doesn't seem to be working for me. The program is absolutely fantastic, but I wouldn't mind having the ability to close programs with the OK Key .. which so far seems to only work on the Prophet. Is the Wizard supported as well?
One more question about this program.
Is it possible to remap the LSKEY and RSKEY to open programs other than "Calendar" and "Contacts"? I wouldn't reprogramming those to something else, but there doesn't seem to be a way to do it with WM alone. Can SmartSKey make this possible?
Thank you all for any/all help!!
yes and yes.
google 'soft key remap control panel' or words to that effect, also go to ppcfreewares.com
Awesome .. found it here.
I still can't get the OKKEY=1 thing to work out tho .. it always just hides the app and doesn't actually close it. Anyone have any advice? Thanks.
i may have misunderstood your first question, the default setting is to minimise, if there are other options such as close, i don't know of them or how to edit. sorry
bbobeckyj said:
i may have misunderstood your first question, the default setting is to minimise, if there are other options such as close, i don't know of them or how to edit. sorry
Click to expand...
Click to collapse
Ahh .. I see. Well if the default is to mimize then that's fine as well, it's just that the ReadMe file that comes with the software says to use the OKKEY=1 command with the CLOSEAPP=1 command so that kind of threw me off into thinking that the OK Key can be used to close an application as opposed to minimize/hide it.
The ReadMe file says:
"OKKEY=1 (0 or 1)
Set OKKEY to 1 allows phone with OK button (e.g. Prophet) to do force close function (use with CLOSEAPP, EXCEPTIONLIST)
CLOSEAPP=1 (0 or 1)
Set CLOSEAPP to 1 if you want to close app instead of hiding it using the left soft key. (DEFAULT 0)"
So that leads me to believe that using the CLOSEAPP and OKKEY commands together will allow the OKKEY to do the same as the LSKEY .. which is to force close the app instead of minimizing. Am I misreading this or is it still possible to do that?
i always have had it in a rom, never bothered to dl the app itself until now to look at the read me file. i don't really understand the instruction, maybe it's for devices with a dedicated ok button to actually close, because the left soft key hold opens the start menu, changing 0 or 1 will only turn it off or on not add another function.

X1ButtonMapper - Extends the keyboard and other buttons

Hey guys,
I developed a small application which adds functionality to the X1 keys and keyboard. The reason why I made this program is, that I can't find a decent button mapping tool out there that does what I want - that is:
Extend the normal keys with long press and assign programs/functions to it
Extend the keyboard with a Control key (Tab key is reassigned to control key)
Assign missing FN+Key combination with additional special character or applications
Assign the ok button with really closing an application, depending on your task manager
To achieve this, I was writing this small app which itself checks for specific key events and starts mort script files in case such an event happens. I chose Mortscript because it easily allows everyone to define about almost everything that is possible and the application doesn't need a fancy UI to configure the key events.
You can find a readme within the archive which describes the program in more detail and you can also find some example script files for MortScript as a starting point.
For installation, you have to copy the X1ButtonMapperScripts folder of the archive to your root (\) directory of the device. You also need to install MortScript which you can find at Mort's homepage (mort.sto-helit.de). MortScript is a small and powerful application which is often used and mature. After that, you have to start X1ButtonMapper.exe and then the specific key presses will cause the calling of the script files. When you did not encounter any problems (software is still in testing phase), you can copy a link to the X1ButtonMapper.exe into your \Windows\Autostart folder for automatic loading at reset.
My current configuration, just for example, is as follows:
Ok short press closes an application, Ok long press (~500 ms) causes an app to minimize
Long press of left softkey opens start menu
Long press of right softkey opens MortButtons
Long press of volume up opens comm manager
Long press of volume down opens SPB task manager (Alt+Tab)
FN+a/s/d/f writes special characters I miss on the keyboard (%_\€)
FN+y/x opens Wifi network selection and resco explorer (FN+C/V are unused)
I would appreciate to get any feedback about this software, if it works, what you like, don't like and desperately miss.
Please be aware that this software is free and you are allowed to redistribute it, but please don't change it and always distribute the whole zip archive and not the extracted files!
Please be also aware that this software is in a testing phase and may hang up your device and may even cause data loss (not happened to me yet but theoratically possible). So please backup your data and be aware that I can't be held responsible in case this happens!
Update: V. 1.2 now allows to keep the original OK button function without change and to use Fn+Tab for sending the original Tab key!
i havent used your program but when i was looking for one such as yours, i came across ae button plus. im not familiar with scripts and programing and so i find ae button plus a good program. its not free but for $8, i think its worth it.
otherwise, keep up the good work. we need people like you to get the most of of our phones.
Would it not make more sense to remap the au key rather then tab key to ctrl? I use my tab key for form entry.
AE Buttons plus cannot do what this program does, that's why I did the hassle to develop it. Also PQz2 doesn't do what I need. For example you can't assign FN+x combinations with AE buttons plus and you can't remap the ok button (at least it didn't work for me).
Regarding the tab key, I tried to make FN+Tab to send the tab key, but that didn't really work. Maybe in some next release it will work, but I still think that the Tab key is dispensible.
Regarding the scripts, it's really easy and you can find ready scripts for almost any task. Also I did include some examples as a starting point. The scripts offer a lot more flexibility than any of the button mapping tools existing, so, take the challenge, it's worth it!
Pyrojester said:
Would it not make more sense to remap the au key rather then tab key to ctrl? I use my tab key for form entry.
Click to expand...
Click to collapse
Did I miss something or does this remap ctrl to tab? That would be a HUGE thing in my opinion... And no, the au button is used here a lot...
Yes, remapping Tab to Ctrl is one of the fixed mappings it does. One of the most powerful things and something I really missed with AEButtons.
With Ctrl on the keyboard you get copy and paste, wordwise navigation with the cursor, Undo/Redo and wordwise delete/backspace. Check the readme in the Zip File for more details.
I also added Fn+DPad for PageUp/Down and Home/End - also something I really missed before.
Dandie said:
Yes, remapping Tab to Ctrl is one of the fixed mappings it does. One of the most powerful things and something I really missed with AEButtons.
With Ctrl on the keyboard you get copy and paste, wordwise navigation with the cursor, Undo/Redo and wordwise delete/backspace. Check the readme in the Zip File for more details.
I also added Fn+DPad for PageUp/Down and Home/End - also something I really missed before.
Click to expand...
Click to collapse
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Will instal later today...!!!!
Dandie said:
[*]Extend the keyboard with a Control key (Tab key is reassigned to control key)
Click to expand...
Click to collapse
and I am officially blind...
Can this program work alongside aebutton plus? That would be great as they both have big advantages. I know this version of the CE core of WM only supports one key hook and I am pretty sure aebp uses a key hook. Are you using a key hook here? Is anyone using both? Great work!
Actually I uninstalled AEButtonsPlus before I was starting the development of this application. There is indeed a limitation about keyboard hooks in WinCE and my program uses them - don't know about AEButtonPlus.
There is a software available which claims to remove this limitation of windows mobile - it is called HookMgr and you can download it for free - check Google. I did not test it nor would I recommend to install several applications using keyboard hooks - they will most likely interfere with each other.
What is it that AEButtonsPlus has that you miss with my application?
Dandie said:
Actually I uninstalled AEButtonsPlus before I was starting the development of this application. There is indeed a limitation about keyboard hooks in WinCE and my program uses them - don't know about AEButtonPlus.
There is a software available which claims to remove this limitation of windows mobile - it is called HookMgr and you can download it for free - check Google. I did not test it nor would I recommend to install several applications using keyboard hooks - they will most likely interfere with each other.
What is it that AEButtonsPlus has that you miss with my application?
Click to expand...
Click to collapse
I did not know about that HookMgr software. Interesting.
I have not yet had the chance to try AEButtonPlus, but I believe it allows programming the short press and also double press of all the keys (was not aware of the ok key limitation). Is there a reason why you only provide long press options? Double press is not really necessary, but I would like to change the short press options. IIRC (I should probably stop making comments before my X1 even arrives but can't help it. so exciting) out of the box, only the short press of the soft keys is configurable. It would still be nice if you grabbed these so that I could configure all my buttons in the same place. Also, it doesn't seem that you provide a way to program the short or long press of the panel key. Would this be possible? Lastly, it might be good to make changing tab to ctrl optional and or offer another key to change. The addition of a ctrl key is great, but tab is also useful. The original renderings of the X1 back in January showed a ctrl key on the keyboard. Dont know who's idea it was to delete it.
I would love to help out. I could write a settings application for you that would store the options in the registry. Rather than running the scripts, it could look in the registry for what to execute. By default the registry values would just be the scripts, but users could change it to run an exe directly. I could also make a cab for it. The settings app would be in .NET. Let me know if this sounds good.
BTW, I think the ok and win keys would make good ctrl keys btw, as they are redundant to the keys on the front; ok button being my choice.
JKingDev said:
Is there a reason why you only provide long press options? Double press is not really necessary, but I would like to change the short press options.
Click to expand...
Click to collapse
I only provide the long press option because detecting double or even triple clicks would delay every button click and therefore reaction time, that's why I didn't realize it. I kept the short press of the keys (except OK) because they all make sense to me. You need the Softkeys, so their short press needs to be kept and the loudness up/down is essential in my opinion.
I also decided not to allow to remap the camera button because its handling is a bit difficult (two press levels) and I think the camera button is necessary when you really consider using the camera.
I also left the hang up and pick up buttons untouched because they already have short and long press actions (devicelock and handsfree) and I did not want to touch functions which are installed pretty deep into the system. I also like the function the way it is.
JKingDev said:
Also, it doesn't seem that you provide a way to program the short or long press of the panel key. Would this be possible?
Click to expand...
Click to collapse
Sure I did - actually I wanted to map it with opening the start menu but it can't be suppressed, not even by a keyboard hook! By the way, this is also the case with the symbol key - can't be remapped!
JKingDev said:
Lastly, it might be good to make changing tab to ctrl optional and or offer another key to change. The addition of a ctrl key is great, but tab is also useful. The original renderings of the X1 back in January showed a ctrl key on the keyboard. Dont know who's idea it was to delete it.
Click to expand...
Click to collapse
Yeah, the ctrl button was one of the main reasons why I wrote this application. Also that the X1 keyboard leaves many Fn+Letter combinations unused which is just stupid. As I said, I wanted FN+Tab to send the tab key but that didn't work for some reason. Also I think that Tab is disturbing when writing because when touching it for accident you get holes in your text :/
JKingDev said:
I would love to help out. I could write a settings application for you that would store the options in the registry. Rather than running the scripts, it could look in the registry for what to execute. By default the registry values would just be the scripts, but users could change it to run an exe directly. I could also make a cab for it. The settings app would be in .NET. Let me know if this sounds good.
Click to expand...
Click to collapse
Actually I don't see any problem with the scripts. They offer a lot more flexibility that a UI can ever give and for newbies the experienced could offer a set of reasonable scripts, so I don't see any issue with this. MortScript is easy to use and way more powerful than any button mapper UI on the market - why do people always want GUIs?
JKingDev said:
BTW, I think the ok and win keys would make good ctrl keys btw, as they are redundant to the keys on the front; ok button being my choice.
Click to expand...
Click to collapse
First of all, you can't separate between the ok key of the keyboard and the ok key on the front on the level of the keyboard hook, so it would be impossible to remap the one without the other. The win key is not redundant and therefore I decided to keep it because I find it very useful.
Dandie said:
First of all, you can't separate between the ok key of the keyboard and the ok key on the front on the level of the keyboard hook, so it would be impossible to remap the one without the other. The win key is not redundant and therefore I decided to keep it because I find it very useful.
Click to expand...
Click to collapse
Ah. That stinks about the ok key.
Dandie said:
I only provide the long press option because detecting double or even triple clicks would delay every button click and therefore reaction time, that's why I didn't realize it. I kept the short press of the keys (except OK) because they all make sense to me. You need the Softkeys, so their short press needs to be kept and the loudness up/down is essential in my opinion.
Click to expand...
Click to collapse
True. I wasn't really interested in double and triple. Just really the short. About the softkeys, normally I would not remap soft keys, but the X1 has a shortage of customizable buttons so I would like to change them.
Dandie said:
I also decided not to allow to remap the camera button because its handling is a bit difficult (two press levels) and I think the camera button is necessary when you really consider using the camera.
Click to expand...
Click to collapse
Interesting. On my tilt, I had short press opens camera album and long press opens the camera. Something similar would be interesting. Not a big thing though.
Dandie said:
Sure I did - actually I wanted to map it with opening the start menu but it can't be suppressed, not even by a keyboard hook! By the way, this is also the case with the symbol key - can't be remapped!
Click to expand...
Click to collapse
That stinks! Why do they insist on forcing panels on us? I do believe there is a registry key that can change what the panel button does though. You should look into that if you dont use the panels or just dont want a dedicated key. I am trying to find that info.
Dandie said:
Actually I don't see any problem with the scripts. They offer a lot more flexibility that a UI can ever give and for newbies the experienced could offer a set of reasonable scripts, so I don't see any issue with this. MortScript is easy to use and way more powerful than any button mapper UI on the market - why do people always want GUIs?
Click to expand...
Click to collapse
Lol. I guess its not necessarily a GUI but just options that would be good. You are right, the scripts are very flexible so no point in changing that. The only options I would really like is a choice about the ctrl key (possibly make the win key an option) and an option of whether or not to capture the short press soft keys.
Thanks for takin the time to explain all of your decisions. This is really great software! Hope I dont seem like I am asking a lot. Just some suggestions. Thanks!
JKingDev said:
About the softkeys, normally I would not remap soft keys, but the X1 has a shortage of customizable buttons so I would like to change them.
Click to expand...
Click to collapse
You can remap the Softkeys already in the button configuration of Win Mobile, but I personally wouldn't do it. Better to remap them for the today screen via registry and using the long press events from my software for additonal functionality. This way it doesn't interfere with the sytem at all.
JKingDev said:
That stinks! Why do they insist on forcing panels on us? I do believe there is a registry key that can change what the panel button does though. You should look into that if you dont use the panels or just dont want a dedicated key. I am trying to find that info.
Click to expand...
Click to collapse
Well, I think that's just the way it is integrated into the system. Maybe by some kind of driver or something. The "sym" key behaves the same way. We have to live with that fact.
JKingDev said:
The only options I would really like is a choice about the ctrl key (possibly make the win key an option) and an option of whether or not to capture the short press soft keys.
Click to expand...
Click to collapse
The softkey can originally already be remapped and for the tab key the best solution would be FN+Tab = Tab. I will have a look into this again.
JKingDev said:
Thanks for takin the time to explain all of your decisions. This is really great software! Hope I dont seem like I am asking a lot. Just some suggestions. Thanks!
Click to expand...
Click to collapse
Yeah, that's fine. I would actually like some feedback from people who tried the software. Anyone?
Here it is for those who want to know:
http://forum.xda-developers.com/showthread.php?t=448067
(Remap panel key)
I finally installed this today and it reminded me the about the good things the Touch Pro has that I previously owned. It truly amazes me that HTC does not put the ctrl key to their HW keyboards, it makes no sense to me.
I started to think that maybe it would be better to use the win key for this, win key kinda is there on top of the screen?
EDIT: and now I bothered to read posts above... fn+tab=tab could also be a good option.. After all tab is not used that often...
Great work on this, one of the best things made to X1 by XDA member so far...
At least someone having the guts to try my software - thank you for the positive feedback!
Regarding the Win-key, I wouldn't remap it because:
1. I'm using it often
2. The win key is often sent in combination with other keys and it will cause some side effects to remap it - that's why I gave up on this idea
When there's more feedback and some problems discovered that are necessary to change, I will have another look into this FN+Tab issue.
By the way, having Tab remapped to Ctrl also has a good benefit - accidental clicks on tab don't happen anymore.
Hmmmm MortScript messed up my OK button.

Long press to get FN+Key

Hi all, I just got my Snap after having the Dash for 3 years. The Snap is great but I have one problem...
On the Dash, when typing, long press will input the Alt+key combination, e.g. when long press on the "W" key it will input "1". The Snap can't do it and I need to press the FN key
Any way to change this?
Thanks,
Eran
[email protected] said:
Hi all, I just got my Snap after having the Dash for 3 years. The Snap is great but I have one problem...
On the Dash, when typing, long press will input the Alt+key combination, e.g. when long press on the "W" key it will input "1". The Snap can't do it and I need to press the FN key
Any way to change this?
Thanks,
Eran
Click to expand...
Click to collapse
That would be a great improvement! I had this same feature on my Diamond. I like the Snap keyboard, but you just have to push the FN key too much during some regular typing!
I'd like this too.
seems like know one know how to solve... this is really annoying on this great phone!
This depends on keyboard driver, what's always a dll library written by a manufacturer specifically for each device.
Similar problem has Touch Pro 2.
E.g. unlike Rose, where press+hold function can be simply remapped to another character/function.
OK I think I've provisionally got this sorted - you have to edit the keymap file using a text editor (either on the device using e.g. Total Commander or (probably more easy) copy the file to your PC using Activesync, edit it then copy it back to your device). On my snap the file is \Windows\eT9.Maple.wwe.kmap.txt - might be different depending on your ROM and language settings.
Before we go any further, make a backup of the file because you can get into all sorts of problems if you mess it up. It will be recoverable with a hard reset if necessary, but you probably want to avoid that...
The process is pretty self explanatory when you look at the kmap.txt file, but as an example:
Look at the entry for the R key:
{R R R 3 3 0x03}
As stated in the beginning of the kmap.txt file (on my device anyway), the third character in the above entry is "VK2 -> key to interpret when for press and hold". So simply change this to:
{R R 3 3 3 0x03}
Reboot your device and try it in messaging - when you hold the R key you will get a 3. Now you need to do this for every key! I haven't done it for the whole keymap yet - this might be the sort of thing you want to do personally, it's not THAT big a job I guess.
Cheers.
P.S. I also used this to remap the tab key, which I don't find that useful.
THANK!!!
this works beautifully!!! now the keyboard is as it should be the first place
Attached is the file for the WWE with long press supported for all keys
[email protected] said:
this works beautifully!!! now the keyboard is as it should be the first place
Attached is the file for the WWE with long press supported for all keys
Click to expand...
Click to collapse
That's brilliant!
I've modified your file to get rid of 2 small bugs (* and 0 longpress not working) and absolutely love the keyboard now!
Psmit said:
That's brilliant!
I've modified your file to get rid of 2 small bugs (* and 0 longpress not working) and absolutely love the keyboard now!
Click to expand...
Click to collapse
Could you post your modifications? Also, has anyone tried this on the Sprint Snap?
Has anyone remade the above file for the US keyboard? In other words, here is the layout for my keyboard:
Q1 W2 E3 R% T+ Y( U) I- O_ P"
A* S4 D5 F6 G~ H/ J? K$ L= ,@ (DEL)
(CAPS) Z7 X8 C9 V' B& N! M; .: (ENT)
(ALT) TAB0 SYM# (SPACE)
<strike>Sorry, dumb question but it's been a long time since I tweaked around in \Windows
It says I don't have permission. Neither locally, nor through the PC.
What to do?</strike>
Nevermind, used Total Commander to do it!
Strange thing though - a long press on "Q" locks the keypad. Yet there is no code for "locking" in kmap.txt.
That would be sweet to have on inner circle! A one-click lock. Hmmmmmm.
qwerty017 said:
Could you post your modifications? Also, has anyone tried this on the Sprint Snap?
Click to expand...
Click to collapse
Hi,
I upload the corect one, with Q(*), TAB (#) and SYM (0) modificated.
Taking control of the damn file
Hi folks. Can anyone help me out on how to get control of the .txt file?
greg530 has clearly done it using Total Commander but I can't get it it work at all, either on the PC or the device itself. Refuses to be edited or deleted or have it's permissions changed.
tia
did u try resco explorer?
Greg530 said:
Strange thing though - a long press on "Q" locks the keypad. Yet there is no code for "locking" in kmap.txt.
That would be sweet to have on inner circle! A one-click lock. Hmmmmmm.
Click to expand...
Click to collapse
You can assign a single press lock to the Windows Live Messenger button if you like - use VJDeviceLock and the instructions here.
[email protected] said:
did u try resco explorer?
Click to expand...
Click to collapse
Thanks, but I tried that with no luck. The file is in the ROM so I can't see how I can change it without reflashing.
Psmit said:
That would be a great improvement! I had this same feature on my Diamond. I like the Snap keyboard, but you just have to push the FN key too much during some regular typing!
Click to expand...
Click to collapse
Is this just the Snap? My T-Mobile Dash 3G has these baked in already.
Is there a key code to launch PIE?
I don't need the Messenger shortcut and I'd like to replace it:
{0xE4 0x96 0x8D 0x8D 0x00 0xff} // VK_IME_APP_CAMERA 0x8D, 0x96 = IM

[APP][Private Beta Jan 3, 2010] X1BH (X1 Button Hook)

X1BH beta
X1 Button Hook
Jan 3, 2010
By Jonathan King
GUI/Updater by DOCIOHN​
Special thanks to DOCIOHN who not only created the settings GUI and updater, he is providing the server space to make updating possible.
Description
X1BH is a successor of X1BC and the (kinda) released X1BC2. The program gives you the capability to assign different functions to the panel, ok, soft, and volume keys. Another feature is the capability to disable screen rotate when the keyboard slides. You can assign a button to toggle this feature. X1BC also supported adding fn functions to the keys on the keyboard that had none as well as making 'tab' or 'win' a ctrl key. This feature is not yet added to X1BH but will be in future versions. A new feature not seen in any previous program is a fix for the X1 keyboard repeat problem. While this is a hardware problem, X1BH can prevent key repeats that appear too rapid. Credit for the idea for this feature goes to J-Pro. Unlike the previous programs, X1BH runs as a service therefore not counting toward the 32 process limit. This was something suggested by Dandie.
Download
See the second post for the current version.
Background
You may have noticed that my enthusiasm for the X1BC and X1BC2 projects dropped for a while. The reason for this is that I was frustrated with the methods for trapping the keys. X1BC used SetWindowsHook to set a low level keyboard hook. The problem with this method is that many programs like to use this function as a means for trapping keys and only one program is allowed to have a low level keyboard hook at a time. Having X1BC running in the background all the time prevented some applications from working and just annoyed others. Most importantly, I found that it was not possible to send volume up/down keys. Next came X1BC2. Instead of a hook I used hotkeys. There were some things better but some things worse. The biggest problem was that 3rd party programs liked to use hotkeys too. And when they did, they robbed X1BC2 of its hotkeys. There was no way I know of to detect my hotkeys were taken. The only way to restore would be to restart the program.
Enter X1BH. It started by me thinking what would it take to rewrite the button driver. I disovered keypad.dll. It runs a service responsible for detecting keyboard interrupts and broadcasting the key event using keybd_event(). It seemed that keypad.dll had much responsibility though. I could not feasibly rewrite it. So I had a better idea. Leave keypad.dll to do all the grunt work and just hook the keybd_event() routine. By modifying the import address table at runtime I redirect keybd_event() calls to my own routine that gets to decide what really gets sent out. The result is total and exclusive access to keys before everything else. The possibilities are wide. While I do not modify keypad.dll in any way, I will probably release a CAB installer that includes it just because my hooking routine will only work with a certain version of the dll.
Download Current Version
More details will be added later. To use, install the CAB and soft reset. Use the settings program to change options.
Current issues/work needed:
- Capturing the panel button will not prevent the panel manager from opening. To stop this you must delete the panel manager reg key
- Ctrl key still to be added
Could use this one too.
Sounds great - I'd love to have any easy way to do all these things + CTRL is extremely useful imho and being able to decide which key to make CTRL would be awesome
Thanks,
Peter
Lovely, JKingDev.
I just hope put ctrl/tab alloc functions on the first priority to-do of X1BH release
I agree - I was considering installing another app that would add CTRL functionality, but that one was hard coded to the TAB key, but I use that for other functions, such as filling in forms - being able to set the Windows key for CTRL though would be perfect since I already have that duped as my XPanel key. So being able to decide which you want to make Ctrl, either TAB or Windows Key or something else would be great
Peter
Ctrl key is next on the todo list. It will support tab or win key. Maybe even sym or "au". The original functionality of the key can be preserved though. It can be something like if you hold the key while pressing a letter it is ctrl. If you just press it, it acts normal.
Quite nice work, JKingDev! Thanks for doing that!
P.S.: Thanks for the credit
Who will get to try this? I'd be glad to do it
LazyFunker said:
Who will get to try this? I'd be glad to do it
Click to expand...
Click to collapse
Sure, just send me a PM with your email address. Though one tester has already indicated that they have not have any problems, so perhaps a public release is very soon.
JKingDev said:
Ctrl key is next on the todo list. It will support tab or win key. Maybe even sym or "au". The original functionality of the key can be preserved though. It can be something like if you hold the key while pressing a letter it is ctrl. If you just press it, it acts normal.
Click to expand...
Click to collapse
Sounds great - I use the Tab and Win keys daily, the Sym key weekly - and the au key never. So I'd be quite happy making that a permanent CTRL key, even if I lost all the au functionality. I'd be happy if I had to hit a key with the au to make it do it's original function, rather than having to hit a key with the au to make it CTRL .
If you have even some of these options that would make this program awesome imho .
Thank you,
Peter
pdamouse said:
Sounds great - I use the Tab and Win keys daily, the Sym key weekly - and the au key never. So I'd be quite happy making that a permanent CTRL key, even if I lost all the au functionality. I'd be happy if I had to hit a key with the au to make it do it's original function, rather than having to hit a key with the au to make it CTRL .
If you have even some of these options that would make this program awesome imho .
Thank you,
Peter
Click to expand...
Click to collapse
Hmm. How about au key is ctrl. Fn+au is regular au. There are so many possibilities. Should I really make all these options or maybe just the best 3 so that it doesnt become confusing.
JKingDev said:
Hmm. How about au key is ctrl. Fn+au is regular au. There are so many possibilities. Should I really make all these options or maybe just the best 3 so that it doesnt become confusing.
Click to expand...
Click to collapse
That option, Fn+au for au would be perfect imho - It's up to you though how many options you put in, maybe you could have an advanced mode and a simple mode - with the 3 basic options in simple and then the option for users to set more advanced functions elsewhere.
My problem with the other software was that it was hard coded and had no other option - no matter what other options you selected in that program, TAB was always CTRL and that just didn't work for me. Having 3 options already puts you ahead of the game - allowing people to customize is great, but if you are making multiple releases I'd say stick with the options you've mentioned for now and add others as they are requested.
To me I can't think of any better combo than au = Fn+au & Ctrl = au
Peter
I am very pleased that the investigation of Keyboard System DLL has brought such results ... Can not wait for the official version, which will be need to compliment any Xperia X1
Wooooo! I've been waiting so long for this Jking! Finally! PM'ing right away.
Hey, I copy keypad.dll to Windows and I lost control of all buttons
I've just figured out the reason. I don't have keypad.dll in windows folder. I use Untamed 1.1 Rom (MrRush)
Sorry for the lack of updates in the past few days. PMs are being answered. I am on the Hybrid Electric Vehicle Team at Virginia Tech. We are participating in the EcoCAR Challenge (add us on facebook/follow on twitter!) and this past week I have been in Daytona Florida participating in the Winter Workshop event. It has been hard work and I had to take a break from X1BH but I think we did well.
Some new developments, there will be a UI setting app. Thats one reason I am holding back the release. Another XDA member is writing the program. They have chosen to remain anonymous. It will even have an updater built in. That same user is graciously granting some server space. I am very grateful for their effort and contribution. Version 1 will come soon.
It is great to hear that you are contributing to the earth! Looking forward to the release of X1BH~
great job!!!
great job man!!! greetengs to you and to Dandie! i must say i enjoyed reading posts and threads written one year ago. it is amazing how much passion you guys put in solving these problems. small problems for geeks but big problems for humanity can't wait to try cab. once again, big thanks!!!
P.S. If only Tesla was alive today we all wouldn't need petrol cars. sorry for offtopic.
x1bh
looks very compromsing and a very nice idea to hook keypad.dll directly ..
x1bc is still a great program to customize xperia keys but x1bh looks even better ... i would appreciate, if there was an easy way to create oem like using no hardcoded paths or paths read out from registry ..
i use x1bc and cook it into my roms .. btw, x1bc is great as it does not work only for x1

Categories

Resources