X1ButtonMapper - Extends the keyboard and other buttons

Search This thread

Dandie

Senior Member
Apr 14, 2005
344
0
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!
 

Attachments

  • X1ButtonMapper1_2.zip
    21.5 KB · Views: 2,684
Last edited:

c_legaspi

Senior Member
Nov 25, 2008
307
1
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.
 
Last edited:

Dandie

Senior Member
Apr 14, 2005
344
0
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!
 

Dandie

Senior Member
Apr 14, 2005
344
0
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.
 

Loco5150

Senior Member
Jun 8, 2008
742
68
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.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Will instal later today...!!!!
 

JKingDev

Senior Member
Nov 3, 2006
648
16
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!
 

Dandie

Senior Member
Apr 14, 2005
344
0
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?
 

JKingDev

Senior Member
Nov 3, 2006
648
16
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?
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.
 
Last edited:

JKingDev

Senior Member
Nov 3, 2006
648
16
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.
 
Last edited:

Dandie

Senior Member
Apr 14, 2005
344
0
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.
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.

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?
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!

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.
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 :/

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.

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?
 

Dandie

Senior Member
Apr 14, 2005
344
0
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.

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.
 

JKingDev

Senior Member
Nov 3, 2006
648
16
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.
Ah. That stinks about the ok key.



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.
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.



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.
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.



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!
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.



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?
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!
 

Dandie

Senior Member
Apr 14, 2005
344
0
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.
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.

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.
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.

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.
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.

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!
Yeah, that's fine. I would actually like some feedback from people who tried the software. Anyone?
 

Loco5150

Senior Member
Jun 8, 2008
742
68
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...
 
Last edited:

Dandie

Senior Member
Apr 14, 2005
344
0
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.