Re: Orca Laptop keybindings.
- From: Willie Walker <William Walker Sun COM>
- To: Orca screen reader developers <orca-list gnome org>
- Subject: Re: Orca Laptop keybindings.
- Date: Fri, 31 Mar 2006 07:33:24 -0500
Hey Luke:
Well....I'm not sure I really want to say because I'm not sure it's
an implementation I want to support just yet. :-) But...the idea is
this:
The settings.keyBindingsMap is a auxiliary dictionary where the keys
are module names and the values are instances of
keybindings.KeyBindings. One can also have a "default" key to use
for all scripts if no specific bindings exist in the dictionary for a
script. The logic in script.py:processKeyboardEvent does this:
1) If there are custom user keybindings for a script, or if there is
a "default" entry, processKeyboardEvent will attempt to use these.
2) In the event that custom user keybindings do not exist, or the
custom user keybindings did not consume the event, then
processKeyboardEvent will use the keybindings built into the script.
Although I put this in there, the reason I've never fully liked this
is that it has a rather bizarre behavior - processKeyboardEvent is
going to try to consume the event any way it can. Thus, it becomes
easy for you to extend/override the keybindings as long as they
consume the event, but it is difficult to say "Hey, don't consume
this key stroke any more."
So...if one wants to completely redefine the keystrokes for a script,
one might try writing a user script (to live in ~/.orca/orca-scripts/
*.py) that has the same name as an installed script, but just mucks
with the keybindings property of the script. Unfortunately, we
haven't built in the search path behavior to find the "default"
script, but this could be done. One might even consider a property
that defines the module name of the default script rather than
hardcoding it (as it is done now).
I like to program primarily based on need rather than thought
experiments, though. So...as you dig into your laptop keybindings
and you have additional ideas for what would make this easier to do,
please let me know. We probably could come up with something that
works well, and I think it could also apply to other types of
keyboard layouts as well.
Hope this helps,
Will
On Mar 31, 2006, at 12:38 AM, Luke Yelavich wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Thu, Mar 30, 2006 at 12:31:14AM EST, Willie Walker wrote:
o Move the hardcoded "Insert" references in orca.py to settings.py,
adding a "orcaModifierKeys"/ORCA_MODIFIER_KEYS list that specifies a
list of key strings to be used as the Orca modifier.
Just looking through settings.py, and I noticed these two lines:
KEY_BINDINGS_MAP = "keyBindingsMap"
keyBindingsMap = {}
There is a comment above stating that this isn't documented. I have
also
grepped the source, and found that it is only mentioned in
settings.py.
What use might this setting have?
- --
Luke Yelavich
GPG key: 0xD06320CE
(http://www.themuso.com/themuso-gpg-key.txt)
Email & MSN: themuso themuso com
ICQ: 18444344
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
iD8DBQFELMBHjVefwtBjIM4RAqcZAKCSbYhDUkQr4gxbmah23MR0IQab7QCgnldf
7Z8jc8ZTeM0LKTESPzpq+3M=
=1eAz
-----END PGP SIGNATURE-----
_______________________________________________
Orca-list mailing list
Orca-list gnome org
http://mail.gnome.org/mailman/listinfo/orca-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]