Opened 10 years ago

Closed 10 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 10 years ago.
keyboard logger
widget.txt (3.1 KB) - added by Silvan Scherrer 10 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 Changed 10 years ago by Dmitry A. Kuminov

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.

Changed 10 years ago by Dmitry A. Kuminov

Attachment: widget.exe added

keyboard logger

Changed 10 years ago by Silvan Scherrer

Attachment: widget.txt added

comment:2 Changed 10 years ago by Silvan Scherrer

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

comment:3 Changed 10 years ago by Dmitry A. Kuminov

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 Changed 10 years ago by Dmitry A. Kuminov

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 Changed 10 years ago by Silvan Scherrer

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

comment:6 Changed 10 years ago by Dmitry A. Kuminov

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