[Patch] Fixing the Access Key system

Lubos Lunak l.lunak at suse.cz
Mon Jul 19 14:46:27 BST 2004


On Friday 16 of July 2004 15:14, bj at altern.org wrote:
> >  I also noticed another problem with accesskeys after you changed the
> > activation to just Ctrl: It doesn't work if the focus is e.g. in a
> > lineedit, and it used to with Ctrl+Alt. You can try it e.g. in
> > linuxtoday.com discussions.
>
> Yes, that's where the grabKeybord() problem. I made a few tests
> reintroducing it, and I must say that since we only grab one key and the
> releaseKeyboard occurs before re-dispatching the event, I couldn't find any
> side affect. Global shortcuts work well

 Even the single-key ones such as those bound to multimedia keys? I don't 
think so. And anyway, this is not what grabs are for. Grabs should be used 
only when really needed, and accesskeys are just a feature of the Konqueror 
window - there's no point in it eating every input.

 Actually just the handling in keyReleaseEvent() was misplaced, I've moved it 
in CVS and now it works.

> and you can use the accesskey from 
> inside a textarea. (see patch attached).

 AFAIK accesskeys don't work from textareas because KHTMLView installs an 
event filter on all its subwidgets except for the multilineedit widget. I 
don't know why, very likely some very obscure reasons. Without my change, it 
didn't work even from normal lineedits.

>
> Next biggest problem is to find a way to make all this work with the sticky
> keys feature...

 I think you simply can't, at least not the way it's now. Either Ctrl followed 
by A means Ctrl+A or Ctrl,A (=accesskey). Either it can detect that sticky 
keys are active and deactivate the feature (which I guess is stupid given 
that it's _access_keys) or a different way of triggering the feature is 
needed (a normal shortcut most probably, but that needs i18n changes and is 
less handy).

-- 
Lubos Lunak
KDE developer
---------------------------------------------------------------------
SuSE CR, s.r.o.  e-mail: l.lunak at suse.cz , l.lunak at kde.org
Drahobejlova 27  tel: +420 2 9654 2373
190 00 Praha 9   fax: +420 2 9654 2374
Czech Republic   http://www.suse.cz/




More information about the kfm-devel mailing list