View Issue Details

IDProjectCategoryView StatusLast Update
0011591LazarusLCLpublic2009-10-23 00:40
Reportertech-pro Assigned ToMarc Weustink  
Status closedResolutionfixed 
Product Version0.9.24 
Fixed in Version0.9.27 (SVN) 
Summary0011591: Keys not consistently reported in TMemo OnKey... events
DescriptionBackspace (0000008) is not passed as Key parameter in OnKeyPressed of TMemo (Linux, GTK2.) Under Windows, it is.

Also, Shift key status is not consistently passed in Shift parameter in OnKeyUp. Example, [Left Alt]+M - Shift has value ssAlt, as expected. [Left Alt]+N - Shift contains nothing.
Additional InformationTest project attached
TagsNo tags attached.
Fixed in Revision20418
WidgetsetGTK 2
Attached Files


child of 0008165 closedMattias Gaertner GTK2 - suggested to be default 


2008-07-01 00:00


test.tgz (2,581 bytes)

Mattias Gaertner

2008-07-01 00:30

manager   ~0020466

gtk2: The Shift state works here linux/ubuntu/gtk2. Backspace confirmed.

What window manager do you use?


2008-07-17 10:02

reporter   ~0020767

KDE 3.4.2

Paul Ishenin

2009-06-05 05:38

manager   ~0028296

Backspace problem is fixed in r20418

Zeljan Rikalo

2009-06-05 10:02

developer   ~0028299

@tech-pro kde 3.4.2 is pretty old, so I guess that you use some old distro with old gtk2 libs. What is gtk2 version ?

Marc Weustink

2009-06-05 19:59

administrator   ~0028315

The alt problem is by design and depends on your keymap. ssAlt is only reported if you press a so called system key.
For a "normal" keyboard layout where for instance the [A] produces only the char 'a' and 'A', [Alt]+[A] results in a ssAlt. For keyboards with an [AltGr] key it starts to get different. This alt key can on some keyboard layouts produce a 3rd character for a key. In that case the [AltGr] isn't considered a system key and thus no ssAlt is produced. In that case it will become a systemkey if the [Shift] key is pressed too.
In case of Linux, you can attach any keyboard you like. So from a software pov. you don't know which key is located where. On initialization, the gtk widgetset queries the keyboardmap, to find out which keys are the [AltGr] and which keys produce a 3rd char in such case.
Therefore in the case of this issue, the key [M] doesn't report a 3rd char, so ssAlt is returend and the key [N] probably has, so ssAlt is left out. (you will get it if you press [Shift} too)

Marc Weustink

2009-06-05 20:00

administrator   ~0028316

Last edited: 2009-06-30 00:58

Resolved since backspace if fixed and Alt key is by design

Marc Weustink

2009-06-30 00:57

administrator   ~0028865

Some related issues might have been fixed in r20767

Issue History

Date Modified Username Field Change
2008-07-01 00:00 tech-pro New Issue
2008-07-01 00:00 tech-pro File Added: test.tgz
2008-07-01 00:00 tech-pro Widgetset => GTK 2
2008-07-01 00:30 Mattias Gaertner Note Added: 0020466
2008-07-01 08:53 Vincent Snijders LazTarget => 1.2
2008-07-01 08:53 Vincent Snijders Status new => feedback
2008-07-16 20:31 Vincent Snijders Relationship added child of 0008165
2008-07-17 10:02 tech-pro Note Added: 0020767
2008-07-21 11:29 Vincent Snijders Status feedback => acknowledged
2009-06-05 05:38 Paul Ishenin Fixed in Revision => 20418
2009-06-05 05:38 Paul Ishenin Note Added: 0028296
2009-06-05 10:02 Zeljan Rikalo Note Added: 0028299
2009-06-05 19:59 Marc Weustink Note Added: 0028315
2009-06-05 20:00 Marc Weustink Status acknowledged => resolved
2009-06-05 20:00 Marc Weustink Fixed in Version => 0.9.27 (SVN)
2009-06-05 20:00 Marc Weustink Resolution open => fixed
2009-06-05 20:00 Marc Weustink Assigned To => Marc Weustink
2009-06-05 20:00 Marc Weustink Note Added: 0028316
2009-06-30 00:57 Marc Weustink Note Added: 0028865
2009-06-30 00:58 Marc Weustink Note Edited: 0028316
2009-10-23 00:40 Marc Weustink Status resolved => closed