Closed Bug 57262 Opened 24 years ago Closed 23 years ago

Support the "Stop" key on Sun keyboards

Categories

(Core :: DOM: UI Events & Focus Handling, enhancement, P3)

Sun
Solaris
enhancement

Tracking

()

RESOLVED FIXED
Future

People

(Reporter: hsivonen, Assigned: jay.yan)

References

Details

(Whiteboard: SunKey)

Attachments

(2 files)

Build ID: 2000101521 Solaris Sparc trunk

Steps to reproduce:
1) Start loading a page
2) Press the "Stop" key on a Sun keyboard that has that key

Actual results:
The loading process goes on

Expected results:
Expected the result to be the same as when pressing the "Stop" button in the
navigation toolbar.

Additional infomation:
The "Copy" and "Paste" keys fuction as expected.
Since Don has left, Vishy is taking his bugs in bulk, pending reassignment.
thanks,
	Vishy
Assignee: don → vishy
Blocks: 48322
Target Milestone: --- → Future
Depends on: atfmeta
No longer depends on: atfmeta
Blocks: atfmeta
Attached file patch (deleted) —
Aaronl: 
  Could you please review this fix?
  Before I attached this fix, I attached another fix for bug 113551, and that
patch has been already checked in, when you review this patch, you can refer to
the discussion of that bug.
  Thanks a lot.
Jay
I would like to explain something about my patch, because I used keycode F11 for
Stop key.

In Sun's keyboard, when key F1 to F10 are pressed, keycode F1...F10 are
generated, but when key F11 is pressed, keycode SunF36 is generated instead of
F11: (Seen from the output snip of xev, the keycode is SunF36)

*************************
KeyPress event, serial 23, synthetic NO, window 0x9800001,
    root 0x37, subw 0x0, time 1712315695, (76,-9), root:(192,165),
    state 0x0, keycode 16 (keysym 0x1005ff10, SunF36), same_screen YES,
    XLookupString gives 1 characters:  ""

KeyRelease event, serial 23, synthetic NO, window 0x9800001,
    root 0x37, subw 0x0, time 1712315804, (76,-9), root:(192,165),
    state 0x0, keycode 16 (keysym 0x1005ff10, SunF36), same_screen YES,
    XLookupString gives 1 characters:  ""
***********************************

But when key Stop is pressed, keycode F11 is generated, please see the output
snip of xev:
***********************************

KeyPress event, serial 21, synthetic NO, window 0x9800001,
    root 0x37, subw 0x0, time 1712255010, (340,230), root:(456,404),
    state 0x0, keycode 8 (keysym 0xffc8, F11), same_screen YES,
    XLookupString gives 0 characters:  ""

KeyRelease event, serial 21, synthetic NO, window 0x9800001,
    root 0x37, subw 0x0, time 1712255010, (340,230), root:(456,404),
    state 0x0, keycode 8 (keysym 0xffc8, F11), same_screen YES,
    XLookupString gives 0 characters:  ""
*************************************



It is the keycode list for some Sun keystroke:

Stop F11
Again F12
Props F13
Undo  F14
Front F15
Copy F16
......
Cut  F20


FYI

--Jay
Jay, this is a good start.

However, I think a correct patch must also fix F11 for Sun keyboards as well.
In navigatorOverlay.xul

CC'ing akkana, for more input, and to r= the patch for this and bug 57263.
Aaronl, surely I agree with you that we should make the function of F11
consistent on all platforms. becasue on Linux(Intel), Key F11 generate F11
instead of SunF36.

but I think it is another bug, it would be "Keep the function of key F11 and F12
consistent on all platforms". bug 57262's aim is to make key 'Stop'  functional
on Solaris and my patch made it.

I wanted to file this bug, but I do not know the function of F11 and F12 in
Mozilla, I tried to use these two keys, but mozilla has no reaction :-), does
anybody know the function of these two keys? please tell me, I will file and own
this bug. thanks.

BTW, I think the fix of the new bug should be in a platform specific file
instead of navigatorOverlay.xul, is that right?

--Jay
Jay, you can test almost any key by visiting
http://www.mozilla.org/projects/ui/accessibility/mozkeyplan.html
1. Make sure your focus is on the upper frame (click there if necessary).
2. Press a key. The bottom frame should jump to the part of the table that
corresponds to that key.
Aaron, weren't there plans to use F11 for something related to context menus or
accessibility?  Maybe not, since I don't see anything listed in your key document.

I'm less confident about this than I was about the undo=F14 fix, since most
linux users have an F11 while they don't have an F14.  I wish we could put these
Sun-specific bindings into a sun-specific key binding file.  But if Aaron's
fairly sure that we don't have plans for F11, the change would be all right with me.
I know on Windows F11 now brings up full screen mode - shouldn't it be able to
do that on Linux?
Aaron and I just discussed this a while on IRC.  I'm concerned about why we're
getting VK_F11 for a key other than F11, and why the F11 key sends something else.

Is this a bug in mozilla's key event handler, or is it some weirdness in the way
gtk key events work on solaris vs. other platforms?  If it's gtk that's doing
it, can someone find out why?  I.e. was this done deliberately, or is it a gtk
bug which may get fixed in the future?

We need to know more before we sabotage F11 for non-Sun users.
you are right. Akk

it is Solaris's guilty to send VK_F11 for non-F11 key and send other keycode for
F11, it is not mozilla or gtk's guilty.

you can try using the application 'xev' to test it on Linux(pc) and
Solaris(SPARC), it is /usr/openwin/demo/xev, this application is based on XLib.

I understand current status and what Aaron and you are concerning, I will try to
give you more input and new patch, if you agree, my new patch will be based on
gtk event handle using #ifdef SUNOS

BTW, I am using Solaris 8, I will try on Solaris9 and tell you more.

and how about my suggestion for the new patch?

--Jay


http://www.google.com/search?q=cache:JBMCzkI4dToC:terra.rice.edu/comp.res/softw
are/unix/manpages/Xsun.1.html+f36+f11+key&hl=en

i think we should name the f11/f12 keys from the f1-f12 series vk_xf11/vk_xf12 
and leave the alt f1-f10 mapped to vk_f11..vk_f20
This patch catches F11 keysym(Sun's Stop key generated it) in
widget/src/gtk(under SOLARIS or SUNOS4 compiling switch), convertes it onto
ESCAPE, in this way STOP key in Sun keyboard can stop the page loading.

This way makes Sun's STOP key have the same function as ESCAPE. it is
reasobable becasue these two keys have the similar function.(I assume?)

The other way is to create a new DOM_VK in ndIDOMEvent.idl, such as DOM_VK_STOP
, and accordingly add a new nsGUIEVENT in nsGUIEvent.h or other place. and at
last map the BrowserStop event on platformNavigator.xml, perhaps this way is
not allowed becasue it modifys a lot of crossplatform files.

So I presented this new patch.

--Jay
Comment on attachment 73664 [details] [diff] [review]
new patch not sabotaging F11 key

Sounds like a reasonable idea.	I guess if gtk ever fixes things and makes F11
send F11, we can deal with the change then. r=akkana
Attachment #73664 - Flags: review+
Comment on attachment 73664 [details] [diff] [review]
new patch not sabotaging F11 key

sr=jag
Attachment #73664 - Flags: superreview+
Comment on attachment 73664 [details] [diff] [review]
new patch not sabotaging F11 key

a=asa (on behalf of drivers) for checkin to the 1.0 trunk
Attachment #73664 - Flags: approval+
Vishy has left, I will own this bug
--Jay
Assignee: vishy → jay.yan
Status: NEW → ASSIGNED
Fix is checked in.  I'll let Jay close the bug.
Thanks, akk.
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Keywords: verifyme
QA Contact: sairuh → nobody
Blocks: sunkeymeta
Whiteboard: SunKey
mass remove verifyme requests greater than 4 months old
Keywords: verifyme
Keywords: qawanted
Component: Keyboard: Navigation → User events and focus handling
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: