gtk intf: added flag EnableGtkShiftState to use gtk key shift state, needed on ubuntu

git-svn-id: trunk@20870 -
This commit is contained in:
mattias 2009-07-16 12:28:03 +00:00
parent a4a1469e9d
commit 69d68a7b86
3 changed files with 4 additions and 1 deletions

View File

@ -40,7 +40,9 @@
keyboardlayouts are used. With UseOwnShiftState we keep track of the shiftate keyboardlayouts are used. With UseOwnShiftState we keep track of the shiftate
ourself ourself
*) *)
{$IFNDEF EnableGtkShiftState}
{$define UseOwnShiftState} {$define UseOwnShiftState}
{$ENDIF}
(* (*
keep track of keystates instead of using OS keep track of keystates instead of using OS

View File

@ -2273,6 +2273,7 @@ begin
Flags := 0; Flags := 0;
SysKey := False; SysKey := False;
ShiftState := GTKEventStateToShiftState(AEvent^.state); ShiftState := GTKEventStateToShiftState(AEvent^.state);
//DebugLn(['HandleGTKKeyUpDown AEvent^.state=',hexstr(AEvent^.state,4),' ',dbgs(ShiftState)]);
{$ifdef gtk1} {$ifdef gtk1}
KeyCode := XKeysymToKeycode(gdk_display, AEvent^.keyval); KeyCode := XKeysymToKeycode(gdk_display, AEvent^.keyval);
{$else} {$else}

View File

@ -813,7 +813,7 @@ var
MVKeyInfo: array[Byte] of TVKeyInfo; MVKeyInfo: array[Byte] of TVKeyInfo;
// Modifier keys can be set by a modmap and don't have to be the same on all systems // Modifier keys can be set by a modmap and don't have to be the same on all systems
// Some defaults are set here incase we didn't find them // Some defaults are set here in case we didn't find them
type type
TModifier = record TModifier = record
Mask: TGdkModifierType; // if UseValue is set, the modifier is set when the masked state matches the value Mask: TGdkModifierType; // if UseValue is set, the modifier is set when the masked state matches the value