]> Pileus Git - ~andy/gtk/blob - gdk/broadway/gdkkeys-broadway.c
[broadway] Remove unnecessary backend-specific function
[~andy/gtk] / gdk / broadway / gdkkeys-broadway.c
1 /* GDK - The GIMP Drawing Kit
2  * Copyright (C) 2000 Red Hat, Inc.
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the
16  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17  * Boston, MA 02111-1307, USA.
18  */
19
20 /*
21  * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
22  * file for a list of people on the GTK+ Team.  See the ChangeLog
23  * files for a list of changes.  These files are distributed with
24  * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
25  */
26
27 #include "config.h"
28
29 #include "gdkprivate-broadway.h"
30 #include "gdkinternals.h"
31 #include "gdkdisplay-broadway.h"
32 #include "gdkkeysyms.h"
33
34 #include <stdio.h>
35 #include <stdlib.h>
36 #include <string.h>
37 #include <unistd.h>
38 #include <limits.h>
39 #include <errno.h>
40
41 typedef struct _GdkKeymapBroadway   GdkKeymapBroadway;
42 typedef struct _GdkKeymapClass GdkKeymapBroadwayClass;
43
44 #define GDK_TYPE_KEYMAP_BROADWAY          (gdk_keymap_broadway_get_type ())
45 #define GDK_KEYMAP_BROADWAY(object)       (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_KEYMAP_BROADWAY, GdkKeymapBroadway))
46 #define GDK_IS_KEYMAP_BROADWAY(object)    (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_KEYMAP_BROADWAY))
47
48 typedef struct _DirectionCacheEntry DirectionCacheEntry;
49
50 struct _GdkKeymapBroadway
51 {
52   GdkKeymap     parent_instance;
53
54 };
55
56 #define KEYMAP_USE_XKB(keymap) GDK_DISPLAY_BROADWAY ((keymap)->display)->use_xkb
57 #define KEYMAP_XDISPLAY(keymap) GDK_DISPLAY_XDISPLAY ((keymap)->display)
58
59 static GType gdk_keymap_broadway_get_type   (void);
60 static void  gdk_keymap_broadway_class_init (GdkKeymapBroadwayClass *klass);
61 static void  gdk_keymap_broadway_init       (GdkKeymapBroadway      *keymap);
62 static void  gdk_keymap_broadway_finalize   (GObject           *object);
63
64 static GdkKeymapClass *parent_class = NULL;
65
66 static GType
67 gdk_keymap_broadway_get_type (void)
68 {
69   static GType object_type = 0;
70
71   if (!object_type)
72     {
73       const GTypeInfo object_info =
74         {
75           sizeof (GdkKeymapClass),
76           (GBaseInitFunc) NULL,
77           (GBaseFinalizeFunc) NULL,
78           (GClassInitFunc) gdk_keymap_broadway_class_init,
79           NULL,           /* class_finalize */
80           NULL,           /* class_data */
81           sizeof (GdkKeymapBroadway),
82           0,              /* n_preallocs */
83           (GInstanceInitFunc) gdk_keymap_broadway_init,
84         };
85       
86       object_type = g_type_register_static (GDK_TYPE_KEYMAP,
87                                             g_intern_static_string ("GdkKeymapBroadway"),
88                                             &object_info, 0);
89     }
90   
91   return object_type;
92 }
93
94 static void
95 gdk_keymap_broadway_class_init (GdkKeymapBroadwayClass *klass)
96 {
97   GObjectClass *object_class = G_OBJECT_CLASS (klass);
98
99   parent_class = g_type_class_peek_parent (klass);
100
101   object_class->finalize = gdk_keymap_broadway_finalize;
102 }
103
104 static void
105 gdk_keymap_broadway_init (GdkKeymapBroadway *keymap)
106 {
107 }
108
109 static void
110 gdk_keymap_broadway_finalize (GObject *object)
111 {
112   G_OBJECT_CLASS (parent_class)->finalize (object);
113 }
114
115 GdkKeymap*
116 gdk_keymap_get_for_display (GdkDisplay *display)
117 {
118   GdkDisplayBroadway *display_broadway;
119
120   g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);
121   display_broadway = GDK_DISPLAY_BROADWAY (display);
122
123   if (!display_broadway->keymap)
124     display_broadway->keymap = g_object_new (gdk_keymap_broadway_get_type (), NULL);
125
126   display_broadway->keymap->display = display;
127
128   return display_broadway->keymap;
129 }
130
131 PangoDirection
132 gdk_keymap_get_direction (GdkKeymap *keymap)
133 {
134   return PANGO_DIRECTION_NEUTRAL;
135 }
136
137 gboolean
138 gdk_keymap_have_bidi_layouts (GdkKeymap *keymap)
139 {
140   return FALSE;
141 }
142
143 gboolean
144 gdk_keymap_get_caps_lock_state (GdkKeymap *keymap)
145 {
146   return FALSE;
147 }
148
149 gboolean
150 gdk_keymap_get_num_lock_state (GdkKeymap *keymap)
151 {
152   return FALSE;
153 }
154
155 gboolean
156 gdk_keymap_get_entries_for_keyval (GdkKeymap     *keymap,
157                                    guint          keyval,
158                                    GdkKeymapKey **keys,
159                                    gint          *n_keys)
160 {
161   *n_keys = 0;
162   return FALSE;
163 }
164
165 gboolean
166 gdk_keymap_get_entries_for_keycode (GdkKeymap     *keymap,
167                                     guint          hardware_keycode,
168                                     GdkKeymapKey **keys,
169                                     guint        **keyvals,
170                                     gint          *n_entries)
171 {
172   *n_entries = 0;
173   return FALSE;
174 }
175
176 guint
177 gdk_keymap_lookup_key (GdkKeymap          *keymap,
178                        const GdkKeymapKey *key)
179 {
180   return 0;
181 }
182
183
184 gboolean
185 gdk_keymap_translate_keyboard_state (GdkKeymap       *keymap,
186                                      guint            hardware_keycode,
187                                      GdkModifierType  state,
188                                      gint             group,
189                                      guint           *keyval,
190                                      gint            *effective_group,
191                                      gint            *level,
192                                      GdkModifierType *consumed_modifiers)
193 {
194   return FALSE;
195 }
196
197
198 /* Key handling not part of the keymap */
199 gchar*
200 gdk_keyval_name (guint        keyval)
201 {
202   switch (keyval)
203     {
204     case GDK_KEY_Page_Up:
205       return "Page_Up";
206     case GDK_KEY_Page_Down:
207       return "Page_Down";
208     case GDK_KEY_KP_Page_Up:
209       return "KP_Page_Up";
210     case GDK_KEY_KP_Page_Down:
211       return "KP_Page_Down";
212     }
213
214   return "TODO";
215 }
216
217 guint
218 gdk_keyval_from_name (const gchar *keyval_name)
219 {
220   g_return_val_if_fail (keyval_name != NULL, 0);
221
222   return 0;
223 }
224
225 void
226 gdk_keymap_add_virtual_modifiers (GdkKeymap       *keymap,
227                                   GdkModifierType *state)
228 {
229 }
230
231 gboolean
232 gdk_keymap_map_virtual_modifiers (GdkKeymap       *keymap,
233                                   GdkModifierType *state)
234 {
235   return FALSE;
236 }