becta logo
[oats-sig] Dasher for programmers.

Steve Lee steve at fullmeasure.co.uk
Wed May 30 10:39:37 BST 2007

Article: [oats-sig] Dasher for programmers.

I've Nothing to add to the thread.

On 5/29/07, Simon Judge <simon.judge at nhs.net> wrote:
> 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: oats-sig-bounces at lists.becta.org.uk
> [mailto:oats-sig-bounces at lists.becta.org.uk] 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
> **********************************************************************
>
>
>


-- 
Steve Lee
--
Open Source Assistive Technology Software
PowerTalk - your presentations can speak for themselves
www.fullmeasure.co.uk


  Main Becta Site  | Return to top