JAWS Scripts For VLC Media Player
Doug Lee
Last Revised May, 2024

This document describes the JAWS scripts for VLC Media Player (VLC) and provides tips for using this application with JAWS. This document can be opened from within the application via a double press of JAWSKey+F1 (or Insert+F1) when the scripts are running.

Warning: Although these scripts should work as advertised and will provide benefit to users, much more could be done for this application's usability with JAWS. Additionally, VLC itself at this writing (April, 2024) contains significant bugs that, in this script author's estimation, would adversely affect many users. It is for this latter reason that further scripting efforts for this application have been suspended. Specific bugs of note:

Table of Contents

System Requirements For JAWS Users

In addition to any system requirements for the application, the following apply for JAWS users:

Script Installation Instructions

To install these scripts on a new system:

  1. Install JAWS if this has not already been done. This will require administrative privileges on the computer.
  2. Run JAWS as the user for whom the scripts are to be installed. This and the following steps must be performed for each user of the computer who will be using JAWS with these scripts.
  3. Download and run, or run directly, the installer for these scripts; and follow the on-screen directions. Be sure to install the scripts in the currently running JAWS version if a JAWS version list is presented.
  4. To verify successful installation, type Insert+Q from within the application. Part of the JAWS spoken response should be a revision number. If you do not hear a revision number, the scripts are not correctly loaded. In some cases, restarting JAWS may fix this issue.

Key Sequences

These scripts incorporate commands that consist of sequences of keystrokes, all beginning with a common prefix, or "command keystroke." This approach allows many script commands without the risk of conflicting with application keystrokes. See the "Multi-Key Command Sequences" section of the "Common Script Elements" document for further details, including how to explore the available script commands (similar to exploring a menu system), and how to change the Command keystroke if necessary.

By default, the Command keystroke for these scripts is [. This document may refer to this keystroke as [ or Command; so, for example, [ Tab and Command Tab both refer to typing the prefix keystroke, then separately the Tab key. Some sequences may consist of more than two keystrokes, or "levels"; for example, [ d r would refer to typing [, then d, then finally r.

Script Commands and Features

These scripts provide the following commands beyond those provided by JAWS and the application:

These scripts also provide the following features:

A Quick Primer On VLC Usage With JAWS

This section is meant as a quick guide, but not a replacement for VLC documentation or its built-in keystroke list.

Setup tips

Common tasks and keystrokes

These keystrokes work when focus is in VLC:

Using the Advanced Preferences Screen

The Advanced Preferences screen can be reached by typing Ctrl+P from the main screen and using Left and Right arrows to select the All radio button instead of the Simple one. Whereas the Simple view shows a small number of checkboxes that act like a tab control as a means of selecting settings pages, the Advanced view shows a treeView of available pages, along with a search box that can be used to narrow down the pages available.

Typing in the search box will report the number of pages available as you type, so you can detect when your search is producing useful results. When you clear the box with Backspace, JAWS will say "all pages" to indicate that the tree is no longer filtered. Note that these counts represent only what is shown, not what can be reached by opening nodes with the Right arrow in the tree itself. When the tree is not filtered, the tree usually shows mostly just the categories of pages available.

Other Tips and Tricks

Known Issues

The following issues are known and may be encountered during use of the application with these JAWS scripts. These issues may be fixed in a future update to the scripts or to the application itself. See also the warning about bugs in VLC itself near the top of this document.

During development of these scripts, this author at first encountered extreme VLC sluggishness during volume adjustment. This cleared up on its own within the first ten minutes of use and never returned.

In some cases, VLC may not display elapsed, remaining, or total times on screen. The scripts will report these anyway whenever possible, even if one of the three values must be calculated from the other two. Such calculations should be rare but have not been tested carefully for files whose total time exceeds 24 hours.

The JAWS command for reading the status line, JAWSKey+PGDN, will announce the status information even if the status bar is not shown on screen, though in the JAWS message voice which is typically slightly lower in pitch than the normal global voice. However, when the status bar is not on screen, there is no way to detect items on the status bar that would be invisible if it were. The usual side effect of this situation is that JAWS will say "DRM" for tracks that are not actually protected by Digital Rights Management technology. Turning the status bar on by typing Alt+I and pressing Enter on the "Status Bar" entry will fix this issue.

Braille support is not well tested and is likely incomplete.

Revision History

This is the revision history of these scripts, most recent revision first:

Revision 48, released May 13, 2024, tested against application version

Translators: There are a few changes to one message file.

Diff showing message file changes Lines starting with a dash are old, with a plus are new, and with a space are for context. This material is offered experimentally to see if it helps translators keep up with project changes.
=== modified file 'vlc_lang.xml'
--- old/vlc_lang.xml	2024-04-25 21:15:46 +0000
+++ new/vlc_lang.xml	2024-05-13 20:53:07 +0000
@@ -30,8 +30,8 @@
 <message name="msgStatusNotFound">
 The status bar is not found
-<message name="msgStatusNotVisible">
-The status bar is not visible
+<message name="msgStatusNotAvailable">
+The status bar is not available
 <message name="msgStatusEmpty">
 The status bar is visible but contains no apparent information
@@ -51,6 +51,11 @@
 <message name="msgTimeNotAvailable">
 Time not available
+<!-- The exact, case-sensitive MSAA description of the elapsed time slider. -->
+<!-- This may not require translation. -->
+<message name="scElapsedTime">
+Elapsed time
 <!-- The name of the Preamp slider in the Equalizer screen. -->
 <message name="scPreamp">

Revision 36, released April 25, 2024, tested against application version