GNOME Bugzilla – Bug 155142
Left-handed people also like GDM
Last modified: 2005-04-08 23:47:42 UTC
But we'd love that the icons and widgets on the login screen were more responsive to our right button clicks. Right now, you have to use GDM as if you were a right handed: the Language, Session, Actions menus pop up only with left clicks. Right clicks don't do anything useful, so it'd be cool if button two mouse events could replicate the button one actions. The only place I see there's useful stuff going on with right clicks is in the actual text entry widget, but having the rest being nice to left-handed users would be great. Fix this, or I will send telsa to "test" gdm, and believe me: SHE WILL BREAK IT BADLY!! ;)
I think it's a good idea. I'm left-handed myself and it's quite disturbing to always do left button clicks. There is no need for right button clicks menu so this shouldn't be a problem to do this.
I did some search in the gdm2 source and I found a file (the only one), that report something about a left handed possibility. The file is /gui/modules/AccessKeyMouseEvents.in Here is the part that start at the line 60 : # hold right or left mouse button 4 times for 4 seconds each time <Mouse1> 4 4000 10000 gok --login --access-method=directselection # we add the right mouse button as it may be the left mouse button # for a left handed user <Mouse3> 4 4000 10000 gok --login --access-method=directselection Seeing this, it looks like if the left handed problem is solved but it isn't because it doesn't work the way we want. Anyone sees the problem? Am I right or did I mistaken the good code?
No, the AccessKeyMouseEvents file isn't really what you are looking for. It is a mechanism for launching accessibile technology programs (like gok or gnopernicus) from the login screen,. If someone provides a patch to support left hand users by making both mouse buttons responsive, I'll put the patch into CVS.
I'd like to propose a patch, but I don't know wich file to look for. If anyone could point me which one to change, I would greatly appreciate.
Note the gdm_event function in the gui/gdmsetup.c program. This function is used to make the right & left button work the same way, though oddly only when gdmsetup is run from the login program (and not from the terminal via running gdmsetup). This is because it is currently in an "if (RUNNING_UNDER_GDM)" test. It probably makes sense to move this logic out of the if-test so it works just as well when running from the termainl. The same logic could be used to make other gdm2 GUI programs work this way.
Created attachment 37164 [details] [review] proposed patch I made the change that Brian told in the last comment. Didn't have time to test it so please, test it before commit.
Created attachment 37165 [details] [review] second patch, fixed things I forgot Forgot some if (RUNNING_UNDER_GDM) in the last patch. With this one there is no if (RUNNING_UNDER_GDM) left.
Okay, I'm a bit confused. This bug originally reports the button problem with gdmlogin, but I notice that it already supports treating both left & right button as the mouse-click since May 2001 (version 2.2.2), so I assume that even though this bug report was posted in 10/2001, that the user must have been using an older version. However, I still notice some problems with left/right mouse button working properly in GDM. The above patch needs to be applied so gdmsetup works when launched from the login program. Also pop-up dialogs don't have this logic. I'll see about fixing this issue there as well.
I'm a bit confused by the proposed patch. In my previous comment I mentioned that the gdm_event function was the place to look and the patch seems to focus on setup_cursor. Actually setup_cursor turns on the wait cursor which is only appropriate when RUNNING_UNDER_GDM is actually true. In fact, all the logic under RUNNING_UNDER_GDM should be there except for the logic that sets up the gdm_event handler. Anyway, I've updated the code so that the login and setup program work better for left-handed users when run from the terminal (obviously the login program is only run this way in debug mode). I also fixed the greeter so it has this method. For the buttons in the theme this wasn't necessary since they were written to work with either button. However, button3 didn't work in pop-up dialogs (like when you click on Actions or Languages and want to click on the OK or Cancel button). So adding this function makes that work better. Hopefully this makes GDM more fun for left-handed users. If you find more issues, submit a bug. Fixed in CVS head.