BX, the JAWS Toolbox
This page is laid out for easy navigation via JAWS:
- Use h to jump from section to section.
- Use Tab to move among links for
different script versions. JAWSKey+F7 should also provide
a list of these links.
This dynamic version began on March 28, 2017 and supports JAWS 15 and later but no older JAWS versions.
Revision 2325, released March 08, 2020
A block of BX code that has been active since 2003 was found occasionally to cause performance problems during focus switching between applications.
This update is therefore recommended for all BX users.
The performance issue appears to affect JAWS 2020 and possibly 2019 and consists of speech and keyboard stalls of several seconds' duration when the user switches between applications and then very quickly tries to issue
commands to the newly focused app.
Along with removal of this code block, the following four BX commands are removed:
- In Window Navigation, Ctrl+Shift+a and Ctrl+Shift+v for jumping to the window that last called
- In MSAA Navigation, Ctrl+a and Ctrl+v for jumping to the object that last called
Revision 2303, February 15, 2020
- The message "can't make the wsc file" should no longer speak when the computer displays the lock screen due to inactivity.
- NumPad5 is globally duplicated in keymaps by comma (,), with the same modifiers wherever they occur, so that users without a number pad can more easily use those commands.
- In UIA Navigation, numbers 1 through 9 and 0 go to 10%, 20%, etc., through 100% of the RangeValue if the current UIA element supports that pattern.
The dash (-) goes to 0%, the start of the range.
The value being set is announced and then applied, then the refreshed value is spoken.
The equal sign (=) announces the current value without changing it.
- In XML Testing, Ctrl+l maintains a config-file
XMLLoadPath folder so that simple file names can be used except when changing folders.
- Ctrl+s in Braille Testing toggles the Braille Viewer application on/off.
- Commands in Braille Testing that move the Braille display announce the resulting displayed line as originally intended, and also more immediately than in the past.
- The Browser map is now the map used as the application map for Slack. This map is reached with BXQuickKey a, if the QuickKey is configured.
beep() calls are saved, up to 20; and a triple JAWSKey+Shift+b shows them in a virtual view.
This is intended as a quick debugging aid for script developers.
- Removed the HTML report commands, documentation, and code. This report only worked in IE and would not port well to FSXML because it modified the IE DOM to do its work.
Revision 2246, October 14, 2019
- The BX Update feature assumes lower-case web file names. Long term, this will avoid letter casing problems between Windows and the website.
In the short term though, BX Update may fail for some applications with scripts until the actual web file name for those scripts is corrected.
Revision 2244, October 9, 2019
- Fixed removal of the BX QuickKey if configured (manually) by the BX user in bx_user.cnf.
Caught and reported by Tyler Rodick (@TylerK93).
- Fix for mistimed announcement of the Ctrl+l keystroke in XML Testing.
- Shift+x in Cursor Navigation, for showing the
GetScreenXML result and placing it on the clipboard, is moved to Shift+s in XML Testing.
- Shift+d in XML Testing shows the
getDocumentXML result and places it on the Windows clipboard.
- Shift+e in XML Testing shows the
getElementXML result (with all ancestors included) and places it on the Windows clipboard.
- d in UIA Navigation says the UIA fullDescription before the LegacyIAccessibleDescription. Doubling the d spells both.
- Ctrl+f in XML Testing may work in more virtual cursor positions than before.
Revision 2214, July 3, 2019
This revision fixes a problem some users experienced with the BX Update system.
It also replaces some oddly-located features with more sensibly located and flexible commands and maps. The new commands and maps will be described first, followed by the removed commands and how they were replaced, and finally
some other changes and enhancements beyond the new commands and maps.
New commands and maps:
- ' x goes to a new XML Testing map designed to allow tree-like navigation in an arbitrary XML structure.
This map is the basis for several other new maps, but it also has commands for loading XML directly from several sources:
On loading XML from any source, BX will try to switch to a map best suited for the XML found but will stay in the XML Testing map if no better one is found.
- Ctrl+V loads XML from the Windows clipboard. Coupled with the ability to save XML to the clipboard in a Remote Desktop or JAWS Tandem session, and leveraging the other new maps, this permits local exploration of
remote accessibility structures.
- Ctrl+l prompts for a file path from which to load XML, which permits exploration of any XML structure that currently resides in a text file. This may be useful for examining software configuration files when
- ' Shift+s goes to a new Screen XML Testing map. This map allows navigation of the XML structure returned by
There are also new links to this map from others:
- The Cursor Navigation map now has a Context map with an x entry for going to Screen XML Testing while automatically retrieving the
getScreenXML tree for the current screen.
This replaces the previous technique of getting to this structure from the HTML Testing map; see below.
- The Rectangle Examination map's Context map now has an x entry for going to the getScreenXML structure for the current rectangle.
There was previously no way in BX to do this.
- ' Shift+a goes to a new AccessibleObjectTree XML Testing map. This is for navigating the XML structure returned by calling
getXML(-1) on an
AccessibleObject tree node.
Again, other maps now link to this one:
- The AccessibleObjectTree Navigation map's Context map includes an x entry for going to the XML structure for the current object.
This replaces oddly-placed and more limited commands in HTML Testing for reaching this XML structure.
Removed commands and how to accomplish what they once did:
- Alt+s in HTML Testing, which moved to the
getScreenXML structure for the screen, is removed.
To get to this structure, go to the Cursor Navigation map and type . for its Context map, then x to get to the
- Alt+u and Alt+Shift+u in HTML Testing, for going to the UIA and MSAA
AccessibleObjectTree XML structures for the last visited window, are removed.
To reach these structures now:
- Select the window of interest as usual in the Window Navigation map.
- Use the map's Context map to go to the UIA or MSAA
AccessibleObjectTree object structure (. a for UIA, . Shift+a for MSAA).
- Use the AccessibleObjectTree Navigation's Context map to go to the XML structure for the current
AccessibleObjectTree object and its descendants (. x).
Other changes and enhancements:
- Some users who attempted to use the BX Update system to update BX itself encountered a freeze and an update failure.
There was one BX revision that required use of the full script installer, and updating BX past that revision via BX Update would cause this issue on the next BX Upate attempt.
This revision fixes this problem so that updating to this revision from a revision older than that one will not cause the issue.
Of course, if you have experienced this issue already, you will need to use the full installer to install this revision since BX Update is not working for you now.
- The HTML Testing Context map now uses r instead of l for all rectangle examination commands. r is now the BX-wide standard for Context maps to get to the rectangle map.
- The new AccessibleObjectTree XML Testing map is capable of announcing IAccessible2 role text during navigation.
These roles appear in AccessibleObjectTree nodes but not in MSAA. The only other way to find them is from UIA via the
QT5 applications such as TeamSpeak 3 can use these roles, as can web pages and browser-based apps, notably Electron apps.
- When obtaining an XML DOM tree for XML obtained from an
AccessibleObjectTree structure, BX will work to correct XML errors that would otherwise prevent the Microsoft XML parser from successfully rendering an object tree.
These corrections make examination of such trees possible in BX.
These errors will likely be prevented entirely in a future JAWS update.
In current JAWS versions (through the June JAWS 2019 update), they are caused by characters appearing in application text that are not permitted without alteration in an XML tree.
- Several related maps have acquired help and sometimes actual commands from their base maps:
- The following maps inherit help and non-conflicting commands from Cursor Navigation:
- Attribute Field Navigation
- Color Field Navigation
- ItemRect Testing
- Object Examination
- Pixel Navigation
- The Window Messages map inherits from the Window map.
- The iTextSelection map duplicates the iTextRange map.
- The UIA Find and UIA Virtual Elements maps include non-conflicting commands and help from UIA Navigation.
- l in the AccessibleObjectTree Navigation map has non-blank help text.
Other help text updates not listed here are also included in this update.
- In HTML Testing, a double press of Shift+i now spells the value of the
- In HTML Testing,
getElementID is now attached to a double press of i rather than a double press of Shift+i.
This function was never documented and is no longer part of JAWS.
- Support for calling
GetElementID is removed from FSXML Testing as it never applied there.
- e for editing, and d for deleting nodes are removed from the FSXML map as they were not useful there.
- The w, Shift+w, and Ctrl+Shift+w commands in Window Navigation for testing the JAWS
WindowVirtualView function are removed, along with their code, because the function itself
was removed in JAWS 11.0.
- The bx.kmp file is reorganized significantly.
- Some legacy code for supporting JAWS versions older than 10.0 is removed.
Revision 2171, June 7, 2019
- There is yet more code to handle web proxy situations during a BX Update retrieval.
The documentation here of this fact was missed until June 14, however.
- tlbinf32 files for object inspection are no longer included in BX. They were never used at work sites due to a DLL registration requirement, and they sometimes caused site protective software to block BX installation.
- A small bx.jsd file is included in the distribution, documenting the BX quick key when assigned, for JAWS Keyboard Help mode.
- QuickKey b no longer loads the Braille Testing map but instead provides a battery checking feature described below this feature list.
- p in the UIA map, for the Selection pattern, reports names of selected elements if there are five or fewer of them.
- Removed from COM Object Testing the warning against using r, for
RichEditDocument, against a non RichEdit20/40w window. This applied in 2003 to JAWS 4.51
but probably is by now not necessary.
- Fix in COM Object Testing: r and a double i ignored the window handle by accident. This fix makes r work as intended on the current BX window.
There is no effect on i though because the
IEGetCurrentDocument function still does not accept a window handle.
- A double apostrophe ('), for switching to the current location's COM object type's map, works for types with numeric suffixes like
iTextDocument2 when there is only a map for the base type.
This can help when a COM interface specification receives an upgrade.
- Added ItemContainer pattern support that works in at least the Windows Explorer item list:
- psays first selection and first element.
- Alt+p from there says selection and element counts, which may take time on a large container.
AccessibleObjectTree (AOT) code tries to work around an anomaly found in the
.xml property in some cases under at least JAWS 17:
An ampersand (&) character followed by a space would throw a parsing error if fed to the Microsoft XML parser. BX will replace such ampersands with
& to avoid the parsing error.
- When removing text elements from an Ins+B read from UIA Navigation, BX omits underscores from the comparison of text element name to parent name,
so that the marking of hotkeys/underlined letters does not cause the code to fail to filter out a duplicate name.
Typeing QuickKey b toggles on/off a battery watching feature described below and also speaks, and shows in Braille where applicable,
"on" or "off" indicating whether the watch feature is on or off, then the following very briefly summarized computer power status information:
- The first character is p when the computer is running on AC power, or b when it is running on battery power.
Other rarely seen but possible values are u if the currently active power source is not known, and x (followed by
numbers indicating a raw integer result) if the system's response to a request for this information returned something unexpected.
- Following characters can be c for critical battery level, l for low, h for high, or n for no battery present.
Normally only one of those characters should appear at one time.
r means the battery is charging; if r does not appear, the battery is not reported by the system as charging.
Again, u for unknown status, or x followed by numbers may appear if unexpected results come back from the system.
- A space, then the current charge percentage follows, as a number between 0 and 100, inclusive; or 255 if the percentage is not known.
The percent character (%) follows this.
- When known, a space and then the number of hours/minutes/seconds of battery life remaining appears.
Typical battery status examples:
bl 25% 21 minutes remaining
If the watch feature is on, any change in the above status information, except for hours/minuts/seconds remaining, is reported as it occurs.
To turn the watch off again, type QuickKey b again.
Revision 2127, April 22, 2019
- Support for navigating FSXML trees, previously housed in the "HTML Testing" map which was thus renamed to "HTML and XML Testing" for a while, now has its own map. This update consists of these related changes:
Several commands initially in the HTML and XML Testing map for testing FSXML trees have different keystrokes now in the FSXML Testing map, for consistency with the structure of other maps.
- ' f goes to a new "FSXML Testing" map, which contains only commands relevant to testing FSXML trees.
- The HTML testing map is again named simply "HTML Testing" and applies only to testing of the Internet Explorer Document Object Model (DOM).
- The BX Quick Key support for task numbering and switching, and the support for test functions, are better documented.
- Means are included to get BX Update to work through more proxy situations, though the documentation for recent updates in this system was lost due to an accident.
- The code for obtaining a list of running tasks is updated to include a few edge cases, though currently at some expense to execution speed.
Newly included tasks include Microsoft Teams and Microsoft Office update completion notification windows.
- Exiting BX by typing JAWSKey+Space or Insert+Space twice no longer causes a beep.
- Fixed the long-standing bug of m g <markLetter>> failing to switch to the right map though Windows+<markLetter> did so.
- BX now tries during JAWS CachedMSAAInfo retrieval
(Shift+c in the Object Examination map)
to get only ancestors that exist rather than trying to retrieve 99 levels of data.
Revision 2085, March 5, 2019
- Ctrl+JAWSKey+r from any map restarts BX and leaves it active.
- Improved means of handling web proxy servers during script updates.
The bx.htm documentation is updated accordingly.
- Fix to long-standing typos that broke the Describe (Space) description for the slash key at the default level.
- The sequence QuickKey a from within Internet Explorer, Firefox, and Google Chrome provides a few useful functions for browsers.
This sequence previously only worked from within Internet Explorer.
The most useful sequence is probably QuickKey a Shift+a, which does the same advanced-element-info retrieval as the default JAWSKey+Ctrl+Shift+F1 command. This alternative may be useful from keyboards which
are unable to issue the standard JAWS command due to its complexity.
- In the Browser map just mentioned, g and d apply to FSXML instead of the IE document object model.
These commands are minimally supported, however, as their use requires a command-line-based "diff" utility that is not included with BX.
- Some obsolete code is eliminated.
Revision 2041, November 19, 2018
This release contains several miscellaneous changes as well as a coordination of features for updating scripts.
- Shift+v in UIA Navigation reports the value of the UIA
- In the UIA map, pattern query changed from d to shift+d, and d now announces
- In Global Functions, the n command's help string finally documents the fact that, in addition to reporting network user and domain names and computer name from the
WScript.Network object, it also
reports any of
userProfile that have a value.
The BX author to date has never observed values for these attributes, however.
- In Global Functions, the u command for retrieving values of
GetRegisteredTo is now changed to Shift+n.
It also spells the three values if typed twice in quick succession.
- The command sequences for retrieving CPU usage percent (QuickKey d w c) and highest CPU utilizer (QuickKey d w shift+c)
See "The BX Quick Key" in the BX User's Guide for more information about the BX Quick Key.
- Should work in console settings like cmd on Windows 8/8.1/10, and
- Allow 7 seconds instead of 3 per COM call under JAWS 16 and later.
- a in HTML and XML Testing, intended for adding an attribute to an HTML node, is removed because its code was never written and it would only apply to Internet Explorer environments.
BX now includes means to pull updates to itself and to scripts for running applications from the BX author's website.
All updates use secure https rather than http to retrieve update files.
Warning: Use of the below update commands should be considered equivalent to following a beta track, as incomplete and experimental features may appear from time to time via such updates.
This warning applies to both updating BX and updating scripts for other applications.
Also, the update system's ability to function may be dependent on local and network policy restrictions on web access and/or local file and folder access.
The following commands from the Global Functions map are available for performing updates:
- u attempts to update the scripts for the running application.
- Shift+u attempts to update the scripts for the running application without regard to any special scripting project namespace that may apply to this machine. This will not be of concern to anyone for
whom the BX author has not done direct scripting work.
This command may be useful though for those for whom such work has been done; e.g., to update scripts for Skype or Skype For Business (SFB) on a machine that is otherwise considered to be part of a specific scripting project.
- Ctrl+u attempts to update BX itself.
For those who have defined a BX Quick Key, the same three keys typed after QuickKey d
will also work.
See "The BX Quick Key
" in the BX User's Guide for more information.
Revision 1982, August 9, 2018
- The CPU load query command sequences, ] d w c and ] d w C, should work more often. Previously they would fail in console windows. Now they will most often succeed in a console window if already once run
since JAWS restart in a non-console window.
- The BX Configuration map, ' ctrl+b, contains a command (f) that toggles the effect of the JAWS Script Utility Mode command. By default, the Script Utility Mode command turns on BX when BX is loaded;
and typing the command twice quickly instead turns on Script Utility Mode. This toggle switches these so that a single press activates Script Utility Mode and a double press activates BX.
Typing f once in the BX Configuration map simply announces the toggle's current state. Typing f more than once, regardless of how fast, toggles the setting back and forth between the two alternatives.
This BX update fixes the announcement of the new state when it is toggled. The toggling worked before but was announced incorrectly.
Revision 1970, June 25, 2018
s in Object Examination includes the hex value from
GetObjectStateCode, a function that has been around for a long time.
In sufficiently new versions of JAWS 2018 and later, pressing s twice will report the hex values from
GetObjectIA2State, and pressing three times will report the hex
At least the first two of these three new functions are documented in versions of JAWS 2018 prior to their actual implementation in JAWS itself.
Revision 1961, May 8, 2018
- The minimum JAWS version for BX is now changed from 14 to 15.
bx_user.conf allows a new fastSpeechHistory setting. When set to 1, this causes the JAWS Ins+Space H sequence to bring up speech history in the old JAWS user buffer instead of the newer Results Viewer. Especially if userBuffer display is switched Off in JAWS settings, this results in much faster availability of speech history when this command is typed.
- Shift+C in the WTM QuickKey map includes highest processor user and usage percent under Windows 8/10, though out of 100 instead of within total CPU usage.
- In the UIA Navigation map, the UIA native window handle command is now w instead of Shift+H.
- In Global Functions, Shift+V reports major and minor Windows version numbers when unable to determine a friendlier name for the active Windows version.
- Some obsolete features of BX are removed, along with some superfluous output error messages held over from many years ago.
- The installer is a bit more likely to succeed in locations where read access to the Windows registry is not allowed.
Revision 1876, September 6, 2017
- The installer works under JAWS 2018 beta and should work under JAWS 2018 when it is released.
- If the installer fails to find a usable JAWS instance, it will display a log to help the developer understand why.
- l in HTML and XML Testing returns the bounding rectangle of an FSXML element when possible, though it may first move the element onto the screen.
- Shift+L in Window Navigation reports element count alongside length for
and the help string for the command is more accurate.
The text returned for double and triple presses may sometimes be cut short though.
- BX now includes nine new properties in UIA property lists that are not mentioned in the JAWS 18
A JAWS restart after updating BX may be required before these properties will appear in the Alt+Right property lists for UIA elements.
r8 variable types are reported properly in and out of arrays in the UIA element property list.
- A double d in UIA Navigation lists custom property values when property ids are available.
- Numerous tests for JAWS versions that BX no longer supports are removed.
- Shift+M in Global Functions reports Metro app name and version along with the already-reported
- Shift+A in Global Functions is just one function test, and Alt+A is removed.
These changes reflect changes to JAWS' handling of ARIA applications in or after JAWS 13.
- Multiple updates for virtual view handling (Shift+V in Cursor Navigation):
- The type "static text" is no longer announced.
- Regions no longer include type names on their start and end lines because the lines already include this.
- The state "Vertical" sometimes found on combo boxes is removed.
- Task switching by number
(BXQuickKey w when a quick key is defined)
will now attempt a special approach for Skype For Business 2016 conversation windows when appropriate.
- Windows 10 Settings and Store windows no longer appear to BX as tasks when their UI windows don't exist.
- There is a UIAScriptAPI object cache, to work around the problem of the BX event tracker, loaded on top of active scripts,
CreateObjectEx to fail to get one.
Revision 1813, April 1, 2017
- bxman.htm is now just bx.htm for consistency with other projects.
- Typing BX QuickKey sequences very rapidly should no longer cause keys to reach the focused application.
- Event tracing without unloading current app scripts works again.
- s in Window Navigation no longer includes code comments.
- Ctrl+Shift+JAWSKey+RightArrow in MSAA Navigation works on modern JAWS and Windows versions.
- Tab position in a map is not lost by visiting and returning from one of its context maps.
- Some functionality may be slightly faster due to use of scripting capabilities added in JAWS 14.
Revision 1797, March 28, 2017
There are numerous improvements and additions over the 15a release, unfortunately not at this time listed here.
Download: Current Installer (also can be unzipped with 7Zip)
This version was released on January 20, 2014 and was long considered experimental.
It is the last version supporting JAWS 13 and older and is not recommended for newer JAWS versions.
- Bug fixes
- Error messages on 64-bit Windows machines, such as "can't make the VBS environment," should no longer speak.
- Vvarious VBScript and JScript errors from HTML Navigation commands should now speak without bringing up error dialogs on 64-bit Windows versions just as on 32-bit ones.
- Enhancements and changes
- Major rewrite of BX's internal structure for handling locations.
- For string comparisons, the "==" operator is now treated with JAWS 12+ semantics, i.e., full match rather than match only through shortest string. "StringComparison Partial" is no longer used in BX.
- This and subsequent BX versions will not compile or run properly under anything older than the latest update of JAWS 11.
- New UIA Navigation map that can help in UIA testing under JAWS 14 and later. Includes the ability to type a filter specification to choose the UIA view to navigate (raw, control, content, current process, specific control types, or any combination). More on filters below.
- New Context map from UIA Navigation for jumping from a UIA object to its window, MSAA element, or rectangle.
- New UIA Find map (/ from UIA Navigation) for collecting all elements matching a filter specification and moving through them with arrows. More on filters below.
- New Context map entries for Window and MSAA Navigation to jump to the corresponding UIA elements.
- Activating a map before you have a location (e.g., a window or MSAA object) will move to a default location for that map and announce this. This means you no longer have to type Ctrl+F when switching to Window or MSAA Navigation for the first time.
- Most maps, not just the Window Navigation map, save their previous locations across BX activations. This means, for example, that MSAA Navigation will stay at the last object/element visited even when you turn BX off and back on. A JAWS restart will of course reset all this.
- Marks are no longer saved across JAWS restarts.
- There is now a history system in BX: Alt+Shift+UpArrow returns to the previously visited location and the map from which it was visited. Subsequent presses retreat up to 20 locations back through visitation history. Alt+Shift+DownArrow steps forward through these locations. Both wrap at the end of the history saved.
- bx.jsd no longer contains function declaration overrides required for BX compilation.
UIA Filter Specifications
BX now includes a system for letting users specify UIA tree filters via an edit box. This system encapsulates the various Condition-building features of the new JAWS 15 (and undocumented but present in JAWS 14) UIAScriptAPI COM system.
Filter strings, or specifications, consist of a series of one or more items separated by single spaces. The items comprise an expression that forms a filter condition. The expression is in post-fix, or Reverse Polish Notation (RPN) format. This may be unfamiliar to some users but significantly simplifies expressions by avoiding the need for parentheses and for recursion in parsing (which JAWS does not support). Example expressions:
- Requests the entire UIA tree be visible for navigation.
- contentView focusedProcess and
- Include only content-view elements and only those in the focused Windows process.
- Shorthand for the above.
- FPRawView controlType checkBox controlType edit or and
- Include only checkboxes and edit controls in the focused process (this much complexity is rarely necessary).
Here are all the types of items permitted in a filter specification:
- contentView, controlView, rawView
- Require the given UIA tree view type.
- Require the process ID to match the focused application's process ID.
- One of the above with focusedProcess.
- Reverse the previous condition: "focusedProcess not."
- and, or
- Combine previous two conditions: "contentView focusedProcess and."
- property name
- The name of a property with a PropertyID. These are from UIA.jsh without UIA_ prefix and PropertyId suffix. Examples: Name, ControlType.
- value name
- The name of a value with an ID. Categories:
- Control types like CheckBox, Edit, and Hyperlink.
- Other constants without *_ prefix, like Horizontal and LargeIncrement.
- Other raw constants like Next that contain no underscore.
- False, True
- Create a boolPropertyCondition with the previous item. Example: "IsEnabled True." If not after a property, creates a False or True condition (directly in JAWS 15.0.5056+, simulated before that).
- int like 1, -50, etc.
- An integer value. Makes an IntPropertyCondition with the previous item. Example: "RangeValueMinimum -5"
- String like 'hello'
- A string value. Makes a StringPropertyCondition with the previous item. Example: "Name 'My UIA Application'" To get a literal apostrophe in a string, write two of them together. Backslash escapes like \t also work.
Download: 15a Installer (also can be unzipped with 7Zip)
This version was released on January 14, 2014.
This is the last BX version supporting JAWS 10 and older and is not recommended for newer JAWS versions.
This version calls itself "BX10" when Insert+Q is typed while BX is active.
- Window Navigation updates
- A double Shift+C reports the total number of descendants (at any level) under the current BX window. If a filter is in effect, the number of descendants matching the filter and the total number of descendants are announced.
- HTML Testing updates:
- Major event attribute announcement clutter in IE 9 fixed.
- Ctrl+L allows querying of element.getBoundingClientRect(), which appears to be the best way to get the rectangle containing an HTML element.
- Miscellaneous updates
- Major internal reorganizations including better modularization, more well-defined paths for data and execution to transfer among modules, and better namespace management. (This is an ongoing effort and is still not complete.)
- bx.jsd entries required for compilation under very old JAWS versions reduced.
- The distributed bx.jsb and other jsb files are compiled with JAWS 10.0 rather than JAWS 5.0.
- Various installer/uninstaller fixes, including better guessing of jfw.exe file location when not findable in the Windows registry (helps when JAWS is not on drive C), not interfering with SkypeWatch installations, better script chain management, and better handling of non-English BX uninstallation.
Download: 10a Installer (also can be unzipped with 7Zip)
This version contains numerous enhancements over previous BX releases,
not all of which managed to get documented here. One notable
enhancement is that the installer for this version properly handles
installation after other scripts that chain through default.jss, such
as the SkypeWatch scripts. This installer can also be unpacked with a
7Zip or compatible utility, so a separate zip of the BX files is no
longer necessary here.
The specific changes in this version are not listed here at this time,
though this may change based on time and need.
Users are advised to use Tab in each map
they use to find out what new items may exist.
Previous BX versions have been removed from this web site, as they
were causing problems in modern JAWS versions and custom script
Download: 130301 Obsolete version, download no longer available
This version updates and replaces the version released on September
11, 2007. Enhancements included are described below.
Changes are grouped by which map they
affect. Changes not specific to a particular map appear in the
"Miscellaneous" section. The "BX Configuration" section includes some
changes affecting configuration files but not the actual BX
There are numerous changes not listed here due to lack of time to
collect them all. Users are advised to use Tab in each map
they use to find out what new items may exist.
RightArrow and LeftArrow now move in and out of
frames as if they were part of the same node tree. JAWS will announce
when it enters or exits a frame in this manner. The old ways of doing
this, Ctrl+S to enter and Ctrl+LeftArrow to exit,
should still work, though Ctrl+S uses a different and older
method to find a frame's contents, and Ctrl+LeftArrow goes
to the containing frame's document object rather than to the frame
element itself. The new RightArrow code came from an idea
by Jonathan Avila.
Ctrl+F now drills through frames as necessary to land on
the innermost element with focus, instead of stopping on the focused
Frame element in the top-level document.
Shift+P now puts the current (in BX) element's document
outerHTML on the clipboard and in the JAWS virtual buffer, instead of
always putting the top-level document there.
Alt+Shift+S in MSAA Navigation will now select an MSAA element
without also setting focus to it.
The accent key (`
A double Shift+I in Window Navigation will now spell the
A double O in Global Functions now announces the result of isWinVista
in addition to isWin9x.
In BX Configuration, K now opens bx_user.kmp instead of bx.kmp, and
Shift+K opens bx.kmp.
Bx_user.kmp is the
recommended place to make personal maps and map entries.
Special Ctrl+Alt+arrow etc. behavior when BX is off can now be turned
on/off with the bx.jcf colorchk option. Unless disabled, these
commands move by pixel when a non-PC cursor is active, even outside
BX should now run under the following applications where it had
- Current versions of Microsoft Outlook.
- Microsoft PowerPoint.
- Windows Calculator.
- PCSWS.exe (IBM Personal Communications).
COM Object Testing
Alt+R in COM Object Testing now attempts to register
TLBInf32.dll, first in the Windows system directory, then in the Windows
directory, and finally in the JAWS user folder in case the BX installer
left the file there. Also, there should now be fewer complaints if you
use BX without this DLL.
The semicolon (;) now cycles among Cursor, Object, and Pixel
maps for convenience when pressed from within one of those maps.
There are numerous updates to the ListView Functions, TreeView
Functions, and ToolBar Functions maps that are not listed individually
There is a Skype submap accessible via the BX Quick Key that allows
dialing of any phone number under the active cursor if Skype is running.
BXQuickKey D S will enter this map, then D
will read the phone number that would be dialed without dialing it,
and Shift+D will actually dial it and exit BX.
UserBuffers will now more consistently end with the proper "Press ESCAPE
to close this message" message.
JAWSKey+E has been enhanced:
- It can now be used to run a line of JAWS code immediately from more
places than just in the JAWS Script Manager. Example: It works in Notepad.
- It even works from console windows (no pasting of results though).
- Selected text is now used in preference to the current line for
JAWSKey+E (except in console windows), so lines wider than the
screen can be used.
- Alt+Shift+E will repeat the last-run
Alt+E or JAWSKey+E command without bringing up an edit box.
The following items are newly documented in the manual, bxman.htm:
- More default commands (commands that run from within any map).
- The mark system for saving locations.
- The BX Quick Key and its current set of command categories.
Download: 100524 Obsolete version, download no longer available
This is the first public release of BX.
Sorry to say, the
is quite lacking; but there is much
built-in help, which is described by what external documentation does
exist. The documentation file is bx.htm, which is included in the
download and is also reachable via the link earlier in this paragraph.
Download: 070911 Obsolete version, download no longer available