| 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 |