blob: 46a238bbaad1a5547872888aebc8c5eb66712363 [file] [log] [blame]
Version = 0.5
;----------------------------------------------------------------------------------------------------------------------------------------
; Platform: Windows XP/Vista
; Author: Michel Such
; AutoHotkey Version: 1.0.47
; Version : Alpha release 1
;
; Script Function:
; Facility to configure Braille device and communication port
; for Windows version of BRLTTY
#SingleInstance
#NoTrayIcon
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
CnfFile = %A_ScriptDir%\etc\brltty.conf ; Configuration file for BRLTTY
Gosub SetLanguage
IfNotExist, %CnfFile%
{
Msgbox, 0, %ScriptName%, %CnfFileNotFoundMsg%
ExitApp
}
Gosub SelectPortAndDisplay
Return
SelectPortAndDisplay:
; Fill a listbox for port selection
ComPorts = USB:,BLUETOOTH:|USB:|BLUETOOTH:
ComPorts = %ComPorts%|COM1|COM2|COM3|COM4|COM5|COM6|COM7|COM8|COM9
ComPorts = %ComPorts%|COM10|COM11|COM12|COM13|COM14|COM15|COM16|
; Fill a listbox for terminal selection
; getting data from brltty.conf
Loop, read, %CnfFile%
{
IfInString A_LoopReadLine, #braille-driver
{
Term := SubStr(A_LoopReadLine, 17)
StringReplace, Term, Term, #, -, 1
TermList = %TermList%%Term%|
}
}
; Draw and display the window
Gui, Font, S12 CDefault, Arial
Gui, Add, Text, x6 y6 w800 h160, %HelpText%
Gui, Add, Text, x6 y166 w400 h20, %SelectBrailleDisplayText%
Gui, Add, ListBox, vTerminal x6 y190 w400 h150 hscroll vscroll , %TermList%
Gui, Add, Text, x412 y166 w400 h20, %SelectBraillePortText%
Gui, Add, ListBox, vComPort x412 y190 w400 h150 hscroll vscroll , %ComPorts%
Gui, Add, Button, vSend gValidate x640 y352 w100 h24 +Default, %OKBtn%
Gui, Add, Button, vCancel gGuiClose x750 y352 w100 h24, %CancelBtn%
Gui, Show, AutoSize Center, %ScriptName%
;Use Escape to immediately leave the program
Escape::
Gosub GuiClose
return
return
;--------------------------------------------------------------------------------------------
; Functions
;------------------------------------------------------------------------------------------
Validate:
GuiControlGet, Terminal
if Terminal =
{
Msgbox 0, %ScriptName%, %NeedToChooseAFileMsg%
ControlFocus, %SelectBrailleDisplayText%, %ScriptName%
Return
}
GuiControlGet, ComPort
if ComPort =
{
Msgbox 0, %ScriptName%, %NeedToChooseAPortMsg%
ControlFocus, %SelectBraillePortText%, %ScriptName%
Return
}
SetTimer, ChangeButtonNames, 50
Msgbox 1, %ScriptName%, %YouHaveSelectedMsg% %Terminal%`n%ConnectedToPortMsg% %ComPort%
IfMsgBox OK
{
IfInString ComPort, COM
{
FileAppend braille-device serial:%ComPort%`n, %CnfFile%
}
Else
{
FileAppend braille-device %ComPort%`n, %CnfFile%
}
StringReplace Terminal, Terminal, -, #
FileAppend braille-driver %Terminal%`n, %CnfFile%
; Restart BRLTTY if the -r parameter was passed
If 1 = -r
{
SplitPath, ComSpec,, SysDir
; Stop BrlAPI and BRLTTY if started
RunWait, %SysDir%\net.exe stop BrlApi
RunWait, %A_ScriptDir%\bin\brltty.exe -R
; Restart BRLTTY and BrlAPI
RunWait, %A_ScriptDir%\bin\brltty.exe -I
RunWait, %SysDir%\net.exe start BrlApi
}
Gosub GuiClose
}
ControlFocus, %SelectBrailleDisplayText%, %ScriptName%
return
;----------------------------------------------------------------------------------------------------------------------------------------
;End the program
GuiClose:
Gui, cancel
GuiEscape:
ExitApp
;----------------------------------------------------------------------------------------------------------------------------------------
; Support for different languages
SetLanguage:
; This procedure uses the AutoHotkey A_Language variable
; which contains the language code of the system the program is running on.
; To get a list of A_Language values and corresponding languages, goto:
; http://www.autohotkey.com/docs/misc/Languages.htm
languageCode_040c = French
languageCode_080c = French
languageCode_0c0c = French
languageCode_100c = French
languageCode_140c = French
languageCode_180c = French
languageCode_0416 = Portuguese
languageCode_0816 = Portuguese
the_language := languageCode_%A_Language% ; Get the name of the system's default language.
if the_language =
{
the_language := "English"
}
Gosub %the_language%
Return
ChangeButtonNames:
IfWinNotExist, %ScriptName%
return ; Keep waiting.
SetTimer, ChangeButtonNames, off
WinActivate
ControlSetText, Button1, %OKBtn%
ControlSetText, Button2, %CancelBtn%
return
English: ; English translation (default)
ScriptName = BRLTTY Configurator %Version%
CnfFileNotFoundMsg = File %CnfFile% not found.
NeedToChooseAFileMsg = You must select a braille display
NeedToChooseAPortMsg = You must select a communication port
YouHaveSelectedMsg = You selected terminal
ConnectedToPortMsg = attached to port
HelpText =
(
Please choose the braille display type and communication port.
- If your braille device is USB,
* if you have installed your manufacturer's driver, you should rather select its virtual COM port if it provides one,
else select "USB:" to use libusb-win32's filter,
* if you do not want or can not install your manufacturer's driver, you can select "USB:" here and install
libusb-win32's driver.
- If your braille device is serial, is connect through a serial to USB converter, or through bluetooth, just select the
proper COM port. Make sure to select the proper braille display as incorrect probing seems to possibly brick some devices.
)
SelectBrailleDisplayText = Select braille display
SelectBraillePortText = Select communication port
OKBtn = &OK
CancelBtn = &Cancel
Return
French: ; French translation
ScriptName = Configurateur BRLTTY %Version%
CnfFileNotFoundMsg = Le fichier %CnfFile% est introuvable
NeedToChooseAFileMsg = Vous devez choisir un afficheur braille
NeedToChooseAPortMsg = Vous devez choisir un port de communication
YouHaveSelectedMsg = Vous avez choisi l'afficheur
ConnectedToPortMsg = connecté au port
HelpText =
(
Veuillez choisir le type d'afficheur braille et le port de communication.
- Si votre afficheur utilise un port USB,
* si vous avez installé le pilote de votre fabriquant, vous devriez choisir son port COM virtuel s'il en fournit un, sinon
choisissez "USB:" pour utiliser le filtre libusb-win32,
* si vous ne voulez pas ou ne pouvez pas installer le pilote de votre fabriquant, vous pouvez choisir "USB:" ici et
installer le pilote libusb-win32.
- Si votre afficheur braille utilise un port série, ou est connecté via un adaptateur USB vers série, ou via bluetooth, choisissez simplement
le port COM approprié. Assurez-vous de choisir le bon afficheur car un choix incorrect semble parfois planter certains matériels.
)
SelectBrailleDisplayText = Choisissez l'afficheur braille
SelectBraillePortText = Choisissez le port de communication
OKBtn = &Accepter
CancelBtn = A&nnuler
Return
Portuguese: ; Portuguese translation
ScriptName = Configurador do BRLTTY %Version%
CnfFileNotFoundMsg = O ficheiro %CnfFile% não foi encontrado
NeedToChooseAFileMsg = Tem que seleccionar uma linha Braille
NeedToChooseAPortMsg = Tem que seleccionar uma porta de mcomunicação
YouHaveSelectedMsg = Seleccionou o terminal
ConnectedToPortMsg = conectado à porta
HelpText =
(
Por favor escolha o tipo da linha Braille e a porta de comunicação.
- Se o seu dispositivo Braille é USB,
* se tem instalado o driver do fabricante, deverá seleccionar a porta de série respectiva se existir, caso contrário
seleccione "USB:" para usar o filtro libusb-win32's.
* se não pretende ou não consegue instalar o driver do fabricante, pode seleccionar aqui "USB:" e instalar
o driver libusb-win32's.
- Se o seu dispositivo braille trabalha via porta série, seleccione a apropriada. Tenha a certeza que selecciona a linha Braille correcta visto que
utilizar drivers errados poderá danificar alguns dispositivos...
)
SelectBrailleDisplayText = Seleccione a linha Braille
SelectBraillePortText = Seleccione a porta de comunicação
OKBtn = &OK
CancelBtn = &Cancelar
Return