|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Copyright (C) 2002-2006 Sergey V. Udaltsov <svu@gnome.org>
|
|
Packit Service |
93d855 |
*
|
|
Packit Service |
93d855 |
* This library is free software; you can redistribute it and/or
|
|
Packit Service |
93d855 |
* modify it under the terms of the GNU Lesser General Public
|
|
Packit Service |
93d855 |
* License as published by the Free Software Foundation; either
|
|
Packit Service |
93d855 |
* version 2 of the License, or (at your option) any later version.
|
|
Packit Service |
93d855 |
*
|
|
Packit Service |
93d855 |
* This library is distributed in the hope that it will be useful,
|
|
Packit Service |
93d855 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit Service |
93d855 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit Service |
93d855 |
* Lesser General Public License for more details.
|
|
Packit Service |
93d855 |
*
|
|
Packit Service |
93d855 |
* You should have received a copy of the GNU Lesser General Public
|
|
Packit Service |
93d855 |
* License along with this library; if not, write to the
|
|
Packit Service |
93d855 |
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
Packit Service |
93d855 |
* Boston, MA 02111-1307, USA.
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#ifndef __XKLAVIER_PRIVATE_XKB_H__
|
|
Packit Service |
93d855 |
#define __XKLAVIER_PRIVATE_XKB_H__
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#ifdef LIBXKBFILE_PRESENT
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#include <config.h>
|
|
Packit Service |
93d855 |
#include <X11/XKBlib.h>
|
|
Packit Service |
93d855 |
#include <X11/extensions/XKBrules.h>
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#define ForPhysIndicators( i, bit ) \
|
|
Packit Service |
93d855 |
for ( i=0, bit=1; i
|
|
Packit Service |
93d855 |
if ( xkl_engine_backend(engine,XklXkb,cached_desc)->indicators->phys_indicators & bit )
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
typedef struct _XklXkb {
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
gint event_type;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
gint error_code;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
XkbDescPtr cached_desc;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
gchar *indicator_names[XkbNumIndicators];
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
XkbDescPtr actual_desc;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
gchar *group_names[XkbNumKbdGroups];
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
int device_id;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#ifdef HAVE_XINPUT
|
|
Packit Service |
93d855 |
gint xi_event_type;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
gint xi_error_code;
|
|
Packit Service |
93d855 |
#endif
|
|
Packit Service |
93d855 |
} XklXkb;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_engine_dump_xkb_desc(XklEngine * engine,
|
|
Packit Service |
93d855 |
const char *file_name,
|
|
Packit Service |
93d855 |
XkbDescPtr kbd);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gboolean xkl_xkb_multiple_layouts_supported(XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern const gchar *xkl_xkb_event_get_name(gint xkb_type);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gboolean xkl_xkb_config_native_prepare(XklEngine * engine,
|
|
Packit Service |
93d855 |
const XklConfigRec * data,
|
|
Packit Service |
93d855 |
XkbComponentNamesPtr
|
|
Packit Service |
93d855 |
component_names);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_xkb_config_native_cleanup(XklEngine * engine,
|
|
Packit Service |
93d855 |
XkbComponentNamesPtr
|
|
Packit Service |
93d855 |
component_names);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gboolean xkl_xkb_set_indicator(XklEngine * engine,
|
|
Packit Service |
93d855 |
gint indicator_num, gboolean set);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/* Start VTable methods */
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gboolean xkl_xkb_activate_config_rec(XklEngine * engine,
|
|
Packit Service |
93d855 |
const XklConfigRec * data);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_xkb_init_config_registry(XklConfigRegistry * config);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gboolean xkl_xkb_load_config_registry(XklConfigRegistry * config,
|
|
Packit Service |
93d855 |
gboolean if_extras_needed);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gboolean xkl_xkb_write_config_rec_to_file(XklEngine * engine,
|
|
Packit Service |
93d855 |
const char *file_name,
|
|
Packit Service |
93d855 |
const XklConfigRec * data,
|
|
Packit Service |
93d855 |
const gboolean binary);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gint xkl_xkb_process_x_event(XklEngine * engine, XEvent * xev);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gint xkl_xkb_process_x_error(XklEngine * engine, XErrorEvent * xerev);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_xkb_free_all_info(XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern const gchar **xkl_xkb_get_groups_names(XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern guint xkl_xkb_get_max_num_groups(XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern guint xkl_xkb_get_num_groups(XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_xkb_get_server_state(XklEngine * engine,
|
|
Packit Service |
93d855 |
XklState * current_state_out);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gboolean xkl_xkb_if_cached_info_equals_actual(XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gboolean xkl_xkb_load_all_info(XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_xkb_lock_group(XklEngine * engine, gint group);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gint xkl_xkb_pause_listen(XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gint xkl_xkb_resume_listen(XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_xkb_set_indicators(XklEngine * engine,
|
|
Packit Service |
93d855 |
const XklState * window_state);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_xkb_term(XklEngine * engine);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/* End of VTable methods */
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#else
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* VERY VERY BAD STYLE, some kind of 'protected' methods -
|
|
Packit Service |
93d855 |
* but some programs may want to hook into them.
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern gboolean xkl_xkb_config_native_prepare(XklEngine * engine,
|
|
Packit Service |
93d855 |
const XklConfigRec * data,
|
|
Packit Service |
93d855 |
gpointer component_names);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
extern void xkl_xkb_config_native_cleanup(XklEngine * engine,
|
|
Packit Service |
93d855 |
gpointer component_names);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#endif
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#endif
|