Re: [VINUX-DEVELOPMENT] Orca caps-lock fix

2011-11-09 Thread Bill Cox
I've attached an alternate patch to Orca to fix the caps lock problem
that does not require any change to any other package.  It's a bit of
a hack.  It calls xkbcomp to get the entire keyboard state, makes the
change we need, and calls xkbcomp again to write the modified keyboard
map.

On the positive side, it should in theory just work for everyone, and
there's no need to delay the fix while we wait on an upstream patch.
My recommendation is to go ahead and apply (and Orca-fy) the patch to
orca.py while we wait for upstream to add the new caps mode, and for
the various distros that work with orca to ship with the new mode.
Then we can ship the simpler patch that just enables the new caps lock
mode.

I'll get the upstream patch started ASAP, after a meeting I'm about to
attend.  However, it will probably be a while before Orca can count on
having the new caps mode.  In the meantime, this hack should work
well.

Bill

On Wed, Nov 9, 2011 at 9:54 AM, Don Marang donald.mar...@gmail.com wrote:
 Great work!  It appears that the right people are prepared to implement this
 change for orca and Ubuntu.

 Do I read this right that a change is also required from another package,
 setxkbmap?  Has the developers of this package been notified?  I have no
 visibility into their development.  Are they receptive or will we need to
 nag to get this change implemented?


 Don Marang

 On 11/8/2011 5:33 PM, Bill Cox wrote:

 The old xmodmap program seems to be beginning to break down.  It's
 considered obsolete and has been replaced with setxkbmap.  Orca uses
 xmodmap to disable the caps lock key, but in newer versions of
 xmodmap, that also causes it to no longer work as a modifier key.  I
 believe this is why we're seeing the caps lock key Unbuntu Oneiric
 toggling whenever pressed.

 On my system, I got it working with a patch to Orca to use setxkbmap,
 and by editing some configuration files in the xkeyboard-config
 package to add a new caps lock configuration, which I called orca.
 Done this way, this option shows up in the Keyboard settings dialog
 along with the other settings for the caps lock key, which is kind of
 cool.  I have Orca enable the orca mode with:

 setxkbmap -option caps:orca

 and disable it with:

 setxkbmap -option

 I've attached diff files created with diff -Naur.  The orca.py patch
 is fairly simple.  The down side is that it requires the new orca mode
 in the xkb configuration, so these patches have to be in sync.

 Bill

 --
 You received this message because you are subscribed to the Google
 Groups Vinux Development Forum.
 To post to this group, send email to vinux-developm...@googlegroups.com
 To unsubscribe from this group, send email to
 vinux-development+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/vinux-development?hl=en?hl=en

 Vinux Home Page: http://vinuxproject.org/
 Vinux Wiki Documentation: http://wiki.vinuxproject.org/

--- orca.py.saved	2011-11-08 17:11:33.584217326 -0500
+++ orca.py	2011-11-09 15:03:18.153468609 -0500
@@ -29,6 +29,8 @@
 
 import getopt
 import os
+import subprocess
+import re
 import signal
 import sys
 import time
@@ -1415,6 +1417,45 @@
 settings.silenceSpeech = True
 return True
 
+def _setXmodmap(xkbmap):
+Set the keyboard map using xkbcomp.
+p = subprocess.Popen(['xkbcomp', '-w0', '-', os.environ['DISPLAY']],
+stdin=subprocess.PIPE, stdout=None, stderr=None)
+p.communicate(xkbmap)
+
+def _setCapsLockAsOrcaModifier(enable):
+Enable or disable use of the caps lock key as an Orca modifier key.
+interpretCapsLineProg = re.compile(
+r'^\s*interpret\s+Caps[_+]Lock[_+]AnyOfOrNone\s*\(all\)\s*{\s*$', re.I)
+capsModLineProg = re.compile(
+r'^\s*action\s*=\s*SetMods\s*\(\s*modifiers\s*=\s*Lock\s*,\s*clearLocks\s*\)\s*;\s*$', re.I)
+normalCapsLineProg = re.compile(
+r'^\s*action\s*=\s*LockMods\s*\(\s*modifiers\s*=\s*Lock\s*\)\s*;\s*$', re.I)
+normalCapsLine = 'action= LockMods(modifiers=Lock);'
+capsModLine ='action= SetMods(modifiers=Lock,clearLocks);'
+global _originalXmodmap
+lines = _originalXmodmap.split('\n')
+foundCapsInterpretSection = False
+for i in range(len(lines)):
+line = lines[i]
+if not foundCapsInterpretSection:
+if interpretCapsLineProg.match(line):
+foundCapsInterpretSection = True
+else:
+if enable:
+if normalCapsLineProg.match(line):
+lines[i] = capsModLine
+_setXmodmap('\n'.join(lines))
+return
+else:
+if capsModLineProg.match(line):
+lines[i] = normalCapsLine
+_setXmodmap('\n'.join(lines))
+return
+if line.find('}'):
+# Failed to find the line we need to change
+return
+
 def _createOrcaXmodmap():
 Makes an 

Persona writing sprint this weekend 12th and 13th November

2011-11-09 Thread Alan Bell

Hi all,

one of the actions from UDS was to crack on and get more of the persona 
documents out, these help us to communicate the need for accessibility 
considerations to be included in the design process. We have already 
published Faisal (fine motor control, pain and color blindness) 
http://ubuntuaccessibility.wordpress.com/2011/01/27/meet-faisal/ and 
Daniela (fully blind) 
http://ubuntuaccessibility.wordpress.com/2011/04/06/meet-daniela/ and we 
have outline plans for Simon (partially sighted), John (deaf) and 
Henrietta (cognitive and memory issues)


I would like to propose we work together on the remaining personas we 
want to cover, starting with Simon as the next one to publish. Simon is 
visually impaired, but not completely blind, so will use a large monitor 
with screen magnifiers and high contrast settings rather than full time 
screen reader use. His vision might be getting worse over time, so he 
might be learning to use Orca, and might like some more audio cues from 
the desktop.


We are using the following page to collaboratively draft the text 
http://pad.ubuntu-uk.org/simon and will be chatting in the 
#ubuntu-accessibility IRC channel. The personas are written to a rough 
framework of topics which match the personas used internally at 
Canonical by the design team, so we want to fit in with that, but 
present some more interesting design challenges.


It would be great to get as many people involved as possible in the 
drafting and editing process, particularly those with knowledge of 
visual impairments. The personas should be accurate and informative, and 
at least as important, they should be interesting and nice people. I am 
not setting any particular time for working on this, but I imagine there 
will be people online and active throughout the day for Europe and USA


Alan.

--
The Open Learning Centre is rebranding, find out about our new name and look at 
http://libertus.co.uk


--
Ubuntu-accessibility mailing list
Ubuntu-accessibility@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-accessibility


Re: Persona writing sprint this weekend 12th and 13th November

2011-11-09 Thread Pia
Hi Alan, thanks for all of your work on this and to everyone else who is 
working on it.


My eye condition is like the Simon persona, I am visually impaired and 
losing my eyesight, use a 32 inch TV for my monitor.  Unfortunately, this 
site you posted is not easily usable in lynx web browser, which I use 
because the text console is easier to see and also works better with 
speech such as is provided with speakup a screen reader for the virtual 
console.  When I do have to use the GUI, I not only use high contrast, but 
also large print because the magnifiers in Linux are clunky and difficult 
to use whereas large bold print with high contrast is way easier to 
follow.  Just a little input from a real live example of that persona.


Kind Regards and Thank You,

Pia

On Wed, 9 Nov 2011, Alan Bell wrote:


Hi all,

one of the actions from UDS was to crack on and get more of the persona 
documents out, these help us to communicate the need for accessibility 
considerations to be included in the design process. We have already 
published Faisal (fine motor control, pain and color blindness) 
http://ubuntuaccessibility.wordpress.com/2011/01/27/meet-faisal/ and Daniela 
(fully blind) 
http://ubuntuaccessibility.wordpress.com/2011/04/06/meet-daniela/ and we have 
outline plans for Simon (partially sighted), John (deaf) and Henrietta 
(cognitive and memory issues)


I would like to propose we work together on the remaining personas we want to 
cover, starting with Simon as the next one to publish. Simon is visually 
impaired, but not completely blind, so will use a large monitor with screen 
magnifiers and high contrast settings rather than full time screen reader 
use. His vision might be getting worse over time, so he might be learning to 
use Orca, and might like some more audio cues from the desktop.


We are using the following page to collaboratively draft the text 
http://pad.ubuntu-uk.org/simon and will be chatting in the 
#ubuntu-accessibility IRC channel. The personas are written to a rough 
framework of topics which match the personas used internally at Canonical by 
the design team, so we want to fit in with that, but present some more 
interesting design challenges.


It would be great to get as many people involved as possible in the drafting 
and editing process, particularly those with knowledge of visual impairments. 
The personas should be accurate and informative, and at least as important, 
they should be interesting and nice people. I am not setting any particular 
time for working on this, but I imagine there will be people online and 
active throughout the day for Europe and USA


Alan.

--
The Open Learning Centre is rebranding, find out about our new name and look 
at http://libertus.co.uk



--
Ubuntu-accessibility mailing list
Ubuntu-accessibility@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-accessibility



--
Ubuntu-accessibility mailing list
Ubuntu-accessibility@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-accessibility