Opened 14 years ago

Closed 14 years ago

#165 closed defect (fixed)

Entry input fields in Webkit don't accept some characters

Reported by: Silvan Scherrer Owned by:
Priority: major Milestone: Qt Enhanced
Component: General Version: 4.6.2
Severity: low Keywords:
Cc:

Description

in apps using the WebKit it's not possible to enter some characters.

how to reproduce:
open the Qt Demo Browser and to to www.google.com
now in the searchfield enter the character @
this character is not visible

tested on a system with a swissgerman keyboard layout and lang set to de_CH. i also tryed lang en_US but still the same.

Attachments (2)

widget.exe (42.9 KB ) - added by Dmitry A. Kuminov 14 years ago.
keyboard logger
widget.txt (3.1 KB ) - added by Silvan Scherrer 14 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 by Dmitry A. Kuminov, 14 years ago

Summary: WebkitEntry input fields in Webkit don't accept some characters

I think that this has to deal with the keyboard modifier flags somehow. The question is who behaves wrongly here: Qt or Webkit. (As the input in normal Qt line entry fields works well I would suspect Webkit).

To find out, those who have the German OS/2 keyboard (or any other where some characters are entered using AltGr) please download the attached widget.exe test (it should work with the Qt 4.6.2 release DLLs) and do the following:

  • Start it as widget.exe 2>out.txt.
  • Press all those problematic key combinations while the widget test is in focus.
  • Attach the resulting out.txt file here with a note which country and keyboard you have in config.sys.

by Dmitry A. Kuminov, 14 years ago

Attachment: widget.exe added

keyboard logger

by Silvan Scherrer, 14 years ago

Attachment: widget.txt added

comment:2 by Silvan Scherrer, 14 years ago

DEVINFO=KBD,SG150G,C:\OS2\KEYBOARD.DCP
COUNTRY=041,C:\OS2\SYSTEM\COUNTRY.SYS
SET LANG=de_CH

comment:3 by Dmitry A. Kuminov, 14 years ago

Okay, thanks Silvan. Looks pretty OK. I suspect that Webkit thinks that if Alt is pressed then this is not a char (but a non-null text value clearly says that it is). The mods value when entering @ is the only difference between your locale (where it doesn't work) and mine (where it does). In your case, mods contain Alt, in my case it's Shift.

BTW, it's interesting than when running this test on Windows the German locale not only has Alt in the mods field but also has Ctrl set but I only press AltGr+Q. AFAIR this is a Windows-specific feature to insert Ctrl-Alt whenever AltGr in layouts similar to German is pressed. This may explain why Webkit works well on Windows (I checked this) -- they probably check that if it's Ctrl+Alt, it's fine to interpret the input as a character.

comment:4 by Dmitry A. Kuminov, 14 years ago

Okay, I was right. Attempted to fix the problem in r757. Please check (my AltGr is mapped to a completely different entity in Linux and not currently available for the OS/2 box).

comment:5 by Silvan Scherrer, 14 years ago

it works now as it should.
thx for the quick fix

comment:6 by Dmitry A. Kuminov, 14 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.