Closed Bug 17008 Opened 25 years ago Closed 9 years ago

Virtual symbols needed in nsGUIEvent.h


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






(Reporter: akkzilla, Unassigned)



Some keycodes are missing from nsGUIEvent.h which I have on my keyboard:

minus/dash (as distinct from keypad minus)
equals (as distinct from keypad equals)
single quote/apostrophe

Can we add these, or is the list of keycodes somehow DOM-required?
akkana--please confirm that we only need:
 minus/dash on keypad (distinct from keyboard one already specified?)
 equals on keypad (distinct from keyboard =)

Mac also needs these (as well as distinguishing "enter" on keypad from "return"
on main keyboard)

Joki--is there any chance we can at least add the first two I've listed above?
Yes, confirmed -- NS_VK_QUOTE suffices for the single/double quote key.
Make sure you check out the current dom level 2 spec (at and its
dom_vk_ codes.  I believe it covers the minus/dash case.  These are specified
with minus/subtract.  All of the numpad symbols are handled via numpad names
(add, subtract, divide, multipy, decimal).  This doesn't unfortunately include
the numpad = and the Mac case where enter and return are different.

I'll see what I can do on the spec side.  As far as having them, if we need
them then we need them.  Go ahead and add as necessary.  We can change the
const value later if necessary.
Target Milestone: M15
Mass-moving bugs out of M15 that I won't get to.  Will refit individual 
milestones after moving them.
Target Milestone: M15 → M16
Minus and equals are still the only keypad keys being remapped.  However, we're
remapping a long list of shifted keys, yet nsGUIEvent.h doesn't provide symbols
for any of these shifted keys so we're remapping them based on what happens to
be on my keyboard, which doesn't seem like the right thing to do since it will
be wrong on other keyboards.  Here's the list of shifted characters we're

  // Some shifted keys, see bug 15463 as well as 17008.
  // These should be subject to different keyboard mappings.
  { NS_VK_QUOTE, GDK_quotedbl },
  { NS_VK_OPEN_BRACKET, GDK_braceleft },
  { NS_VK_CLOSE_BRACKET, GDK_braceright },
  { NS_VK_BACK_SLASH, GDK_bar },
  { NS_VK_SEMICOLON, GDK_semicolon },
  { NS_VK_BACK_QUOTE, GDK_asciitilde },
  { NS_VK_COMMA, GDK_less },
  { NS_VK_PERIOD, GDK_greater },
  { NS_VK_SLASH,      GDK_question },
  { NS_VK_1, GDK_exclam },
  { NS_VK_2, GDK_at },
  { NS_VK_3, GDK_numbersign },
  { NS_VK_4, GDK_dollar },
  { NS_VK_5, GDK_percent },
  { NS_VK_6, GDK_asciicircum },
  { NS_VK_7, GDK_ampersand },
  { NS_VK_8, GDK_asterisk },
  { NS_VK_9, GDK_parenleft },
  { NS_VK_0, GDK_parenright },
  { NS_VK_SUBTRACT, GDK_underscore },
  { NS_VK_EQUALS, GDK_plus }
*** Bug 32363 has been marked as a duplicate of this bug. ***
M16 has been out for a while now, these bugs target milestones need to be 
I'm not sure where we stand on current status of this bug but I'll update it 
from the standards standpoint.  Since the DOM Level 2 dropped key event support 
we can more or less do whatever we feel like doing with VK codes.  The most 
likely upcoming version of the DOM level 3 key event spec will probably drop VK 
codes for any key that can be representable in Unicode.  ie. VK_F1 would live 
but VK_A would not.

That said I'm not sure if we want to keep this open or if those who really know 
what keys they need just want to add them.
My vote is this (assuming that we have a workable solution on Linux today):
  * Target Milestone --> Future
  * We triage the Future bugs after we ship and use this bug for moving over to 
the new standard (and perhaps even push the new standard (?) to handle things 
that are omitted because Windows doesn't use them or have those keys.  :-)
Updating Milestone to M18.
Target Milestone: M16 → M18
Akkana, I'm marking this with target milestone "Future".  Please annotate this
bug if you think that this decision hurts the Linux builds.  Adding myself and
Heikki Toivonen to the cc list.
Target Milestone: M18 → Future
Mass update:  changing qacontact to
QA Contact: janc → ckritzer
Updating QA Contact.
QA Contact: ckritzer → lorca
Reassigning QA Contact for all open and unverified bugs previously under Lorca's
care to Gerardo as per phone conversation this morning.
QA Contact: lorca → gerardok
QA contact updated
QA Contact: gerardok → madhur
QA Contact: madhur → rakeshmishra
QA Contact: rakeshmishra → trix
Assignee: joki → saari
QA Contact: trix → ian
What still needs to be done with this bug?
Assignee: saari → events
Assignee: events → nobody
QA Contact: ian → events
This is ancient stuff, nothing to do here.
Closed: 9 years ago
Resolution: --- → WONTFIX
Component: Event Handling → User events and focus handling
You need to log in before you can comment on or make changes to this bug.