This thread has some interesting options:
http://www.autohotkey.com/forum/viewtopic.php?t=4402
No personal experience of these tools on Linux though so maybe Steve/Heinrik
would know the best tool?
Cheers.
Simon
-----Original Message-----
From: [log in to unmask]
[mailto:[log in to unmask]] On Behalf Of Andre
Sent: Monday, May 28, 2007 5:10 PM
To: OATs Project Special Interest Group
Subject: Re: [oats-sig] Dasher for programmers.
Any idea how I could do the same on Linux?
Andre wrote:
> I spent the last three days programming in C using Dasher, and what
> made my life much easier was a program named AutoHotKey [1]. I wrote a
> small script for it that allows me to easily and quickly enter and
> exit the Dasher window without having to use the mouse or pressing many
keys.
>
> Basically, you press F12 to open the Dasher window, type whatever you
> need in it, and then press F12 again to go back to the original
> window, and have all the text you typed in Dasher entered into that
> original window. Note that I don't have to start or stop Dasher
> manually, I just press F12, mouse, and F12 again.
>
> The result was that I was always in my editor window (VIM) and only in
> Dasher when actually typing (Dashering)! :-)
>
> To use this script: install AutoHotKey, copy the script into a file
> with the extension .ahk and double click it. In Dasher, the option
> "Start on space bar" must be enabled.
>
> The script:
>
> ; Tested with Dasher 4.2.2 and AutoHotKey 1.0.46.01.
> ; Set "Start on space bar".
>
> F12::
> #WinActivateForce
> SetDefaultMouseSpeed, 0
> if on = 1
> {
> on = 0
> IfWinExist, ahk_class DASHER
> {
> IfWinNotActive
> {
> WinActivate
> WinWaitActive
> }
>
> ; Copy the text typed in Dasher to the clipboard, stop Dasher
> and minimize its
> ; window.
> clipboard =
> SendInput, {F5}
> SendInput, ^n ;[1]
> WinMinimize
>
> ; If the original window still exists, then bring it to the
> front and paste
> ; the Dashered text into it.
> IfWinExist, ahk_id %old_winid%
> {
> WinActivate
> WinWaitActive
> ; Ways for pasting:
> ; Middle click
> ;MouseMove, old_x, old_y
> ;MouseClick, middle
> ; Control-V
> ;SendInput, ^v
> ; Typing the characters.
> text := RegExReplace(clipboard, "\r\n", "`n")
> SendInput, {Raw}%text%
>
> ; Uncomment if you want to restore the original cursor
> position.
> ;MouseMove, old_x, old_y
> }
> Else
> {
> MsgBox, I can't find the original window. The text you
> typed is in the clipboard.
> }
> }
> }
> else
> {
> ; If the "save changes?" window is open, choose no.
> IfWinExist, Unsaved changes
> {
> ControlClick, &No,,,,, NA
> }
>
> IfWinExist, ahk_class DASHER
> {
> IfWinActive
> {
> MsgBox, Go to the window you'd like to type in and press
> the hotkey again.
> return
> }
>
> on = 1
>
> ; Remember the cursor position and the front window.
> MouseGetPos, old_x, old_y, old_winid
>
> ; Maximize Dasher and bring it to the front.
> WinMaximize
> WinActivate
> WinWaitActive
>
> ; Position the cursor on the center of the Dasher input area.
> ControlGetPos, x, y, w, h, CANVAS1
> MouseMove, (x + w / 2 + 29), (y + h / 2)
>
> ; Dasher >= 4 : sets Dasher speed to the configured value. The
> first ^n at [1]
> ; will have Dasher's actual speed half of that configured.
> SendInput, ^n
>
> ; Start Dasher.
> ControlFocus, CANVAS1
> SendInput, {Space}
> }
> Else
> {
> MsgBox, You must run Dasher manually.
> }
> }
> return
>
> --
>
> [1] http://www.autohotkey.com/
**********************************************************************
This message may contain confidential and privileged information.
If you are not the intended recipient please accept our apologies.
Please do not disclose, copy or distribute information in this e-mail
or take any action in reliance on its contents: to do so is strictly
prohibited and may be unlawful. Please inform us that this message has
gone astray before deleting it. Thank you for your co-operation.
NHSmail is used daily by over 100,000 staff in the NHS. Over a million
messages are sent every day by the system. To find out why more and
more NHS personnel are switching to this NHS Connecting for Health
system please visit www.connectingforhealth.nhs.uk/nhsmail
**********************************************************************
|