blob: 60d35b9b62065adbc3b1ba6f3a3207b9aabccb14 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
// included by gdk2.pp
{$IFDEF read_interface_types}
{ GdkKeymapKey is a hardware key that can be mapped to a keyval }
PGdkKeymapKey = ^TGdkKeymapKey;
TGdkKeymapKey = record
keycode : guint;
group : gint;
level : gint;
end;
PGdkKeymap = ^TGdkKeymap;
TGdkKeymap = record
parent_instance : TGObject;
display : PGdkDisplay;
end;
PGdkKeymapClass = ^TGdkKeymapClass;
TGdkKeymapClass = record
parent_class : TGObjectClass;
direction_changed : procedure (keymap:PGdkKeymap); cdecl;
end;
{$ENDIF read_interface_types}
//------------------------------------------------------------------------------
{$IFDEF read_interface_rest}
{ A GdkKeymap defines the translation from keyboard state
(including a hardware key, a modifier mask, and active keyboard group)
to a keyval. This translation has two phases. The first phase is
to determine the effective keyboard group and level for the keyboard
state; the second phase is to look up the keycode/group/level triplet
in the keymap and see what keyval it corresponds to.
}
function GDK_TYPE_KEYMAP : GType;
function GDK_KEYMAP(anObject : Pointer) : PGdkKeymap;
function GDK_KEYMAP_CLASS(klass : Pointer) : PGdkKeymapClass;
function GDK_IS_KEYMAP(anObject : Pointer) : boolean;
function GDK_IS_KEYMAP_CLASS(klass : Pointer) : boolean;
function GDK_KEYMAP_GET_CLASS(obj : Pointer) : PGdkKeymapClass;
function gdk_keymap_get_type:GType; cdecl; external gdklib;
{$ifndef GDK_MULTIHEAD_SAFE}
function gdk_keymap_get_default:PGdkKeymap; cdecl; external gdklib;
{$endif}
function gdk_keymap_get_for_display(display:PGdkDisplay):PGdkKeymap; cdecl; external gdklib;
function gdk_keymap_lookup_key(keymap:PGdkKeymap; key:PGdkKeymapKey):guint; cdecl; external gdklib;
function gdk_keymap_translate_keyboard_state(keymap:PGdkKeymap; hardware_keycode:guint; state:TGdkModifierType; group:gint; keyval:Pguint;
effective_group:Pgint; level:Pgint; consumed_modifiers:PGdkModifierType):gboolean; cdecl; external gdklib;
function gdk_keymap_get_entries_for_keyval(keymap:PGdkKeymap; keyval:guint; var keys:PGdkKeymapKey; n_keys:Pgint):gboolean; cdecl; external gdklib;
function gdk_keymap_get_entries_for_keycode(keymap:PGdkKeymap; hardware_keycode:guint; var keys:PGdkKeymapKey; var keyvals:Pguint; n_entries:Pgint):gboolean; cdecl; external gdklib;
function gdk_keymap_get_direction(keymap:PGdkKeymap):TPangoDirection; cdecl; external gdklib;
{ Key values }
function gdk_keyval_name(keyval:guint):Pgchar; cdecl; external gdklib;
function gdk_keyval_from_name(keyval_name:Pgchar):guint; cdecl; external gdklib;
procedure gdk_keyval_convert_case(symbol:guint; lower:Pguint; upper:Pguint); cdecl; external gdklib;
function gdk_keyval_to_upper(keyval:guint):guint; cdecl; external gdklib;
function gdk_keyval_to_lower(keyval:guint):guint; cdecl; external gdklib;
function gdk_keyval_is_upper(keyval:guint):gboolean; cdecl; external gdklib;
function gdk_keyval_is_lower(keyval:guint):gboolean; cdecl; external gdklib;
function gdk_keyval_to_unicode(keyval:guint):guint32; cdecl; external gdklib;
function gdk_unicode_to_keyval(wc:guint32):guint; cdecl; external gdklib;
{$endif read_interface_rest}
//------------------------------------------------------------------------------
{$IFDEF read_implementation}
function GDK_TYPE_KEYMAP : GType;
begin
GDK_TYPE_KEYMAP:=gdk_keymap_get_type;
end;
function GDK_KEYMAP(anObject : Pointer) : PGdkKeymap;
begin
GDK_KEYMAP:=PGdkKeymap(G_TYPE_CHECK_INSTANCE_CAST(anObject,GDK_TYPE_KEYMAP));
end;
function GDK_KEYMAP_CLASS(klass : Pointer) : PGdkKeymapClass;
begin
GDK_KEYMAP_CLASS:=PGdkKeymapClass(G_TYPE_CHECK_CLASS_CAST(klass,GDK_TYPE_KEYMAP));
end;
function GDK_IS_KEYMAP(anObject : Pointer) : boolean;
begin
GDK_IS_KEYMAP:=G_TYPE_CHECK_INSTANCE_TYPE(anObject,GDK_TYPE_KEYMAP);
end;
function GDK_IS_KEYMAP_CLASS(klass : Pointer) : boolean;
begin
GDK_IS_KEYMAP_CLASS:=G_TYPE_CHECK_CLASS_TYPE(klass,GDK_TYPE_KEYMAP);
end;
function GDK_KEYMAP_GET_CLASS(obj : Pointer) : PGdkKeymapClass;
begin
GDK_KEYMAP_GET_CLASS:=PGdkKeymapClass(G_TYPE_INSTANCE_GET_CLASS(obj,GDK_TYPE_KEYMAP));
end;
{$ENDIF}
|