Blame libxklavier/xklavier_private_xkb.h

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