[nvda] revision 250 - keymap files, long-life appModules, other bug fixes.
- From: "Michael Curran" <mick@xxxxxxxxxx>
- To: <nvda@xxxxxxxxxxxxx>
- Date: Thu, 14 Dec 2006 10:43:15 +1100
Hi all,
Revision 250 makes some very big changes to appModules and keymaps.
Now it is possible for people to design their own keymaps for appModules
(such as for the default appModule).
keymaps can be chosen by their keyboard layout, depending on what
keyboardLayout in the keyboard section of nvda.ini is set to.
A default appModule for the desktop keyboard layout
(appModules/_default_desktop.kbd) has been included in this revision. Use
this as the basis for other default keymap layouts.
The keyboardLayout setting in nvda.ini can in theory be any string, but for
example, you could set it to 'laptop' and make a _default_laptop.kbd and it
would use that.
It also handles the case where the chosen keyboard layout doesn't exist, and
then loads the desktop one instead, if that exists.
Default is handled differently from all other appModules in that it is one
instance that always stays around, so if you move to an application that
doesn't have its own appModule, default won't have to be reloaded.
Also, when an appModule is first loaded, it copies default's keymap in to
itself before it loads its own keymap.
I am personally not going to try creating a laptop keyboard layout, I don't
really use them, but anyone is welcome to make one and send it to me and I
can include it in NVDA. However, of course I can't have like 6 laptop
layouts, so in the end we will have to choose one.
There is now a 'key list.txt' in the trunk directory, this lists all
possible keys you can use for NVDA keymaps.
The extended insert key (insert key not on the number pad) is now
functioning as an NVDA insert key, so this hopefully should also make it
easier for users of laptops. I did try this once before and it caused some
issues, but lets see how it goes this time.
App modules now stay around for the life of the application, rather than
being created and deleted each time an application is moved back and forth
from the foreground. Also virtualBuffers now get created and killed off
properly when their window gets focus for the first time, or gets hidden.
There are one or two other changes, the changelog is as follows:
*Redesigned the handling of appModules so that they now stay around for the
life of the application rather than for just when the application is active.
Of course though key commands etc will only work when the application is
active.
*Added a 'keyboardLayout' setting to the keyboard section of nvda.ini. This
is a string, and by default it is 'desktop'. In theory this can be anything,
but another value that will be most likely recognised by NVDA would be
'laptop'.
*AppModules now load their keymaps from a keymap file in the appModules
directory. the keymap file is named as <app module name>_<keyboard
layout>.kbd. (example: MS Excel's desktop keyboard layout would be
excel_desktop.kbd. default (_default) would be _default_desktop.kbd).
*Moved all the key bindings out of the default appModule in to its
_default_desktop.kbd file.
*Enabled the extendedInsert key to be used as the insert key in NVDA
scripts. Previously only the numpad insert could be used. There were some
bugs when this was done once previously, but so far things seem to be ok.
This will now mean hopefully that Laptop users won't have too much trouble
in making laptop keymaps since they can now still use the insert key.
*Disabled sayAll functionality in dos console windows because it doesn't
really make sence, plus it seems to just crash NVDA anyway.
*Fixed up the logic that manages the life of a virtualBuffer. Now they
should be definitly created and killed off properly when a window gets focus
or gets hidden.
*Added a 'keyName' function to keyboardHandler.py. This is used when you
need to print a key name, for instance in debug.log. keyName is the reverse
of key.
*Cleaned up what is sent to debug.log. debug.log now gives a much clearer
picture of what the user was doing with NVDA, though please double-check
your log file before you ever send it to someone for debugging purposes, it
does contain the names and types of all objects you interacted with.
*NVDAObject_richEdit objects no longer have the entire text of the document
as their value.
Mick
To post messages to the list send email to
nvda@xxxxxxxxxxxxx
To unsubscribe from the list send a blank message to:
nvda-request@xxxxxxxxxxxxx
with 'unsubscribe' in the Subject field.
Thank you for your continued support of Nonvisual Desktop Access, an open
source free screen reader for Microsoft Windows:
http://www.kulgan.net/nvda/
- Follow-Ups:
- [nvda] Re: revision 250 - keymap files, long-life appModules, other bug fixes.
- From: Benjamin Hawkes-Lewis
Other related posts:
- » [nvda] revision 250 - keymap files, long-life appModules, other bug fixes.
- » [nvda] Re: revision 250 - keymap files, long-life appModules, other bug fixes.
- [nvda] Re: revision 250 - keymap files, long-life appModules, other bug fixes.
- From: Benjamin Hawkes-Lewis