[DEV][5/5/10] LMT Launcher 0.8

Search This thread

l3v5y

Retired Senior Moderator
Sep 13, 2007
7,485
44
32
Bristol
LMT is a tool for the HD2 that launches a program when perform single touch or multitouch gestures on the screen. You can connect internal commands and external apps to any gesture LMT supports. See a video here.

Installation

Download the latest version, copy it to your HD2, start the cab via file explorer and install LMT on internal memory. After installation start LMT. You won’t see any GUI since LMT is a background process. Try at first the double swipe up gesture. If everything works fine, you’ll see the corresponding overlay and the foreground process will be closed (closeApp is the default action for double swipe up).

Gestures

  • SwipeRightDouble
  • SwipeLeftDouble
  • SwipeUpDouble
  • SwipeDownDouble
  • SwipeRightLeftDouble
  • SwipeLeftRightDouble
  • SwipeUpDownDouble
  • SwipeDownUpDouble
  • QuestionmarkDouble
  • SquareDouble
  • DiamondDouble
  • Square (start gesture top left cw)
  • Diamond (start gesture at the bottom cw)
  • Delete (start gesture top left)

gesturesoverview.jpg


Learning gestures

There are two ways to connect apps to gestures. The first one is to draw the “learn gesture” on the screen and afterwards the gesture, you want to connect the current foreground app with. This method is easy but has some limitations. You cannot assign process arguments or assign internal commands to gestures. The second way is to configure LMT via registry. Navigate with your preferred registry editor to HCKU\Software\LMT. Here you can see which commands are currently connected to a gesture and you can edit any gesture/app relation. To assign an external app to a gesture insert the full path to the process: [Full path to exe],[arguments]. E.g. "\Windows\tmail.exe,-RunInBKG". To assign an internal command to a gesture insert on of the following command strings.

Commands
  • “CloseLMT” -> close LMT
  • “CloseApp” -> close the foreground app
  • “Learn” -> activate learn mode
  • “Back” -> send back key
  • “Start” -> start menu
  • “Lock” -> lock phone
  • “Phone” -> start Phone app
  • “Up” -> send Dpad up
  • “Down” -> send Dpad down
  • “Left” -> send Dpad left
  • “Right” -> send Dpad right
  • “PrevApp” -> switch to previous app (Alt-Tab feature)
  • “NextApp” -> switch to next app (Alt-Tab feature)
  • “Home” -> switch to Homescreen
  • “Rotate” -> rotate screen
  • “Controller” -> activate the controller mode

Controller Mode
controllerFPSEce.jpg


Use the controller as a generic gamepad for e.g. FPSEce, morphgear or flash games. The controller is multitouch capable and converts the touches to key events. You can define the keys to be sent via registry value "ControllerKeys": Down, up, left, right, 1, 2, A, B, C, D, X, Y. The button "R" toggles between portrait and landscape mode and partial and full screen lock. The button "X" deactivates the controller mode. The registry value "ControllerVibrate" defines the vibrate status: 0=off, 1=default, >1=time in ms. To quickly install and configure LMTs controller with FPSEce and morphgear I made a fpse.ini file and a registry file for morphgear. The howto:

FPSEce:
  • install FPSEce on internal memory
  • before first start replace the existing fpse.ini with the attached one
  • now start FPSEce
  • load a rom, start LMTs controller and have fun!

Morphgear:
  • install morphgear and e.g. the generator plugin on internal memory
  • start morphgear and close it again
  • import the attached registry file
  • now restart morphgear again
  • load rom, start LMTs controller and have fun!

These aren't the perfect settings since I only patched the key inputs to work properly with LMTs controller but it's a good base for further settings. If anyone has better settings, it would be nice if he could post them here... :)

Settings

There are 3 blacklists available to exclude processes from taskswitching (BlackListSwitch), from the closeApp feature (BlackListClose) and to deactivate LMT when the process is the current foreground app (BlackListAll). Just add the full path to the process to the multistring. There is also 1 whitelist available: WhiteListBack. If Opera 9 is the current foreground app and you activate the internal command “Back”, LMT will send a special key to navigate back in Opera.

With the registry value “SingleTouchGestureSupport” you are able to activate or deactivate the single touch gestures (Square, Diamond and Delete) and with the registry value “TapAndHoldGestureSupport” you can activate a special feature where you can draw all dual touch gestures with one hand: Just tap with one finger somewhere on the screen and draw "one part" of the multitouch gesture with another finger. Then release the tapped finger and the gesture will be recognized.

Changelog 0.8
  • Fixed rotation feature
  • Controller button "R" now toggles between: Portrait (fg app touchable) -> Landscape (fg app touchable) -> Portrait (full screen lock) -> Landscape (full screen lock)
  • Added Mario feature in controller mode: The areas between A and B, C and D and X and Y will lead to both keyevents. When you e.g. run in Mario Bros. with button "C" and jump with button "D" you can run with "C" and then slide your finger right. Then "C" and "D" will be both pressed. Mario will run and jump... :)
  • Fixed rotate and exit button in controller mode (no interference with fg app)
  • Added dword reg value "ShowOverlay": 0=overlays deactivated, 1=overlays activated with default time, >1=overlays activated with custom time (ms)
  • Optimized square gestures
  • Removed arrow gestures
  • Added 5 new mt gestures: Double Diamond and Swipe left/right, right/left, up/down, down/up
  • Added 1 st gesture: Diamond
  • Added \Windows\services.exe to BlackListClose
  • Set new defaults for gestures (see registry!)
  • LMT is now rotation arware and works also in landscape mode (only 270°)
  • Controller supports now real landscape mode (e.g. for flash games)
See full changelog in changelog.txt attached!
 

Attachments

  • changelog.txt
    4.7 KB · Views: 1,676
Last edited:
  • Like
Reactions: poyensa

l3v5y

Retired Senior Moderator
Sep 13, 2007
7,485
44
32
Bristol
Currently doing a lot of work on this, closing the thread for now... It will be good when its finished! :)
 

noname81

Senior Member
Jun 28, 2009
1,806
6,870
Google Pixel 7 Pro
Due to the fact that I had the same idea than l3v5y to develop a multitouch gesture launcher based on the PenTrac approach, we decided to develop LMT together. This is our first alpha version:

LMT is able to launch and close processes with multitouch gestures. The following gestures are currently supported (see gestures.jpg in attachments):

- DoubleSquare: Close LMT
- DoubleQuestionMark: Learn mode; the following gesture will be connected to the process related to the foreground window. Next time the gesture is done, LMT will start the connected process
- DoubleLineUp: Close the current process
- DoubleLineDown: Connect e.g. to TaskFacade as a “Multitouch Taskmanager”
- DoubleLineLeft, DoubleLineRight
- DoubleArrowLeft, DoubleArrowRight

We decided to support only special multitouch gestures to not interfere with normal scrolling gestures or the HTC pinch to zoom feature. I hope someone can try our first version and give us a bug report, comments to new features, etc…
 

Attachments

  • gestures.jpg
    gestures.jpg
    14 KB · Views: 27,427
  • Like
Reactions: poyensa

kanesw

Senior Member
Nov 14, 2009
118
0
Oxford/Nottingham
After installing that cab, i cannot get any of the gestures you have installed to work. Even after a softreset. Something Im missing/doing wrong?
 

Senfsaft

Member
Jun 14, 2008
5
0
Hi,

works fine on my HD2.
Is there a possibility to define some exclusions?
Like S2U2?

It crashes when I swipe up when s2u2 is on and also when the quicklinks on manila mainscreen are up

manuel
 
Last edited:

noname81

Senior Member
Jun 28, 2009
1,806
6,870
Google Pixel 7 Pro
Hm, I reinstalled the cab and everthing works fine. Can you please check the following things:

1) file \windows\PenTrac.dll exists
2) file \Program Files\LMT\LMT.exe exists
3) When starting LMT, the reg value HKLM\HARDWARE\DEVICEMAP\TOUCH\MultiTouchDemo is set to "1". For testing set value to "0" and then to "1" while LMT is active. Does LMT work?
4) Correct gesture? Gestures are all multitouch gestures, e.g. swipe two fingers down
5) Which ROM version are you using? Can you please post \windows\touch.dll from ROM dump?

If it still won't work I have to add logging support in PenTrac.dll and LMT.exe to see what's wrong...
 

kanesw

Senior Member
Nov 14, 2009
118
0
Oxford/Nottingham
Hm, I reinstalled the cab and everthing works fine. Can you please check the following things:

1) file \windows\PenTrac.dll exists
2) file \Program Files\LMT\LMT.exe exists
3) When starting LMT, the reg value HKLM\HARDWARE\DEVICEMAP\TOUCH\MultiTouchDemo is set to "1". For testing set value to "0" and then to "1" while LMT is active. Does LMT work?
4) Correct gesture? Gestures are all multitouch gestures, e.g. swipe two fingers down
5) Which ROM version are you using? Can you please post \windows\touch.dll from ROM dump?

If it still won't work I have to add logging support in PenTrac.dll and LMT.exe to see what's wrong...

After running LMT the registry value was still set to 0. Changing it to 1 has fixed the issues i had
 

HTCHD2_2010

Senior Member
Feb 2, 2010
75
1
Due to the fact that I had the same idea than l3v5y to develop a multitouch gesture launcher based on the PenTrac approach, we decided to develop LMT together. This is our first alpha version:

LMT is able to launch and close processes with multitouch gestures. The following gestures are currently supported (see gestures.jpg in attachments):

- DoubleSquare: Close LMT
- DoubleQuestionMark: Learn mode; the following gesture will be connected to the process related to the foreground window. Next time the gesture is done, LMT will start the connected process
- DoubleLineUp: Close the current process
- DoubleLineDown: Connect e.g. to TaskFacade as a “Multitouch Taskmanager”
- DoubleLineLeft, DoubleLineRight
- DoubleArrowLeft, DoubleArrowRight

We decided to support only special multitouch gestures to not interfere with normal scrolling gestures or the HTC pinch to zoom feature. I hope someone can try our first version and give us a bug report, comments to new features, etc…

I would be more than glad to test this out and give you feedback.
I think you will have heaps more to do testing with pleasures.

Again thanx for the efforts of this apps.
 

HTCHD2_2010

Senior Member
Feb 2, 2010
75
1
I would be more than glad to test this out and give you feedback.
I think you will have heaps more to do testing with pleasures.

Again thanx for the efforts of this apps.

Ok i 've quickly stole sometimes from work to do some testing as i am very anxious.
Firstly, i had to reinstall the LMT v0.1.cab twice because first time it did not
write in to the registry setting as 1.

2ndly, when it was installed properly as mentioned in ur checklist, everytime i am in an application and do a double down swipe, i can see momentarily the
LMT appl icon displayed then disappeared but then nothing happened.
So i went to the home screen then tried same thing again that was when
the HD2 froze and now is in reset mode.

Oh, i am running Duttys Leo Sense 2.5.x Holy Grail V0.6 release on 3 Feb.

I hope this will help.
 

cshuwing

Senior Member
May 6, 2008
117
9
Hong Kong
working fine! i love this app! thanks so much
I am also able to re-connect doublelinedown to taskmgr.exe instead of taskfacade coz i havnt installed it.

the tweak i have done to make it run correctly:
1. installed the cab
2. run LMT in the start menu
3. when LMT is running, change the regkey hklm\hardware\devicemap\touch\multitouchdemo from 0 to 1

rom: dutty leo multi lang 1.8
os: 21891
manila: 2.5.20112328

thanks again~
 
Last edited:

HTCHD2_2010

Senior Member
Feb 2, 2010
75
1
working fine! i love this app! thanks so much
I am also able to re-connect doublelinedown to taskmgr.exe instead of taskfacade coz i havnt installed it.

the tweak i have done to make it run correctly:
1. installed the cab
2. run LMT in the start menu
3. when LMT is running, change the regkey hklm\hardware\devicemap\touch\multitouchdemo from 0 to 1

rom: dutty leo multi lang 1.8
os: 21891
manila: 2.5.20112328

thanks again~

Oh wow, i did exactly the same and has similar set up in ROM as you do.
Strange my did not work.
So this at least give me some hopes. Trying again now. I noticed you didn't even need to reset to make it work.

Cheers.
 

HTCHD2_2010

Senior Member
Feb 2, 2010
75
1
working fine! i love this app! thanks so much
I am also able to re-connect doublelinedown to taskmgr.exe instead of taskfacade coz i havnt installed it.

the tweak i have done to make it run correctly:
1. installed the cab
2. run LMT in the start menu
3. when LMT is running, change the regkey hklm\hardware\devicemap\touch\multitouchdemo from 0 to 1

rom: dutty leo multi lang 1.8
os: 21891
manila: 2.5.20112328

thanks again~

Oh wow, i did exactly the same and has similar set up in ROM as you do.
Strange my did not work.
So this at least give me some hopes. Trying again now. I noticed you didn't even need to reset to make it work.

Cheers.

Yes, I tried again and it did work.
However, i know it a bit too much to request as this is a huge effort already
but is there a way i can configure it to switch or looping through all the loaded apps currently in the task manager by repeatedly double down action swiping each time?

Cheers.
 

din0_22

Senior Member
Mar 23, 2006
100
1
i dont get it? im following the above procedure..
install .cab
run LMT from start menu
edit registry of multitouchdemo to 1
save registry and exit

it appears that whnever i do a two finger swipe down the gesture appears but nothing will happen
if i swipe up it will close the application..

i tried restaring the HD2 but still the same.

my rom, duttys holy grail 1.6
 

HTCHD2_2010

Senior Member
Feb 2, 2010
75
1
i dont get it? im following the above procedure..
install .cab
run LMT from start menu
edit registry of multitouchdemo to 1
save registry and exit

it appears that whnever i do a two finger swipe down the gesture appears but nothing will happen
if i swipe up it will close the application..

i tried restaring the HD2 but still the same.

my rom, duttys holy grail 1.6

I think you must have accidentally set the registries by doing a double swipe question mark.
Now go to your registry to check what is your HKLM\Software\LMT\TopToBottomLineDouble currently set to and then change the value back to what you want eg: "\windows\TaskMgr.exe" , means double swipe down will take you to your TaskMgr no matter where you are.

Hope I can help out.
 

yngvebn

Senior Member
May 13, 2008
235
0
Oslo
Simply amazing! Exactly what I was looking for :)

Great work guys! Unleashing the true power of HD2 and Windows Mobile :)
 

cshuwing

Senior Member
May 6, 2008
117
9
Hong Kong
double swipe down will execute taskfacade by default.
if ur device doesnt have taskfacade installed, double swipe down will do nothing.
thats why i re-connect double swipe down with taskmgr.exe

as suggested by above, u can maually edit the regkey...
or follow this:
1. open the program that u want LMT link to
2. On the screen showing your program, Double swipe question mark
3. Then, double swipe your desired gesture. (Read the supported gestures)
4. It's done.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    LMT is a tool for the HD2 that launches a program when perform single touch or multitouch gestures on the screen. You can connect internal commands and external apps to any gesture LMT supports. See a video here.

    Installation

    Download the latest version, copy it to your HD2, start the cab via file explorer and install LMT on internal memory. After installation start LMT. You won’t see any GUI since LMT is a background process. Try at first the double swipe up gesture. If everything works fine, you’ll see the corresponding overlay and the foreground process will be closed (closeApp is the default action for double swipe up).

    Gestures

    • SwipeRightDouble
    • SwipeLeftDouble
    • SwipeUpDouble
    • SwipeDownDouble
    • SwipeRightLeftDouble
    • SwipeLeftRightDouble
    • SwipeUpDownDouble
    • SwipeDownUpDouble
    • QuestionmarkDouble
    • SquareDouble
    • DiamondDouble
    • Square (start gesture top left cw)
    • Diamond (start gesture at the bottom cw)
    • Delete (start gesture top left)

    gesturesoverview.jpg


    Learning gestures

    There are two ways to connect apps to gestures. The first one is to draw the “learn gesture” on the screen and afterwards the gesture, you want to connect the current foreground app with. This method is easy but has some limitations. You cannot assign process arguments or assign internal commands to gestures. The second way is to configure LMT via registry. Navigate with your preferred registry editor to HCKU\Software\LMT. Here you can see which commands are currently connected to a gesture and you can edit any gesture/app relation. To assign an external app to a gesture insert the full path to the process: [Full path to exe],[arguments]. E.g. "\Windows\tmail.exe,-RunInBKG". To assign an internal command to a gesture insert on of the following command strings.

    Commands
    • “CloseLMT” -> close LMT
    • “CloseApp” -> close the foreground app
    • “Learn” -> activate learn mode
    • “Back” -> send back key
    • “Start” -> start menu
    • “Lock” -> lock phone
    • “Phone” -> start Phone app
    • “Up” -> send Dpad up
    • “Down” -> send Dpad down
    • “Left” -> send Dpad left
    • “Right” -> send Dpad right
    • “PrevApp” -> switch to previous app (Alt-Tab feature)
    • “NextApp” -> switch to next app (Alt-Tab feature)
    • “Home” -> switch to Homescreen
    • “Rotate” -> rotate screen
    • “Controller” -> activate the controller mode

    Controller Mode
    controllerFPSEce.jpg


    Use the controller as a generic gamepad for e.g. FPSEce, morphgear or flash games. The controller is multitouch capable and converts the touches to key events. You can define the keys to be sent via registry value "ControllerKeys": Down, up, left, right, 1, 2, A, B, C, D, X, Y. The button "R" toggles between portrait and landscape mode and partial and full screen lock. The button "X" deactivates the controller mode. The registry value "ControllerVibrate" defines the vibrate status: 0=off, 1=default, >1=time in ms. To quickly install and configure LMTs controller with FPSEce and morphgear I made a fpse.ini file and a registry file for morphgear. The howto:

    FPSEce:
    • install FPSEce on internal memory
    • before first start replace the existing fpse.ini with the attached one
    • now start FPSEce
    • load a rom, start LMTs controller and have fun!

    Morphgear:
    • install morphgear and e.g. the generator plugin on internal memory
    • start morphgear and close it again
    • import the attached registry file
    • now restart morphgear again
    • load rom, start LMTs controller and have fun!

    These aren't the perfect settings since I only patched the key inputs to work properly with LMTs controller but it's a good base for further settings. If anyone has better settings, it would be nice if he could post them here... :)

    Settings

    There are 3 blacklists available to exclude processes from taskswitching (BlackListSwitch), from the closeApp feature (BlackListClose) and to deactivate LMT when the process is the current foreground app (BlackListAll). Just add the full path to the process to the multistring. There is also 1 whitelist available: WhiteListBack. If Opera 9 is the current foreground app and you activate the internal command “Back”, LMT will send a special key to navigate back in Opera.

    With the registry value “SingleTouchGestureSupport” you are able to activate or deactivate the single touch gestures (Square, Diamond and Delete) and with the registry value “TapAndHoldGestureSupport” you can activate a special feature where you can draw all dual touch gestures with one hand: Just tap with one finger somewhere on the screen and draw "one part" of the multitouch gesture with another finger. Then release the tapped finger and the gesture will be recognized.

    Changelog 0.8
    • Fixed rotation feature
    • Controller button "R" now toggles between: Portrait (fg app touchable) -> Landscape (fg app touchable) -> Portrait (full screen lock) -> Landscape (full screen lock)
    • Added Mario feature in controller mode: The areas between A and B, C and D and X and Y will lead to both keyevents. When you e.g. run in Mario Bros. with button "C" and jump with button "D" you can run with "C" and then slide your finger right. Then "C" and "D" will be both pressed. Mario will run and jump... :)
    • Fixed rotate and exit button in controller mode (no interference with fg app)
    • Added dword reg value "ShowOverlay": 0=overlays deactivated, 1=overlays activated with default time, >1=overlays activated with custom time (ms)
    • Optimized square gestures
    • Removed arrow gestures
    • Added 5 new mt gestures: Double Diamond and Swipe left/right, right/left, up/down, down/up
    • Added 1 st gesture: Diamond
    • Added \Windows\services.exe to BlackListClose
    • Set new defaults for gestures (see registry!)
    • LMT is now rotation arware and works also in landscape mode (only 270°)
    • Controller supports now real landscape mode (e.g. for flash games)
    See full changelog in changelog.txt attached!
    1
    Due to the fact that I had the same idea than l3v5y to develop a multitouch gesture launcher based on the PenTrac approach, we decided to develop LMT together. This is our first alpha version:

    LMT is able to launch and close processes with multitouch gestures. The following gestures are currently supported (see gestures.jpg in attachments):

    - DoubleSquare: Close LMT
    - DoubleQuestionMark: Learn mode; the following gesture will be connected to the process related to the foreground window. Next time the gesture is done, LMT will start the connected process
    - DoubleLineUp: Close the current process
    - DoubleLineDown: Connect e.g. to TaskFacade as a “Multitouch Taskmanager”
    - DoubleLineLeft, DoubleLineRight
    - DoubleArrowLeft, DoubleArrowRight

    We decided to support only special multitouch gestures to not interfere with normal scrolling gestures or the HTC pinch to zoom feature. I hope someone can try our first version and give us a bug report, comments to new features, etc…
    1
    Thank you very much ;) Unfortunatelly this exe file that you attached, kills the start menu function of my HD mini (WM 6.5.3). I guess that it kills shell32.exe. "closeall" feature is the only thing i need. In LMT you can configure in the registry settings which apps will not close. In this exe you can't do that. Maybe that's the problem.

    Oh, as I said: I only tested it in the simulator! :) See my post above for a fixed version. I added the following apps to the blacklist:

    \windows\\manila.exe
    \windows\\shell32.exe
    \windows\\gwes.exe
    \windows\\services.exe

    Does it work now?
    1
    Hi, i already ported lmt to android (see my posts above) and I'm using it for 2 month now. For a release i still have to iron out some bugs and implement some GUI features. Problem: I'm a little bit lazy atm... :)

    Sent from my HTC EVO 3D X515m using XDA App