Closed Bug 308820 Opened 19 years ago Closed 14 years ago

onKeyPress event not fired when typing accents (w/ deadkeys) like áéâê,...

Categories

(Firefox :: General, defect)

1.0 Branch
x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: carlos.barros, Unassigned)

References

()

Details

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6
Build Identifier: Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6

JavaScript fails do fire onKeyPress (possibly other events related to keypress)
when typing accents using deadkeys (áéã,...). This problem is only related to
Linux (possibly other *nix - not tested). On Windows it works just fine. 
The keyboard I noticed this problem is an US-Intl.
mozile is a good place to check it out, try to enter some accents using
deadkeys, it will not work.

Reproducible: Always

Steps to Reproduce:
1. Goto http://teste.inexo.com.br/testcases/deadkeys.html
2. Type some normal chars
3. Then type some chars with accents (using deadkeys)

Actual Results:  
The normal keys will be printed in the page and accents chars will not!

Expected Results:  
Chars with accent to be printed (áéãê,...)

Test box configuration:

* Linux Slackware 10.0, runing in a i386 arch;
* Firefox 1.0.6 last build (from the site), english version;
* Locales:
  LANG=en_US
  LC_CTYPE="en_US"
  LC_NUMERIC="en_US"
  LC_TIME="en_US"
  LC_COLLATE=C
  LC_MONETARY="en_US"
  LC_MESSAGES="en_US"
  LC_PAPER="en_US"
  LC_NAME="en_US"
  LC_ADDRESS="en_US"
  LC_TELEPHONE="en_US"
  LC_MEASUREMENT="en_US"
  LC_IDENTIFICATION="en_US"
  LC_ALL=
* XFCE window manager;
* US-Intl (accent) keyborad - us-acentos.map.gz
This bug is still valid. I've just checked it against firefox 2.0.0.8.
The old testcase is not valid anymore, as I've deleted it, but you can check it at:

http://mozile.mozdev.org/

Just click on the sample editor are and try to enter any accent using deadkeys. Then, try on windows and it will work.

Regards

Carlos Barros
The URL referenced in the bug report no longer exists.  The mozile site referenced later is complex.  This attachment is a simple test case.  It also demonstrates that the bug is for keydown and keypress events (keyup is not in the example, but it almost certainly tracks keydown).
Using the attachment keydownEvent.html...

Dead key handling on Windows XP SP2/Firefox 2.0.0.14
====================================================

Use the control panel to set the keyboard mapping to US-International English.

Navigate to the URL referencing keydownEvent.html.
Click on Separate.  If the button already reads Combine, do nothing.

Enter the character sequence `b
    ` will trigger
      keydown keycode=192
    b will trigger
      keydown keycode=66
      keypress  charcode=0x60 (`)
      keypress  charcode=0x62 (b)
Enter the character sequence ``
    ` will trigger
      keydown keycode=192
    ` will trigger
      keydown keycode=192
      keypress charcode=0x60 (`)
      keypress charcode=0x60 (`)
Enter the character sequence `<space>
    ` will trigger
      keydown keycode=192
    <space> will trigger
      keydown 32
      keypress 0x60 (`)
Enter the character sequence `a
    ` will trigger
      keydown keycode=192
    a will trigger
      keydown  keycode=65
      keypress charcode=0xe0 (à)
Enter the character a
    a will trigger
      keypress charcode=0x61

Dead key handling on Ubuntu Linux 8.0.4
=======================================
Firefox 3.0b5
Use the System->Preferences->Keyboard menu option.  In the Layouts tab
in the Keyboard Preferences dialog, add USA International (with dead
keys) and set it to the default.

Navigate to the URL referencing keydownEvent.html.
Click on the button Separate.

Enter the character sequence `b.  This is not an allowed character
sequence.

Reload the page.  Click on the button Separate.
Enter the character sequence ``
    ` will trigger nothing
    ` will trigger nothing
    The textfield will contain a single grave accent (`).
    The value of the textfield is correct.
    This is a bug in Firefox.  Changes occur in the textfield value
    that are not signaled by keydown or keypress events.

Reload the page.  Click on the button Separate.
Enter the character sequence `<space>
    ` will trigger nothing
    ` will trigger nothing
    The textfield will contain a single grave accent (`).
    The value of the textfield is correct.
    This is a bug in Firefox.  Changes occur in the textfield value
    that are not signaled by keydown or keypress events.

Reload the page.  Click on the button Separate.
Enter the character sequence `a
    ` will trigger nothing
    a will trigger nothing
    The textfield will contain a letter a with a grave accent (à).
    The value of the textfield is correct.
    This is a bug in Firefox.  Changes occur in the textfield value
    that are not signaled by keydown or keypress events.

There are two bugs, some recent, that look to be duplicates of this one.  101279 (P4) and 192935 (Mac).

There are two other test pages on which you can test keyboard events, http://unixpapa.com/js/testkey.html and http://brain4.de/programmierecke/js/tastatur.php.

When you press a key sequence for á => "'" + "a" , only  a keyup event 
is fired without information about what key was pressed.

Firefox Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.8.1.14) Gecko/20080416 Fedora/2.0.0.14-1.fc7 Firefox/2.0.0.14

 I doesn't work with Linux. On Windows it is working right.
Ubuntu Bug:
https://bugs.launchpad.net/bugs/58693

One user confirms issue still exists in Firefox 3.5
This bug was reported on Firefox 2.x or older, which is no longer supported and will not be receiving any more updates. I strongly suggest that you update to Firefox 3.6.3 or later, update your plugins (flash, adobe, etc.), and retest in a new profile. If you still see the issue with the updated Firefox, please post here. Otherwise, please close as RESOLVED > WORKSFORME
http://www.mozilla.com
http://support.mozilla.com/kb/Managing+profiles
http://support.mozilla.com/kb/Safe+mode
Version: unspecified → 1.0 Branch
No reply, INCOMPLETE. Please retest with Firefox 3.6.3 or later and a new profile (http://support.mozilla.com/kb/Managing+profiles). If you continue to see this issue with the newest firefox and a new profile, then please comment on this bug.
Status: UNCONFIRMED → RESOLVED
Closed: 14 years ago
Resolution: --- → INCOMPLETE
No reply, INCOMPLETE. Please retest with Firefox 3.6.3 or later and a new profile (http://support.mozilla.com/kb/Managing+profiles). If you continue to see this issue with the newest firefox and a new profile, then please comment on this bug.
Yes.  This still is a problem in Firefox 3.6.10 using a brand new profile.
I think I know what is going on.  Newer versions of Firefox are firing compositionstart, compositionupdate, and compositionend events;  and not dispatching keypress events for dead key combinations.  Refer to http://www.w3.org/TR/DOM-Level-3-Events/#events-keyboardevents and http://www.w3.org/TR/DOM-Level-3-Events/#events-textevents .

There an error in the implementation of compositionend.

Firefox browsers are not firing textinput events.  I believe that this is the only way Firefox will enable JavaScript developers to write code that is OS-independent.  This is going to require a more senior Mozilla engineer to give the go-ahead as it will involve the talents of multiple engineers.

It's probably worth tracking Mozilla bug 447757 , as it has a new HTML example attached.
Jacobsallan added the following comment to Launchpad bug #58693:

Still an issue in Firefox version 3.6.10 / Mozilla Firefox for Ubuntu canonical 1.0.
Ubuntu bug 58693 should be moved out of INCOMPLETE state.

-- 
http://launchpad.net/bugs/58693
Mozilla Firefox 20.0 and still don't fires the onKeyPress event.
Firefox 20.0 on Linux, this bug still exists, and it's really annoying blocking my web application to work.
blocking-b2g: --- → hd?
blocking-b2g: hd? → ---
It happens still in Firefox 26, at least on Ubuntu (12.04)  If you change focus to another window, click and return to the windows, then it works.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: