GNOME Bugzilla – Bug 569612
Key repeat rate and delay fail to honor accessibility requirements
Last modified: 2011-02-28 14:50:58 UTC
From http://www.access-board.gov/sec508/standards.htm#Subpart_b, § 1194.23, (k): "(3) If key repeat is supported, the delay before repeat shall be adjustable to at least 2 seconds. Key repeat rate shall be adjustable to 2 seconds per character." I think this is going to require a change in the gnome-keyboard-properties glade file to extend the repeat delay, but I think we might suffer from a harder issue to do the repeat rate. From what I can tell, the gconf property for repeat rate (/desktop/gnome/peripherals/keyboard/rate) seems to be an integer value that specifies characters per second. So, a setting of 0.5 (the equivalent of 2 seconds per character) is not allowed. XKB, on the other hand, specifies the repeat rate as a repeat interval of ms/key. So, I dunno. Is it possible to change the type of /desktop/gnome/peripherals/keyboard/rate to a floating point value?
Sorry, I should add the current ranges appear to be: Delay range: 100ms to 1.5sec Rate range: 10 char/sec to 110 char/sec
I've upped the delay range to 2 secs. Changing the rate to float should be possible, but I'd need to try to be sure.
On second thought, just switching to float wouldn't work because we'd also have to set the adjustment's step size to 0.5 to be able to get there, and such a small step size pretty much makes the slider unusable via keys.
(In reply to comment #3) > On second thought, just switching to float wouldn't work because we'd also have > to set the adjustment's step size to 0.5 to be able to get there, and such a > small step size pretty much makes the slider unusable via keys. Thanks tons for your work so far. Much appreciated! The main thing we need is the ability to get that 2 seconds/char value. Would it be possible to hit this using the page up/down keys? It might end up putting you in an odd state (i.e., page down followed by arrowing would result in you going 0.5, 1.5, 2.5., etc.), though. BTW, regardless of whether the value is float or int, the single step size will still result in the finer granularity needed. Another option to consider might be some sort of exponential/logarithmic scaling for the slider, but I'm not sure how one would pull that off.
(In reply to comment #1) > Sorry, I should add the current ranges appear to be: > > Delay range: 100ms to 1.5sec Delay is 100 to 2000 msecs. > Rate range: 10 char/sec to 110 char/sec Done, this now ranges from 0.5 char/sec to 50 char/sec. commit 5af7672349d81539fca31d2e12083d475a5a0850 Author: Bastien Nocera <hadess@hadess.net> Date: Mon Feb 28 14:46:03 2011 +0000 keyboard: Switch repeat rate/speed to be a fraction Instead of settings the absolute value of the repeat rate in msecs through the scale, we set the number of chars per sec, and use GSettings' bindings functions to transform those a timeout. https://bugzilla.gnome.org/show_bug.cgi?id=569612