|
|
|
|
|
| [oats-sig] Dasher for programmers. | |
|
Steve Lee
steve at fullmeasure.co.uk
|
|
| 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 |