aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2010-09-30 15:43:57 +0000
committermarha <marha@users.sourceforge.net>2010-09-30 15:43:57 +0000
commit54fffe7283b49dcaae81e826eb0dff213552c4ec (patch)
treec3a8c65ebffb5841251bd16edec93f0576f77418
parentd718b0dd8ed27c6f8497077b8d4b088d9b7f7bd3 (diff)
parentf952d0d771de6d9b8ecc3cbbe3624203723bbb25 (diff)
downloadvcxsrv-54fffe7283b49dcaae81e826eb0dff213552c4ec.tar.gz
vcxsrv-54fffe7283b49dcaae81e826eb0dff213552c4ec.tar.bz2
vcxsrv-54fffe7283b49dcaae81e826eb0dff213552c4ec.zip
svn merge ^/branches/released .
-rw-r--r--X11/ImUtil.h60
-rw-r--r--X11/XKBlib.h2298
-rw-r--r--X11/Xcms.h1606
-rw-r--r--X11/Xlib-xcb.h40
-rw-r--r--X11/Xlib.h8046
-rw-r--r--X11/Xlibint.h6
-rw-r--r--X11/Xlocale.h118
-rw-r--r--X11/Xregion.h382
-rw-r--r--X11/Xresource.h716
-rw-r--r--X11/Xutil.h1652
-rw-r--r--X11/cursorfont.h222
-rw-r--r--libX11/include/X11/ImUtil.h60
-rw-r--r--libX11/include/X11/XKBlib.h2298
-rw-r--r--libX11/include/X11/Xcms.h1606
-rw-r--r--libX11/include/X11/Xlib-xcb.h40
-rw-r--r--libX11/include/X11/Xlib.h8046
-rw-r--r--libX11/include/X11/Xlibint.h6
-rw-r--r--libX11/include/X11/Xlocale.h118
-rw-r--r--libX11/include/X11/Xregion.h382
-rw-r--r--libX11/include/X11/Xresource.h716
-rw-r--r--libX11/include/X11/Xutil.h1652
-rw-r--r--libX11/include/X11/cursorfont.h222
-rw-r--r--xorg-server/Xext/bigreq.c18
-rw-r--r--xorg-server/Xext/saver.c88
-rw-r--r--xorg-server/Xext/shape.c54
-rw-r--r--xorg-server/Xext/shm.c557
-rw-r--r--xorg-server/Xext/sync.c30
-rw-r--r--xorg-server/Xext/xcmisc.c26
-rw-r--r--xorg-server/Xext/xf86bigfont.c6
-rw-r--r--xorg-server/Xext/xtest.c29
-rw-r--r--xorg-server/configure.ac6
-rw-r--r--xorg-server/dix/dispatch.c20
-rw-r--r--xorg-server/dix/dispatch.h291
-rw-r--r--xorg-server/dix/main.c4
-rw-r--r--xorg-server/dix/tables.c1496
-rw-r--r--xorg-server/glx/glxext.c13
-rw-r--r--xorg-server/hw/dmx/dmx.c56
-rw-r--r--xorg-server/hw/kdrive/ephyr/ephyrdriext.c135
-rw-r--r--xorg-server/hw/xfree86/common/xf86Helper.c19
-rw-r--r--xorg-server/hw/xfree86/common/xf86Module.h2
-rw-r--r--xorg-server/hw/xfree86/common/xf86Xinput.h1
-rw-r--r--xorg-server/hw/xfree86/common/xf86str.h1
-rw-r--r--xorg-server/hw/xfree86/dixmods/extmod/Makefile.am60
-rw-r--r--xorg-server/hw/xfree86/dixmods/extmod/xf86dga2.c86
-rw-r--r--xorg-server/hw/xfree86/dixmods/extmod/xf86dgaext.h10
-rw-r--r--xorg-server/hw/xfree86/dixmods/extmod/xf86vmode.c146
-rw-r--r--xorg-server/hw/xfree86/dri/xf86dri.c70
-rw-r--r--xorg-server/hw/xfree86/fbdevhw/fbdevhw.c10
-rw-r--r--xorg-server/hw/xfree86/i2c/bt829_module.c49
-rw-r--r--xorg-server/hw/xfree86/i2c/fi1236_module.c57
-rw-r--r--xorg-server/hw/xfree86/i2c/msp3430_module.c57
-rw-r--r--xorg-server/hw/xfree86/i2c/tda8425_module.c57
-rw-r--r--xorg-server/hw/xfree86/i2c/tda9850_module.c57
-rw-r--r--xorg-server/hw/xfree86/i2c/tda9885_module.c57
-rw-r--r--xorg-server/hw/xfree86/i2c/uda1380_module.c57
-rw-r--r--xorg-server/hw/xfree86/int10/xf86int10module.c107
-rw-r--r--xorg-server/hw/xfree86/loader/Makefile.am60
-rw-r--r--xorg-server/hw/xfree86/loader/dlloader.c178
-rw-r--r--xorg-server/hw/xfree86/loader/dlloader.h33
-rw-r--r--xorg-server/hw/xfree86/loader/loader.c188
-rw-r--r--xorg-server/hw/xfree86/loader/loader.h23
-rw-r--r--xorg-server/hw/xfree86/loader/loaderProcs.h187
-rw-r--r--xorg-server/hw/xfree86/loader/loadmod.c79
-rw-r--r--xorg-server/hw/xfree86/modes/xf86RandR12.c12
-rw-r--r--xorg-server/hw/xfree86/shadowfb/shadow.c53
-rw-r--r--xorg-server/hw/xfree86/vbe/vbe_module.c54
-rw-r--r--xorg-server/hw/xquartz/Makefile.am110
-rw-r--r--xorg-server/hw/xquartz/X11Application.h223
-rw-r--r--xorg-server/hw/xquartz/X11Application.m44
-rw-r--r--xorg-server/hw/xquartz/X11Controller.m1688
-rw-r--r--xorg-server/hw/xquartz/applewm.c56
-rw-r--r--xorg-server/hw/xquartz/darwinEvents.c22
-rw-r--r--xorg-server/hw/xquartz/quartz.c201
-rw-r--r--xorg-server/hw/xquartz/quartz.h281
-rw-r--r--xorg-server/hw/xquartz/quartzAudio.c658
-rw-r--r--xorg-server/hw/xquartz/quartzCommon.h19
-rw-r--r--xorg-server/hw/xquartz/quartzKeyboard.c6
-rw-r--r--xorg-server/hw/xquartz/quartzRandR.c560
-rw-r--r--xorg-server/hw/xquartz/quartzRandR.h80
-rw-r--r--xorg-server/hw/xquartz/xpr/appledri.c43
-rw-r--r--xorg-server/hw/xquartz/xpr/xprAppleWM.c320
-rw-r--r--xorg-server/hw/xquartz/xpr/xprCursor.c6
-rw-r--r--xorg-server/hw/xquartz/xpr/xprFrame.c4
-rw-r--r--xorg-server/hw/xquartz/xpr/xprScreen.c12
-rw-r--r--xorg-server/hw/xwin/InitInput.c336
-rw-r--r--xorg-server/hw/xwin/winclipboardinit.c290
-rw-r--r--xorg-server/hw/xwin/winclipboardwrappers.c6
-rw-r--r--xorg-server/hw/xwin/winwindowswm.c54
-rw-r--r--xorg-server/randr/randr.c5
-rw-r--r--xorg-server/randr/randrstr.h18
-rw-r--r--xorg-server/randr/rrcrtc.c11
-rw-r--r--xorg-server/randr/rrmode.c14
-rw-r--r--xorg-server/randr/rroutput.c11
-rw-r--r--xorg-server/xkeyboard-config/NEWS1
-rw-r--r--xorg-server/xkeyboard-config/configure.in4
-rw-r--r--xorg-server/xkeyboard-config/po/ca.po1468
-rw-r--r--xorg-server/xkeyboard-config/po/cs.po5797
-rw-r--r--xorg-server/xkeyboard-config/po/da.po1503
-rw-r--r--xorg-server/xkeyboard-config/po/de.po1436
-rw-r--r--xorg-server/xkeyboard-config/po/eo.po1879
-rw-r--r--xorg-server/xkeyboard-config/po/es.po2003
-rw-r--r--xorg-server/xkeyboard-config/po/fi.po1466
-rw-r--r--xorg-server/xkeyboard-config/po/gl.po3023
-rw-r--r--xorg-server/xkeyboard-config/po/id.po6175
-rw-r--r--xorg-server/xkeyboard-config/po/it.po1426
-rw-r--r--xorg-server/xkeyboard-config/po/ko.po1463
-rw-r--r--xorg-server/xkeyboard-config/po/lt.po1941
-rw-r--r--xorg-server/xkeyboard-config/po/pl.po1418
-rw-r--r--xorg-server/xkeyboard-config/po/ro.po3079
-rw-r--r--xorg-server/xkeyboard-config/po/ru.po1465
-rw-r--r--xorg-server/xkeyboard-config/po/vi.po1420
-rw-r--r--xorg-server/xkeyboard-config/po/xkeyboard-config.pot1393
-rw-r--r--xorg-server/xkeyboard-config/rules/base.o_s.part1
-rw-r--r--xorg-server/xkeyboard-config/rules/base.xml.in23
-rw-r--r--xorg-server/xkeyboard-config/symbols/Makefile.am2
-rw-r--r--xorg-server/xkeyboard-config/symbols/in13
-rw-r--r--xorg-server/xkeyboard-config/symbols/makefile2
-rw-r--r--xorg-server/xkeyboard-config/symbols/rupeesign7
118 files changed, 43085 insertions, 35292 deletions
diff --git a/X11/ImUtil.h b/X11/ImUtil.h
index 5b62571ac..b7f425c93 100644
--- a/X11/ImUtil.h
+++ b/X11/ImUtil.h
@@ -1,30 +1,30 @@
-
-#ifndef _IMUTIL_H_
-#define _IMUTIL_H_
-
-extern int
-_XGetScanlinePad(
- Display *dpy,
- int depth);
-
-extern int
-_XGetBitsPerPixel(
- Display *dpy,
- int depth);
-
-extern int
-_XSetImage(
- XImage *srcimg,
- register XImage *dstimg,
- register int x,
- register int y);
-
-extern int
-_XReverse_Bytes(
- register unsigned char *bpt,
- register int nb);
-extern void
-_XInitImageFuncPtrs(
- register XImage *image);
-
-#endif /* _IMUTIL_H_ */
+
+#ifndef _X11_IMUTIL_H_
+#define _X11_IMUTIL_H_
+
+extern int
+_XGetScanlinePad(
+ Display *dpy,
+ int depth);
+
+extern int
+_XGetBitsPerPixel(
+ Display *dpy,
+ int depth);
+
+extern int
+_XSetImage(
+ XImage *srcimg,
+ register XImage *dstimg,
+ register int x,
+ register int y);
+
+extern int
+_XReverse_Bytes(
+ register unsigned char *bpt,
+ register int nb);
+extern void
+_XInitImageFuncPtrs(
+ register XImage *image);
+
+#endif /* _X11_IMUTIL_H_ */
diff --git a/X11/XKBlib.h b/X11/XKBlib.h
index 291fc0515..33a24c1b4 100644
--- a/X11/XKBlib.h
+++ b/X11/XKBlib.h
@@ -1,1149 +1,1149 @@
-/************************************************************
-Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
-
-Permission to use, copy, modify, and distribute this
-software and its documentation for any purpose and without
-fee is hereby granted, provided that the above copyright
-notice appear in all copies and that both that copyright
-notice and this permission notice appear in supporting
-documentation, and that the name of Silicon Graphics not be
-used in advertising or publicity pertaining to distribution
-of the software without specific prior written permission.
-Silicon Graphics makes no representation about the suitability
-of this software for any purpose. It is provided "as is"
-without any express or implied warranty.
-
-SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
-SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
-GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
-DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
-DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
-OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
-THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-********************************************************/
-
-#ifndef _XKBLIB_H_
-#define _XKBLIB_H_
-
-#include <X11/Xlib.h>
-#include <X11/extensions/XKBstr.h>
-
-typedef struct _XkbAnyEvent {
- int type; /* XkbAnyEvent */
- unsigned long serial; /* # of last req processed by server */
- Bool send_event; /* is this from a SendEvent request? */
- Display * display; /* Display the event was read from */
- Time time; /* milliseconds */
- int xkb_type; /* XKB event minor code */
- unsigned int device; /* device ID */
-} XkbAnyEvent;
-
-typedef struct _XkbNewKeyboardNotify {
- int type; /* XkbAnyEvent */
- unsigned long serial; /* of last req processed by server */
- Bool send_event; /* is this from a SendEvent request? */
- Display * display; /* Display the event was read from */
- Time time; /* milliseconds */
- int xkb_type; /* XkbNewKeyboardNotify */
- int device; /* device ID */
- int old_device; /* device ID of previous keyboard */
- int min_key_code; /* minimum key code */
- int max_key_code; /* maximum key code */
- int old_min_key_code;/* min key code of previous kbd */
- int old_max_key_code;/* max key code of previous kbd */
- unsigned int changed; /* changed aspects of the keyboard */
- char req_major; /* major and minor opcode of req */
- char req_minor; /* that caused change, if applicable */
-} XkbNewKeyboardNotifyEvent;
-
-typedef struct _XkbMapNotifyEvent {
- int type; /* XkbAnyEvent */
- unsigned long serial; /* of last req processed by server */
- Bool send_event; /* is this from a SendEvent request */
- Display * display; /* Display the event was read from */
- Time time; /* milliseconds */
- int xkb_type; /* XkbMapNotify */
- int device; /* device ID */
- unsigned int changed; /* fields which have been changed */
- unsigned int flags; /* reserved */
- int first_type; /* first changed key type */
- int num_types; /* number of changed key types */
- KeyCode min_key_code;
- KeyCode max_key_code;
- KeyCode first_key_sym;
- KeyCode first_key_act;
- KeyCode first_key_behavior;
- KeyCode first_key_explicit;
- KeyCode first_modmap_key;
- KeyCode first_vmodmap_key;
- int num_key_syms;
- int num_key_acts;
- int num_key_behaviors;
- int num_key_explicit;
- int num_modmap_keys;
- int num_vmodmap_keys;
- unsigned int vmods; /* mask of changed virtual mods */
-} XkbMapNotifyEvent;
-
-typedef struct _XkbStateNotifyEvent {
- int type; /* XkbAnyEvent */
- unsigned long serial; /* # of last req processed by server */
- Bool send_event; /* is this from a SendEvent request? */
- Display * display; /* Display the event was read from */
- Time time; /* milliseconds */
- int xkb_type; /* XkbStateNotify */
- int device; /* device ID */
- unsigned int changed; /* mask of changed state components */
- int group; /* keyboard group */
- int base_group; /* base keyboard group */
- int latched_group; /* latched keyboard group */
- int locked_group; /* locked keyboard group */
- unsigned int mods; /* modifier state */
- unsigned int base_mods; /* base modifier state */
- unsigned int latched_mods; /* latched modifiers */
- unsigned int locked_mods; /* locked modifiers */
- int compat_state; /* compatibility state */
- unsigned char grab_mods; /* mods used for grabs */
- unsigned char compat_grab_mods;/* grab mods for non-XKB clients */
- unsigned char lookup_mods; /* mods sent to clients */
- unsigned char compat_lookup_mods; /* mods sent to non-XKB clients */
- int ptr_buttons; /* pointer button state */
- KeyCode keycode; /* keycode that caused the change */
- char event_type; /* KeyPress or KeyRelease */
- char req_major; /* Major opcode of request */
- char req_minor; /* Minor opcode of request */
-} XkbStateNotifyEvent;
-
-typedef struct _XkbControlsNotify {
- int type; /* XkbAnyEvent */
- unsigned long serial; /* of last req processed by server */
- Bool send_event; /* is this from a SendEvent request? */
- Display * display; /* Display the event was read from */
- Time time; /* milliseconds */
- int xkb_type; /* XkbControlsNotify */
- int device; /* device ID */
- unsigned int changed_ctrls; /* controls with changed sub-values */
- unsigned int enabled_ctrls; /* controls currently enabled */
- unsigned int enabled_ctrl_changes;/* controls just {en,dis}abled */
- int num_groups; /* total groups on keyboard */
- KeyCode keycode; /* key that caused change or 0 */
- char event_type; /* type of event that caused change */
- char req_major; /* if keycode==0, major and minor */
- char req_minor; /* opcode of req that caused change */
-} XkbControlsNotifyEvent;
-
-typedef struct _XkbIndicatorNotify {
- int type; /* XkbAnyEvent */
- unsigned long serial; /* of last req processed by server */
- Bool send_event; /* is this from a SendEvent request? */
- Display * display; /* Display the event was read from */
- Time time; /* milliseconds */
- int xkb_type; /* XkbIndicatorNotify */
- int device; /* device ID */
- unsigned int changed; /* indicators with new state or map */
- unsigned int state; /* current state of all indicators */
-} XkbIndicatorNotifyEvent;
-
-typedef struct _XkbNamesNotify {
- int type; /* XkbAnyEvent */
- unsigned long serial; /* of last req processed by server */
- Bool send_event; /* is this from a SendEvent request? */
- Display * display; /* Display the event was read from */
- Time time; /* milliseconds */
- int xkb_type; /* XkbNamesNotify */
- int device; /* device ID */
- unsigned int changed; /* names that have changed */
- int first_type; /* first key type with new name */
- int num_types; /* number of key types with new names */
- int first_lvl; /* first key type new new level names */
- int num_lvls; /* # of key types w/new level names */
- int num_aliases; /* total number of key aliases*/
- int num_radio_groups;/* total number of radio groups */
- unsigned int changed_vmods; /* virtual modifiers with new names */
- unsigned int changed_groups; /* groups with new names */
- unsigned int changed_indicators;/* indicators with new names */
- int first_key; /* first key with new name */
- int num_keys; /* number of keys with new names */
-} XkbNamesNotifyEvent;
-
-typedef struct _XkbCompatMapNotify {
- int type; /* XkbAnyEvent */
- unsigned long serial; /* of last req processed by server */
- Bool send_event; /* is this from a SendEvent request? */
- Display * display; /* Display the event was read from */
- Time time; /* milliseconds */
- int xkb_type; /* XkbCompatMapNotify */
- int device; /* device ID */
- unsigned int changed_groups; /* groups with new compat maps */
- int first_si; /* first new symbol interp */
- int num_si; /* number of new symbol interps */
- int num_total_si; /* total # of symbol interps */
-} XkbCompatMapNotifyEvent;
-
-typedef struct _XkbBellNotify {
- int type; /* XkbAnyEvent */
- unsigned long serial; /* of last req processed by server */
- Bool send_event; /* is this from a SendEvent request? */
- Display * display; /* Display the event was read from */
- Time time; /* milliseconds */
- int xkb_type; /* XkbBellNotify */
- int device; /* device ID */
- int percent; /* requested volume as a % of maximum */
- int pitch; /* requested pitch in Hz */
- int duration; /* requested duration in useconds */
- int bell_class; /* (input extension) feedback class */
- int bell_id; /* (input extension) ID of feedback */
- Atom name; /* "name" of requested bell */
- Window window; /* window associated with event */
- Bool event_only; /* "event only" requested */
-} XkbBellNotifyEvent;
-
-typedef struct _XkbActionMessage {
- int type; /* XkbAnyEvent */
- unsigned long serial; /* of last req processed by server */
- Bool send_event; /* is this from a SendEvent request? */
- Display * display; /* Display the event was read from */
- Time time; /* milliseconds */
- int xkb_type; /* XkbActionMessage */
- int device; /* device ID */
- KeyCode keycode; /* key that generated the event */
- Bool press; /* true if act caused by key press */
- Bool key_event_follows;/* true if key event also generated */
- int group; /* effective group */
- unsigned int mods; /* effective mods */
- char message[XkbActionMessageLength+1];
- /* message -- leave space for NUL */
-} XkbActionMessageEvent;
-
-typedef struct _XkbAccessXNotify {
- int type; /* XkbAnyEvent */
- unsigned long serial; /* of last req processed by server */
- Bool send_event; /* is this from a SendEvent request? */
- Display * display; /* Display the event was read from */
- Time time; /* milliseconds */
- int xkb_type; /* XkbAccessXNotify */
- int device; /* device ID */
- int detail; /* XkbAXN_* */
- int keycode; /* key of event */
- int sk_delay; /* current slow keys delay */
- int debounce_delay; /* current debounce delay */
-} XkbAccessXNotifyEvent;
-
-typedef struct _XkbExtensionDeviceNotify {
- int type; /* XkbAnyEvent */
- unsigned long serial; /* of last req processed by server */
- Bool send_event; /* is this from a SendEvent request? */
- Display * display; /* Display the event was read from */
- Time time; /* milliseconds */
- int xkb_type; /* XkbExtensionDeviceNotify */
- int device; /* device ID */
- unsigned int reason; /* reason for the event */
- unsigned int supported; /* mask of supported features */
- unsigned int unsupported; /* mask of unsupported features */
- /* that some app tried to use */
- int first_btn; /* first button that changed */
- int num_btns; /* range of buttons changed */
- unsigned int leds_defined; /* indicators with names or maps */
- unsigned int led_state; /* current state of the indicators */
- int led_class; /* feedback class for led changes */
- int led_id; /* feedback id for led changes */
-} XkbExtensionDeviceNotifyEvent;
-
-typedef union _XkbEvent {
- int type;
- XkbAnyEvent any;
- XkbNewKeyboardNotifyEvent new_kbd;
- XkbMapNotifyEvent map;
- XkbStateNotifyEvent state;
- XkbControlsNotifyEvent ctrls;
- XkbIndicatorNotifyEvent indicators;
- XkbNamesNotifyEvent names;
- XkbCompatMapNotifyEvent compat;
- XkbBellNotifyEvent bell;
- XkbActionMessageEvent message;
- XkbAccessXNotifyEvent accessx;
- XkbExtensionDeviceNotifyEvent device;
- XEvent core;
-} XkbEvent;
-
-typedef struct _XkbKbdDpyState XkbKbdDpyStateRec,*XkbKbdDpyStatePtr;
-
- /* XkbOpenDisplay error codes */
-#define XkbOD_Success 0
-#define XkbOD_BadLibraryVersion 1
-#define XkbOD_ConnectionRefused 2
-#define XkbOD_NonXkbServer 3
-#define XkbOD_BadServerVersion 4
-
- /* Values for XlibFlags */
-#define XkbLC_ForceLatin1Lookup (1<<0)
-#define XkbLC_ConsumeLookupMods (1<<1)
-#define XkbLC_AlwaysConsumeShiftAndLock (1<<2)
-#define XkbLC_IgnoreNewKeyboards (1<<3)
-#define XkbLC_ControlFallback (1<<4)
-#define XkbLC_ConsumeKeysOnComposeFail (1<<29)
-#define XkbLC_ComposeLED (1<<30)
-#define XkbLC_BeepOnComposeFail (1<<31)
-
-#define XkbLC_AllComposeControls (0xc0000000)
-#define XkbLC_AllControls (0xc000001f)
-
-_XFUNCPROTOBEGIN
-
-extern Bool XkbIgnoreExtension(
- Bool /* ignore */
-);
-
-extern Display *XkbOpenDisplay(
- char * /* name */,
- int * /* ev_rtrn */,
- int * /* err_rtrn */,
- int * /* major_rtrn */,
- int * /* minor_rtrn */,
- int * /* reason */
-);
-
-extern Bool XkbQueryExtension(
- Display * /* dpy */,
- int * /* opcodeReturn */,
- int * /* eventBaseReturn */,
- int * /* errorBaseReturn */,
- int * /* majorRtrn */,
- int * /* minorRtrn */
-);
-
-extern Bool XkbUseExtension(
- Display * /* dpy */,
- int * /* major_rtrn */,
- int * /* minor_rtrn */
-);
-
-extern Bool XkbLibraryVersion(
- int * /* libMajorRtrn */,
- int * /* libMinorRtrn */
-);
-
-extern unsigned int XkbSetXlibControls(
- Display* /* dpy */,
- unsigned int /* affect */,
- unsigned int /* values */
-);
-
-extern unsigned int XkbGetXlibControls(
- Display* /* dpy */
-);
-
-extern unsigned int XkbXlibControlsImplemented(void);
-
-typedef Atom (*XkbInternAtomFunc)(
- Display * /* dpy */,
- _Xconst char * /* name */,
- Bool /* only_if_exists */
-);
-
-typedef char * (*XkbGetAtomNameFunc)(
- Display * /* dpy */,
- Atom /* atom */
-);
-
-extern void XkbSetAtomFuncs(
- XkbInternAtomFunc /* getAtom */,
- XkbGetAtomNameFunc /* getName */
-);
-
-extern KeySym XkbKeycodeToKeysym(
- Display * /* dpy */,
-#if NeedWidePrototypes
- unsigned int /* kc */,
-#else
- KeyCode /* kc */,
-#endif
- int /* group */,
- int /* level */
-);
-
-extern unsigned int XkbKeysymToModifiers(
- Display * /* dpy */,
- KeySym /* ks */
-);
-
-extern Bool XkbLookupKeySym(
- Display * /* dpy */,
- KeyCode /* keycode */,
- unsigned int /* modifiers */,
- unsigned int * /* modifiers_return */,
- KeySym * /* keysym_return */
-);
-
-extern int XkbLookupKeyBinding(
- Display * /* dpy */,
- KeySym /* sym_rtrn */,
- unsigned int /* mods */,
- char * /* buffer */,
- int /* nbytes */,
- int * /* extra_rtrn */
-);
-
-extern Bool XkbTranslateKeyCode(
- XkbDescPtr /* xkb */,
- KeyCode /* keycode */,
- unsigned int /* modifiers */,
- unsigned int * /* modifiers_return */,
- KeySym * /* keysym_return */
-);
-
-extern int XkbTranslateKeySym(
- Display * /* dpy */,
- register KeySym * /* sym_return */,
- unsigned int /* modifiers */,
- char * /* buffer */,
- int /* nbytes */,
- int * /* extra_rtrn */
-);
-
-extern Bool XkbSetAutoRepeatRate(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int /* delay */,
- unsigned int /* interval */
-);
-
-extern Bool XkbGetAutoRepeatRate(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int * /* delayRtrn */,
- unsigned int * /* intervalRtrn */
-);
-
-extern Bool XkbChangeEnabledControls(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int /* affect */,
- unsigned int /* values */
-);
-
-extern Bool XkbDeviceBell(
- Display * /* dpy */,
- Window /* win */,
- int /* deviceSpec */,
- int /* bellClass */,
- int /* bellID */,
- int /* percent */,
- Atom /* name */
-);
-
-extern Bool XkbForceDeviceBell(
- Display * /* dpy */,
- int /* deviceSpec */,
- int /* bellClass */,
- int /* bellID */,
- int /* percent */
-);
-
-extern Bool XkbDeviceBellEvent(
- Display * /* dpy */,
- Window /* win */,
- int /* deviceSpec */,
- int /* bellClass */,
- int /* bellID */,
- int /* percent */,
- Atom /* name */
-);
-
-extern Bool XkbBell(
- Display * /* dpy */,
- Window /* win */,
- int /* percent */,
- Atom /* name */
-);
-
-extern Bool XkbForceBell(
- Display * /* dpy */,
- int /* percent */
-);
-
-extern Bool XkbBellEvent(
- Display * /* dpy */,
- Window /* win */,
- int /* percent */,
- Atom /* name */
-);
-
-extern Bool XkbSelectEvents(
- Display * /* dpy */,
- unsigned int /* deviceID */,
- unsigned int /* affect */,
- unsigned int /* values */
-);
-
-extern Bool XkbSelectEventDetails(
- Display * /* dpy */,
- unsigned int /* deviceID */,
- unsigned int /* eventType */,
- unsigned long /* affect */,
- unsigned long /* details */
-);
-
-extern void XkbNoteMapChanges(
- XkbMapChangesPtr /* old */,
- XkbMapNotifyEvent * /* new */,
- unsigned int /* wanted */
-);
-
-extern void XkbNoteNameChanges(
- XkbNameChangesPtr /* old */,
- XkbNamesNotifyEvent * /* new */,
- unsigned int /* wanted */
-);
-
-extern Status XkbGetIndicatorState(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int * /* pStateRtrn */
-);
-
-extern Status XkbGetDeviceIndicatorState(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int /* ledClass */,
- unsigned int /* ledID */,
- unsigned int * /* pStateRtrn */
-);
-
-extern Status XkbGetIndicatorMap(
- Display * /* dpy */,
- unsigned long /* which */,
- XkbDescPtr /* desc */
-);
-
-extern Bool XkbSetIndicatorMap(
- Display * /* dpy */,
- unsigned long /* which */,
- XkbDescPtr /* desc */
-);
-
-#define XkbNoteIndicatorMapChanges(o,n,w) \
- ((o)->map_changes|=((n)->map_changes&(w)))
-#define XkbNoteIndicatorStateChanges(o,n,w)\
- ((o)->state_changes|=((n)->state_changes&(w)))
-#define XkbGetIndicatorMapChanges(d,x,c) \
- (XkbGetIndicatorMap((d),(c)->map_changes,x))
-#define XkbChangeIndicatorMaps(d,x,c) \
- (XkbSetIndicatorMap((d),(c)->map_changes,x))
-
-extern Bool XkbGetNamedIndicator(
- Display * /* dpy */,
- Atom /* name */,
- int * /* pNdxRtrn */,
- Bool * /* pStateRtrn */,
- XkbIndicatorMapPtr /* pMapRtrn */,
- Bool * /* pRealRtrn */
-);
-
-extern Bool XkbGetNamedDeviceIndicator(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int /* ledClass */,
- unsigned int /* ledID */,
- Atom /* name */,
- int * /* pNdxRtrn */,
- Bool * /* pStateRtrn */,
- XkbIndicatorMapPtr /* pMapRtrn */,
- Bool * /* pRealRtrn */
-);
-
-extern Bool XkbSetNamedIndicator(
- Display * /* dpy */,
- Atom /* name */,
- Bool /* changeState */,
- Bool /* state */,
- Bool /* createNewMap */,
- XkbIndicatorMapPtr /* pMap */
-);
-
-extern Bool XkbSetNamedDeviceIndicator(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int /* ledClass */,
- unsigned int /* ledID */,
- Atom /* name */,
- Bool /* changeState */,
- Bool /* state */,
- Bool /* createNewMap */,
- XkbIndicatorMapPtr /* pMap */
-);
-
-extern Bool XkbLockModifiers(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int /* affect */,
- unsigned int /* values */
-);
-
-extern Bool XkbLatchModifiers(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int /* affect */,
- unsigned int /* values */
-);
-
-extern Bool XkbLockGroup(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int /* group */
-);
-
-extern Bool XkbLatchGroup(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int /* group */
-);
-
-extern Bool XkbSetServerInternalMods(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int /* affectReal */,
- unsigned int /* realValues */,
- unsigned int /* affectVirtual */,
- unsigned int /* virtualValues */
-);
-
-extern Bool XkbSetIgnoreLockMods(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int /* affectReal */,
- unsigned int /* realValues */,
- unsigned int /* affectVirtual */,
- unsigned int /* virtualValues */
-);
-
-
-extern Bool XkbVirtualModsToReal(
- XkbDescPtr /* xkb */,
- unsigned int /* virtual_mask */,
- unsigned int * /* mask_rtrn */
-);
-
-extern Bool XkbComputeEffectiveMap(
- XkbDescPtr /* xkb */,
- XkbKeyTypePtr /* type */,
- unsigned char * /* map_rtrn */
-);
-
-extern Status XkbInitCanonicalKeyTypes(
- XkbDescPtr /* xkb */,
- unsigned int /* which */,
- int /* keypadVMod */
-);
-
-extern XkbDescPtr XkbAllocKeyboard(
- void
-);
-
-extern void XkbFreeKeyboard(
- XkbDescPtr /* xkb */,
- unsigned int /* which */,
- Bool /* freeDesc */
-);
-
-extern Status XkbAllocClientMap(
- XkbDescPtr /* xkb */,
- unsigned int /* which */,
- unsigned int /* nTypes */
-);
-
-extern Status XkbAllocServerMap(
- XkbDescPtr /* xkb */,
- unsigned int /* which */,
- unsigned int /* nActions */
-);
-
-extern void XkbFreeClientMap(
- XkbDescPtr /* xkb */,
- unsigned int /* what */,
- Bool /* freeMap */
-);
-
-extern void XkbFreeServerMap(
- XkbDescPtr /* xkb */,
- unsigned int /* what */,
- Bool /* freeMap */
-);
-
-extern XkbKeyTypePtr XkbAddKeyType(
- XkbDescPtr /* xkb */,
- Atom /* name */,
- int /* map_count */,
- Bool /* want_preserve */,
- int /* num_lvls */
-);
-
-extern Status XkbAllocIndicatorMaps(
- XkbDescPtr /* xkb */
-);
-
-extern void XkbFreeIndicatorMaps(
- XkbDescPtr /* xkb */
-);
-
-extern XkbDescPtr XkbGetMap(
- Display * /* dpy */,
- unsigned int /* which */,
- unsigned int /* deviceSpec */
-);
-
-extern Status XkbGetUpdatedMap(
- Display * /* dpy */,
- unsigned int /* which */,
- XkbDescPtr /* desc */
-);
-
-extern Status XkbGetMapChanges(
- Display * /* dpy */,
- XkbDescPtr /* xkb */,
- XkbMapChangesPtr /* changes */
-);
-
-
-extern Status XkbRefreshKeyboardMapping(
- XkbMapNotifyEvent * /* event */
-);
-
-extern Status XkbGetKeyTypes(
- Display * /* dpy */,
- unsigned int /* first */,
- unsigned int /* num */,
- XkbDescPtr /* xkb */
-);
-
-extern Status XkbGetKeySyms(
- Display * /* dpy */,
- unsigned int /* first */,
- unsigned int /* num */,
- XkbDescPtr /* xkb */
-);
-
-extern Status XkbGetKeyActions(
- Display * /* dpy */,
- unsigned int /* first */,
- unsigned int /* num */,
- XkbDescPtr /* xkb */
-);
-
-extern Status XkbGetKeyBehaviors(
- Display * /* dpy */,
- unsigned int /* firstKey */,
- unsigned int /* nKeys */,
- XkbDescPtr /* desc */
-);
-
-extern Status XkbGetVirtualMods(
- Display * /* dpy */,
- unsigned int /* which */,
- XkbDescPtr /* desc */
-);
-
-extern Status XkbGetKeyExplicitComponents(
- Display * /* dpy */,
- unsigned int /* firstKey */,
- unsigned int /* nKeys */,
- XkbDescPtr /* desc */
-);
-
-extern Status XkbGetKeyModifierMap(
- Display * /* dpy */,
- unsigned int /* firstKey */,
- unsigned int /* nKeys */,
- XkbDescPtr /* desc */
-);
-
-extern Status XkbGetKeyVirtualModMap(
- Display * /* dpy */,
- unsigned int /* first */,
- unsigned int /* num */,
- XkbDescPtr /* xkb */
-);
-
-extern Status XkbAllocControls(
- XkbDescPtr /* xkb */,
- unsigned int /* which*/
-);
-
-extern void XkbFreeControls(
- XkbDescPtr /* xkb */,
- unsigned int /* which */,
- Bool /* freeMap */
-);
-
-extern Status XkbGetControls(
- Display * /* dpy */,
- unsigned long /* which */,
- XkbDescPtr /* desc */
-);
-
-extern Bool XkbSetControls(
- Display * /* dpy */,
- unsigned long /* which */,
- XkbDescPtr /* desc */
-);
-
-extern void XkbNoteControlsChanges(
- XkbControlsChangesPtr /* old */,
- XkbControlsNotifyEvent * /* new */,
- unsigned int /* wanted */
-);
-
-#define XkbGetControlsChanges(d,x,c) XkbGetControls(d,(c)->changed_ctrls,x)
-#define XkbChangeControls(d,x,c) XkbSetControls(d,(c)->changed_ctrls,x)
-
-extern Status XkbAllocCompatMap(
- XkbDescPtr /* xkb */,
- unsigned int /* which */,
- unsigned int /* nInterpret */
-);
-
-extern void XkbFreeCompatMap(
- XkbDescPtr /* xkb */,
- unsigned int /* which */,
- Bool /* freeMap */
-);
-
-extern Status XkbGetCompatMap(
- Display * /* dpy */,
- unsigned int /* which */,
- XkbDescPtr /* xkb */
-);
-
-extern Bool XkbSetCompatMap(
- Display * /* dpy */,
- unsigned int /* which */,
- XkbDescPtr /* xkb */,
- Bool /* updateActions */
-);
-
-extern XkbSymInterpretPtr XkbAddSymInterpret(
- XkbDescPtr /* xkb */,
- XkbSymInterpretPtr /* si */,
- Bool /* updateMap */,
- XkbChangesPtr /* changes */
-);
-
-extern Status XkbAllocNames(
- XkbDescPtr /* xkb */,
- unsigned int /* which */,
- int /* nTotalRG */,
- int /* nTotalAliases */
-);
-
-extern Status XkbGetNames(
- Display * /* dpy */,
- unsigned int /* which */,
- XkbDescPtr /* desc */
-);
-
-extern Bool XkbSetNames(
- Display * /* dpy */,
- unsigned int /* which */,
- unsigned int /* firstType */,
- unsigned int /* nTypes */,
- XkbDescPtr /* desc */
-);
-
-extern Bool XkbChangeNames(
- Display * /* dpy */,
- XkbDescPtr /* xkb */,
- XkbNameChangesPtr /* changes */
-);
-
-extern void XkbFreeNames(
- XkbDescPtr /* xkb */,
- unsigned int /* which */,
- Bool /* freeMap */
-);
-
-
-extern Status XkbGetState(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- XkbStatePtr /* rtrnState */
-);
-
-extern Bool XkbSetMap(
- Display * /* dpy */,
- unsigned int /* which */,
- XkbDescPtr /* desc */
-);
-
-extern Bool XkbChangeMap(
- Display* /* dpy */,
- XkbDescPtr /* desc */,
- XkbMapChangesPtr /* changes */
-);
-
-extern Bool XkbSetDetectableAutoRepeat(
- Display * /* dpy */,
- Bool /* detectable */,
- Bool * /* supported */
-);
-
-extern Bool XkbGetDetectableAutoRepeat(
- Display * /* dpy */,
- Bool * /* supported */
-);
-
-extern Bool XkbSetAutoResetControls(
- Display * /* dpy */,
- unsigned int /* changes */,
- unsigned int * /* auto_ctrls */,
- unsigned int * /* auto_values */
-);
-
-extern Bool XkbGetAutoResetControls(
- Display * /* dpy */,
- unsigned int * /* auto_ctrls */,
- unsigned int * /* auto_ctrl_values */
-);
-
-extern Bool XkbSetPerClientControls(
- Display * /* dpy */,
- unsigned int /* change */,
- unsigned int * /* values */
-);
-
-extern Bool XkbGetPerClientControls(
- Display * /* dpy */,
- unsigned int * /* ctrls */
-);
-
-extern Status XkbCopyKeyType(
- XkbKeyTypePtr /* from */,
- XkbKeyTypePtr /* into */
-);
-
-extern Status XkbCopyKeyTypes(
- XkbKeyTypePtr /* from */,
- XkbKeyTypePtr /* into */,
- int /* num_types */
-);
-
-extern Status XkbResizeKeyType(
- XkbDescPtr /* xkb */,
- int /* type_ndx */,
- int /* map_count */,
- Bool /* want_preserve */,
- int /* new_num_lvls */
-);
-
-extern KeySym *XkbResizeKeySyms(
- XkbDescPtr /* desc */,
- int /* forKey */,
- int /* symsNeeded */
-);
-
-extern XkbAction *XkbResizeKeyActions(
- XkbDescPtr /* desc */,
- int /* forKey */,
- int /* actsNeeded */
-);
-
-extern Status XkbChangeTypesOfKey(
- XkbDescPtr /* xkb */,
- int /* key */,
- int /* num_groups */,
- unsigned int /* groups */,
- int * /* newTypes */,
- XkbMapChangesPtr /* pChanges */
-);
-
-extern Status XkbChangeKeycodeRange(
- XkbDescPtr /* xkb */,
- int /* minKC */,
- int /* maxKC */,
- XkbChangesPtr /* changes */
-);
-
-/***====================================================================***/
-
-extern XkbComponentListPtr XkbListComponents(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- XkbComponentNamesPtr /* ptrns */,
- int * /* max_inout */
-);
-
-extern void XkbFreeComponentList(
- XkbComponentListPtr /* list */
-);
-
-extern XkbDescPtr XkbGetKeyboard(
- Display * /* dpy */,
- unsigned int /* which */,
- unsigned int /* deviceSpec */
-);
-
-extern XkbDescPtr XkbGetKeyboardByName(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- XkbComponentNamesPtr /* names */,
- unsigned int /* want */,
- unsigned int /* need */,
- Bool /* load */
-);
-
-/***====================================================================***/
-
-extern int XkbKeyTypesForCoreSymbols( /* returns # of groups */
- XkbDescPtr /* xkb */, /* keyboard device */
- int /* map_width */, /* width of core KeySym array */
- KeySym * /* core_syms */, /* always mapWidth symbols */
- unsigned int /* protected */, /* explicit key types */
- int * /* types_inout */, /* always four type indices */
- KeySym * /* xkb_syms_rtrn */ /* must have enough space */
-);
-
-extern Bool XkbApplyCompatMapToKey( /* False only on error */
- XkbDescPtr /* xkb */, /* keymap to be edited */
- KeyCode /* key */, /* key to be updated */
- XkbChangesPtr /* changes */ /* resulting changes to map */
-);
-
-extern Bool XkbUpdateMapFromCore( /* False only on error */
- XkbDescPtr /* xkb */, /* XKB keyboard to be edited */
- KeyCode /* first_key */, /* first changed key */
- int /* num_keys */, /* number of changed keys */
- int /* map_width */, /* width of core keymap */
- KeySym * /* core_keysyms */, /* symbols from core keymap */
- XkbChangesPtr /* changes */ /* resulting changes */
-);
-
-/***====================================================================***/
-
-extern XkbDeviceLedInfoPtr XkbAddDeviceLedInfo(
- XkbDeviceInfoPtr /* devi */,
- unsigned int /* ledClass */,
- unsigned int /* ledId */
-);
-
-extern Status XkbResizeDeviceButtonActions(
- XkbDeviceInfoPtr /* devi */,
- unsigned int /* newTotal */
-);
-
-extern XkbDeviceInfoPtr XkbAllocDeviceInfo(
- unsigned int /* deviceSpec */,
- unsigned int /* nButtons */,
- unsigned int /* szLeds */
-);
-
-extern void XkbFreeDeviceInfo(
- XkbDeviceInfoPtr /* devi */,
- unsigned int /* which */,
- Bool /* freeDevI */
-);
-
-extern void XkbNoteDeviceChanges(
- XkbDeviceChangesPtr /* old */,
- XkbExtensionDeviceNotifyEvent * /* new */,
- unsigned int /* wanted */
-);
-
-extern XkbDeviceInfoPtr XkbGetDeviceInfo(
- Display * /* dpy */,
- unsigned int /* which */,
- unsigned int /* deviceSpec */,
- unsigned int /* ledClass */,
- unsigned int /* ledID */
-);
-
-extern Status XkbGetDeviceInfoChanges(
- Display * /* dpy */,
- XkbDeviceInfoPtr /* devi */,
- XkbDeviceChangesPtr /* changes */
-);
-
-extern Status XkbGetDeviceButtonActions(
- Display * /* dpy */,
- XkbDeviceInfoPtr /* devi */,
- Bool /* all */,
- unsigned int /* first */,
- unsigned int /* nBtns */
-);
-
-extern Status XkbGetDeviceLedInfo(
- Display * /* dpy */,
- XkbDeviceInfoPtr /* devi */,
- unsigned int /* ledClass (class, XIDflt, XIAll) */,
- unsigned int /* ledId (id, XIDflt, XIAll) */,
- unsigned int /* which (XkbXI_Indicator{Names,Map}Mask */
-);
-
-extern Bool XkbSetDeviceInfo(
- Display * /* dpy */,
- unsigned int /* which */,
- XkbDeviceInfoPtr /* devi */
-);
-
-extern Bool XkbChangeDeviceInfo(
- Display* /* dpy */,
- XkbDeviceInfoPtr /* desc */,
- XkbDeviceChangesPtr /* changes */
-);
-
-extern Bool XkbSetDeviceLedInfo(
- Display * /* dpy */,
- XkbDeviceInfoPtr /* devi */,
- unsigned int /* ledClass */,
- unsigned int /* ledID */,
- unsigned int /* which */
-);
-
-extern Bool XkbSetDeviceButtonActions(
- Display * /* dpy */,
- XkbDeviceInfoPtr /* devi */,
- unsigned int /* first */,
- unsigned int /* nBtns */
-);
-
-/***====================================================================***/
-
-extern char XkbToControl(
- char /* c */
-);
-
-/***====================================================================***/
-
-extern Bool XkbSetDebuggingFlags(
- Display * /* dpy */,
- unsigned int /* mask */,
- unsigned int /* flags */,
- char * /* msg */,
- unsigned int /* ctrls_mask */,
- unsigned int /* ctrls */,
- unsigned int * /* rtrn_flags */,
- unsigned int * /* rtrn_ctrls */
-);
-
-extern Bool XkbApplyVirtualModChanges(
- XkbDescPtr /* xkb */,
- unsigned int /* changed */,
- XkbChangesPtr /* changes */
-);
-
-extern Bool XkbUpdateActionVirtualMods(
- XkbDescPtr /* xkb */,
- XkbAction * /* act */,
- unsigned int /* changed */
-);
-
-extern void XkbUpdateKeyTypeVirtualMods(
- XkbDescPtr /* xkb */,
- XkbKeyTypePtr /* type */,
- unsigned int /* changed */,
- XkbChangesPtr /* changes */
-);
-
-_XFUNCPROTOEND
-
-#endif /* _XKBLIB_H_ */
+/************************************************************
+Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Silicon Graphics not be
+used in advertising or publicity pertaining to distribution
+of the software without specific prior written permission.
+Silicon Graphics makes no representation about the suitability
+of this software for any purpose. It is provided "as is"
+without any express or implied warranty.
+
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+********************************************************/
+
+#ifndef _X11_XKBLIB_H_
+#define _X11_XKBLIB_H_
+
+#include <X11/Xlib.h>
+#include <X11/extensions/XKBstr.h>
+
+typedef struct _XkbAnyEvent {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* # of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XKB event minor code */
+ unsigned int device; /* device ID */
+} XkbAnyEvent;
+
+typedef struct _XkbNewKeyboardNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbNewKeyboardNotify */
+ int device; /* device ID */
+ int old_device; /* device ID of previous keyboard */
+ int min_key_code; /* minimum key code */
+ int max_key_code; /* maximum key code */
+ int old_min_key_code;/* min key code of previous kbd */
+ int old_max_key_code;/* max key code of previous kbd */
+ unsigned int changed; /* changed aspects of the keyboard */
+ char req_major; /* major and minor opcode of req */
+ char req_minor; /* that caused change, if applicable */
+} XkbNewKeyboardNotifyEvent;
+
+typedef struct _XkbMapNotifyEvent {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbMapNotify */
+ int device; /* device ID */
+ unsigned int changed; /* fields which have been changed */
+ unsigned int flags; /* reserved */
+ int first_type; /* first changed key type */
+ int num_types; /* number of changed key types */
+ KeyCode min_key_code;
+ KeyCode max_key_code;
+ KeyCode first_key_sym;
+ KeyCode first_key_act;
+ KeyCode first_key_behavior;
+ KeyCode first_key_explicit;
+ KeyCode first_modmap_key;
+ KeyCode first_vmodmap_key;
+ int num_key_syms;
+ int num_key_acts;
+ int num_key_behaviors;
+ int num_key_explicit;
+ int num_modmap_keys;
+ int num_vmodmap_keys;
+ unsigned int vmods; /* mask of changed virtual mods */
+} XkbMapNotifyEvent;
+
+typedef struct _XkbStateNotifyEvent {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* # of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbStateNotify */
+ int device; /* device ID */
+ unsigned int changed; /* mask of changed state components */
+ int group; /* keyboard group */
+ int base_group; /* base keyboard group */
+ int latched_group; /* latched keyboard group */
+ int locked_group; /* locked keyboard group */
+ unsigned int mods; /* modifier state */
+ unsigned int base_mods; /* base modifier state */
+ unsigned int latched_mods; /* latched modifiers */
+ unsigned int locked_mods; /* locked modifiers */
+ int compat_state; /* compatibility state */
+ unsigned char grab_mods; /* mods used for grabs */
+ unsigned char compat_grab_mods;/* grab mods for non-XKB clients */
+ unsigned char lookup_mods; /* mods sent to clients */
+ unsigned char compat_lookup_mods; /* mods sent to non-XKB clients */
+ int ptr_buttons; /* pointer button state */
+ KeyCode keycode; /* keycode that caused the change */
+ char event_type; /* KeyPress or KeyRelease */
+ char req_major; /* Major opcode of request */
+ char req_minor; /* Minor opcode of request */
+} XkbStateNotifyEvent;
+
+typedef struct _XkbControlsNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbControlsNotify */
+ int device; /* device ID */
+ unsigned int changed_ctrls; /* controls with changed sub-values */
+ unsigned int enabled_ctrls; /* controls currently enabled */
+ unsigned int enabled_ctrl_changes;/* controls just {en,dis}abled */
+ int num_groups; /* total groups on keyboard */
+ KeyCode keycode; /* key that caused change or 0 */
+ char event_type; /* type of event that caused change */
+ char req_major; /* if keycode==0, major and minor */
+ char req_minor; /* opcode of req that caused change */
+} XkbControlsNotifyEvent;
+
+typedef struct _XkbIndicatorNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbIndicatorNotify */
+ int device; /* device ID */
+ unsigned int changed; /* indicators with new state or map */
+ unsigned int state; /* current state of all indicators */
+} XkbIndicatorNotifyEvent;
+
+typedef struct _XkbNamesNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbNamesNotify */
+ int device; /* device ID */
+ unsigned int changed; /* names that have changed */
+ int first_type; /* first key type with new name */
+ int num_types; /* number of key types with new names */
+ int first_lvl; /* first key type new new level names */
+ int num_lvls; /* # of key types w/new level names */
+ int num_aliases; /* total number of key aliases*/
+ int num_radio_groups;/* total number of radio groups */
+ unsigned int changed_vmods; /* virtual modifiers with new names */
+ unsigned int changed_groups; /* groups with new names */
+ unsigned int changed_indicators;/* indicators with new names */
+ int first_key; /* first key with new name */
+ int num_keys; /* number of keys with new names */
+} XkbNamesNotifyEvent;
+
+typedef struct _XkbCompatMapNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbCompatMapNotify */
+ int device; /* device ID */
+ unsigned int changed_groups; /* groups with new compat maps */
+ int first_si; /* first new symbol interp */
+ int num_si; /* number of new symbol interps */
+ int num_total_si; /* total # of symbol interps */
+} XkbCompatMapNotifyEvent;
+
+typedef struct _XkbBellNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbBellNotify */
+ int device; /* device ID */
+ int percent; /* requested volume as a % of maximum */
+ int pitch; /* requested pitch in Hz */
+ int duration; /* requested duration in useconds */
+ int bell_class; /* (input extension) feedback class */
+ int bell_id; /* (input extension) ID of feedback */
+ Atom name; /* "name" of requested bell */
+ Window window; /* window associated with event */
+ Bool event_only; /* "event only" requested */
+} XkbBellNotifyEvent;
+
+typedef struct _XkbActionMessage {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbActionMessage */
+ int device; /* device ID */
+ KeyCode keycode; /* key that generated the event */
+ Bool press; /* true if act caused by key press */
+ Bool key_event_follows;/* true if key event also generated */
+ int group; /* effective group */
+ unsigned int mods; /* effective mods */
+ char message[XkbActionMessageLength+1];
+ /* message -- leave space for NUL */
+} XkbActionMessageEvent;
+
+typedef struct _XkbAccessXNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbAccessXNotify */
+ int device; /* device ID */
+ int detail; /* XkbAXN_* */
+ int keycode; /* key of event */
+ int sk_delay; /* current slow keys delay */
+ int debounce_delay; /* current debounce delay */
+} XkbAccessXNotifyEvent;
+
+typedef struct _XkbExtensionDeviceNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbExtensionDeviceNotify */
+ int device; /* device ID */
+ unsigned int reason; /* reason for the event */
+ unsigned int supported; /* mask of supported features */
+ unsigned int unsupported; /* mask of unsupported features */
+ /* that some app tried to use */
+ int first_btn; /* first button that changed */
+ int num_btns; /* range of buttons changed */
+ unsigned int leds_defined; /* indicators with names or maps */
+ unsigned int led_state; /* current state of the indicators */
+ int led_class; /* feedback class for led changes */
+ int led_id; /* feedback id for led changes */
+} XkbExtensionDeviceNotifyEvent;
+
+typedef union _XkbEvent {
+ int type;
+ XkbAnyEvent any;
+ XkbNewKeyboardNotifyEvent new_kbd;
+ XkbMapNotifyEvent map;
+ XkbStateNotifyEvent state;
+ XkbControlsNotifyEvent ctrls;
+ XkbIndicatorNotifyEvent indicators;
+ XkbNamesNotifyEvent names;
+ XkbCompatMapNotifyEvent compat;
+ XkbBellNotifyEvent bell;
+ XkbActionMessageEvent message;
+ XkbAccessXNotifyEvent accessx;
+ XkbExtensionDeviceNotifyEvent device;
+ XEvent core;
+} XkbEvent;
+
+typedef struct _XkbKbdDpyState XkbKbdDpyStateRec,*XkbKbdDpyStatePtr;
+
+ /* XkbOpenDisplay error codes */
+#define XkbOD_Success 0
+#define XkbOD_BadLibraryVersion 1
+#define XkbOD_ConnectionRefused 2
+#define XkbOD_NonXkbServer 3
+#define XkbOD_BadServerVersion 4
+
+ /* Values for XlibFlags */
+#define XkbLC_ForceLatin1Lookup (1<<0)
+#define XkbLC_ConsumeLookupMods (1<<1)
+#define XkbLC_AlwaysConsumeShiftAndLock (1<<2)
+#define XkbLC_IgnoreNewKeyboards (1<<3)
+#define XkbLC_ControlFallback (1<<4)
+#define XkbLC_ConsumeKeysOnComposeFail (1<<29)
+#define XkbLC_ComposeLED (1<<30)
+#define XkbLC_BeepOnComposeFail (1<<31)
+
+#define XkbLC_AllComposeControls (0xc0000000)
+#define XkbLC_AllControls (0xc000001f)
+
+_XFUNCPROTOBEGIN
+
+extern Bool XkbIgnoreExtension(
+ Bool /* ignore */
+);
+
+extern Display *XkbOpenDisplay(
+ char * /* name */,
+ int * /* ev_rtrn */,
+ int * /* err_rtrn */,
+ int * /* major_rtrn */,
+ int * /* minor_rtrn */,
+ int * /* reason */
+);
+
+extern Bool XkbQueryExtension(
+ Display * /* dpy */,
+ int * /* opcodeReturn */,
+ int * /* eventBaseReturn */,
+ int * /* errorBaseReturn */,
+ int * /* majorRtrn */,
+ int * /* minorRtrn */
+);
+
+extern Bool XkbUseExtension(
+ Display * /* dpy */,
+ int * /* major_rtrn */,
+ int * /* minor_rtrn */
+);
+
+extern Bool XkbLibraryVersion(
+ int * /* libMajorRtrn */,
+ int * /* libMinorRtrn */
+);
+
+extern unsigned int XkbSetXlibControls(
+ Display* /* dpy */,
+ unsigned int /* affect */,
+ unsigned int /* values */
+);
+
+extern unsigned int XkbGetXlibControls(
+ Display* /* dpy */
+);
+
+extern unsigned int XkbXlibControlsImplemented(void);
+
+typedef Atom (*XkbInternAtomFunc)(
+ Display * /* dpy */,
+ _Xconst char * /* name */,
+ Bool /* only_if_exists */
+);
+
+typedef char * (*XkbGetAtomNameFunc)(
+ Display * /* dpy */,
+ Atom /* atom */
+);
+
+extern void XkbSetAtomFuncs(
+ XkbInternAtomFunc /* getAtom */,
+ XkbGetAtomNameFunc /* getName */
+);
+
+extern KeySym XkbKeycodeToKeysym(
+ Display * /* dpy */,
+#if NeedWidePrototypes
+ unsigned int /* kc */,
+#else
+ KeyCode /* kc */,
+#endif
+ int /* group */,
+ int /* level */
+);
+
+extern unsigned int XkbKeysymToModifiers(
+ Display * /* dpy */,
+ KeySym /* ks */
+);
+
+extern Bool XkbLookupKeySym(
+ Display * /* dpy */,
+ KeyCode /* keycode */,
+ unsigned int /* modifiers */,
+ unsigned int * /* modifiers_return */,
+ KeySym * /* keysym_return */
+);
+
+extern int XkbLookupKeyBinding(
+ Display * /* dpy */,
+ KeySym /* sym_rtrn */,
+ unsigned int /* mods */,
+ char * /* buffer */,
+ int /* nbytes */,
+ int * /* extra_rtrn */
+);
+
+extern Bool XkbTranslateKeyCode(
+ XkbDescPtr /* xkb */,
+ KeyCode /* keycode */,
+ unsigned int /* modifiers */,
+ unsigned int * /* modifiers_return */,
+ KeySym * /* keysym_return */
+);
+
+extern int XkbTranslateKeySym(
+ Display * /* dpy */,
+ register KeySym * /* sym_return */,
+ unsigned int /* modifiers */,
+ char * /* buffer */,
+ int /* nbytes */,
+ int * /* extra_rtrn */
+);
+
+extern Bool XkbSetAutoRepeatRate(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* delay */,
+ unsigned int /* interval */
+);
+
+extern Bool XkbGetAutoRepeatRate(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int * /* delayRtrn */,
+ unsigned int * /* intervalRtrn */
+);
+
+extern Bool XkbChangeEnabledControls(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* affect */,
+ unsigned int /* values */
+);
+
+extern Bool XkbDeviceBell(
+ Display * /* dpy */,
+ Window /* win */,
+ int /* deviceSpec */,
+ int /* bellClass */,
+ int /* bellID */,
+ int /* percent */,
+ Atom /* name */
+);
+
+extern Bool XkbForceDeviceBell(
+ Display * /* dpy */,
+ int /* deviceSpec */,
+ int /* bellClass */,
+ int /* bellID */,
+ int /* percent */
+);
+
+extern Bool XkbDeviceBellEvent(
+ Display * /* dpy */,
+ Window /* win */,
+ int /* deviceSpec */,
+ int /* bellClass */,
+ int /* bellID */,
+ int /* percent */,
+ Atom /* name */
+);
+
+extern Bool XkbBell(
+ Display * /* dpy */,
+ Window /* win */,
+ int /* percent */,
+ Atom /* name */
+);
+
+extern Bool XkbForceBell(
+ Display * /* dpy */,
+ int /* percent */
+);
+
+extern Bool XkbBellEvent(
+ Display * /* dpy */,
+ Window /* win */,
+ int /* percent */,
+ Atom /* name */
+);
+
+extern Bool XkbSelectEvents(
+ Display * /* dpy */,
+ unsigned int /* deviceID */,
+ unsigned int /* affect */,
+ unsigned int /* values */
+);
+
+extern Bool XkbSelectEventDetails(
+ Display * /* dpy */,
+ unsigned int /* deviceID */,
+ unsigned int /* eventType */,
+ unsigned long /* affect */,
+ unsigned long /* details */
+);
+
+extern void XkbNoteMapChanges(
+ XkbMapChangesPtr /* old */,
+ XkbMapNotifyEvent * /* new */,
+ unsigned int /* wanted */
+);
+
+extern void XkbNoteNameChanges(
+ XkbNameChangesPtr /* old */,
+ XkbNamesNotifyEvent * /* new */,
+ unsigned int /* wanted */
+);
+
+extern Status XkbGetIndicatorState(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int * /* pStateRtrn */
+);
+
+extern Status XkbGetDeviceIndicatorState(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledID */,
+ unsigned int * /* pStateRtrn */
+);
+
+extern Status XkbGetIndicatorMap(
+ Display * /* dpy */,
+ unsigned long /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern Bool XkbSetIndicatorMap(
+ Display * /* dpy */,
+ unsigned long /* which */,
+ XkbDescPtr /* desc */
+);
+
+#define XkbNoteIndicatorMapChanges(o,n,w) \
+ ((o)->map_changes|=((n)->map_changes&(w)))
+#define XkbNoteIndicatorStateChanges(o,n,w)\
+ ((o)->state_changes|=((n)->state_changes&(w)))
+#define XkbGetIndicatorMapChanges(d,x,c) \
+ (XkbGetIndicatorMap((d),(c)->map_changes,x))
+#define XkbChangeIndicatorMaps(d,x,c) \
+ (XkbSetIndicatorMap((d),(c)->map_changes,x))
+
+extern Bool XkbGetNamedIndicator(
+ Display * /* dpy */,
+ Atom /* name */,
+ int * /* pNdxRtrn */,
+ Bool * /* pStateRtrn */,
+ XkbIndicatorMapPtr /* pMapRtrn */,
+ Bool * /* pRealRtrn */
+);
+
+extern Bool XkbGetNamedDeviceIndicator(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledID */,
+ Atom /* name */,
+ int * /* pNdxRtrn */,
+ Bool * /* pStateRtrn */,
+ XkbIndicatorMapPtr /* pMapRtrn */,
+ Bool * /* pRealRtrn */
+);
+
+extern Bool XkbSetNamedIndicator(
+ Display * /* dpy */,
+ Atom /* name */,
+ Bool /* changeState */,
+ Bool /* state */,
+ Bool /* createNewMap */,
+ XkbIndicatorMapPtr /* pMap */
+);
+
+extern Bool XkbSetNamedDeviceIndicator(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledID */,
+ Atom /* name */,
+ Bool /* changeState */,
+ Bool /* state */,
+ Bool /* createNewMap */,
+ XkbIndicatorMapPtr /* pMap */
+);
+
+extern Bool XkbLockModifiers(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* affect */,
+ unsigned int /* values */
+);
+
+extern Bool XkbLatchModifiers(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* affect */,
+ unsigned int /* values */
+);
+
+extern Bool XkbLockGroup(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* group */
+);
+
+extern Bool XkbLatchGroup(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* group */
+);
+
+extern Bool XkbSetServerInternalMods(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* affectReal */,
+ unsigned int /* realValues */,
+ unsigned int /* affectVirtual */,
+ unsigned int /* virtualValues */
+);
+
+extern Bool XkbSetIgnoreLockMods(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* affectReal */,
+ unsigned int /* realValues */,
+ unsigned int /* affectVirtual */,
+ unsigned int /* virtualValues */
+);
+
+
+extern Bool XkbVirtualModsToReal(
+ XkbDescPtr /* xkb */,
+ unsigned int /* virtual_mask */,
+ unsigned int * /* mask_rtrn */
+);
+
+extern Bool XkbComputeEffectiveMap(
+ XkbDescPtr /* xkb */,
+ XkbKeyTypePtr /* type */,
+ unsigned char * /* map_rtrn */
+);
+
+extern Status XkbInitCanonicalKeyTypes(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ int /* keypadVMod */
+);
+
+extern XkbDescPtr XkbAllocKeyboard(
+ void
+);
+
+extern void XkbFreeKeyboard(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ Bool /* freeDesc */
+);
+
+extern Status XkbAllocClientMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ unsigned int /* nTypes */
+);
+
+extern Status XkbAllocServerMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ unsigned int /* nActions */
+);
+
+extern void XkbFreeClientMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* what */,
+ Bool /* freeMap */
+);
+
+extern void XkbFreeServerMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* what */,
+ Bool /* freeMap */
+);
+
+extern XkbKeyTypePtr XkbAddKeyType(
+ XkbDescPtr /* xkb */,
+ Atom /* name */,
+ int /* map_count */,
+ Bool /* want_preserve */,
+ int /* num_lvls */
+);
+
+extern Status XkbAllocIndicatorMaps(
+ XkbDescPtr /* xkb */
+);
+
+extern void XkbFreeIndicatorMaps(
+ XkbDescPtr /* xkb */
+);
+
+extern XkbDescPtr XkbGetMap(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ unsigned int /* deviceSpec */
+);
+
+extern Status XkbGetUpdatedMap(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern Status XkbGetMapChanges(
+ Display * /* dpy */,
+ XkbDescPtr /* xkb */,
+ XkbMapChangesPtr /* changes */
+);
+
+
+extern Status XkbRefreshKeyboardMapping(
+ XkbMapNotifyEvent * /* event */
+);
+
+extern Status XkbGetKeyTypes(
+ Display * /* dpy */,
+ unsigned int /* first */,
+ unsigned int /* num */,
+ XkbDescPtr /* xkb */
+);
+
+extern Status XkbGetKeySyms(
+ Display * /* dpy */,
+ unsigned int /* first */,
+ unsigned int /* num */,
+ XkbDescPtr /* xkb */
+);
+
+extern Status XkbGetKeyActions(
+ Display * /* dpy */,
+ unsigned int /* first */,
+ unsigned int /* num */,
+ XkbDescPtr /* xkb */
+);
+
+extern Status XkbGetKeyBehaviors(
+ Display * /* dpy */,
+ unsigned int /* firstKey */,
+ unsigned int /* nKeys */,
+ XkbDescPtr /* desc */
+);
+
+extern Status XkbGetVirtualMods(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern Status XkbGetKeyExplicitComponents(
+ Display * /* dpy */,
+ unsigned int /* firstKey */,
+ unsigned int /* nKeys */,
+ XkbDescPtr /* desc */
+);
+
+extern Status XkbGetKeyModifierMap(
+ Display * /* dpy */,
+ unsigned int /* firstKey */,
+ unsigned int /* nKeys */,
+ XkbDescPtr /* desc */
+);
+
+extern Status XkbGetKeyVirtualModMap(
+ Display * /* dpy */,
+ unsigned int /* first */,
+ unsigned int /* num */,
+ XkbDescPtr /* xkb */
+);
+
+extern Status XkbAllocControls(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which*/
+);
+
+extern void XkbFreeControls(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ Bool /* freeMap */
+);
+
+extern Status XkbGetControls(
+ Display * /* dpy */,
+ unsigned long /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern Bool XkbSetControls(
+ Display * /* dpy */,
+ unsigned long /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern void XkbNoteControlsChanges(
+ XkbControlsChangesPtr /* old */,
+ XkbControlsNotifyEvent * /* new */,
+ unsigned int /* wanted */
+);
+
+#define XkbGetControlsChanges(d,x,c) XkbGetControls(d,(c)->changed_ctrls,x)
+#define XkbChangeControls(d,x,c) XkbSetControls(d,(c)->changed_ctrls,x)
+
+extern Status XkbAllocCompatMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ unsigned int /* nInterpret */
+);
+
+extern void XkbFreeCompatMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ Bool /* freeMap */
+);
+
+extern Status XkbGetCompatMap(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDescPtr /* xkb */
+);
+
+extern Bool XkbSetCompatMap(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDescPtr /* xkb */,
+ Bool /* updateActions */
+);
+
+extern XkbSymInterpretPtr XkbAddSymInterpret(
+ XkbDescPtr /* xkb */,
+ XkbSymInterpretPtr /* si */,
+ Bool /* updateMap */,
+ XkbChangesPtr /* changes */
+);
+
+extern Status XkbAllocNames(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ int /* nTotalRG */,
+ int /* nTotalAliases */
+);
+
+extern Status XkbGetNames(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern Bool XkbSetNames(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ unsigned int /* firstType */,
+ unsigned int /* nTypes */,
+ XkbDescPtr /* desc */
+);
+
+extern Bool XkbChangeNames(
+ Display * /* dpy */,
+ XkbDescPtr /* xkb */,
+ XkbNameChangesPtr /* changes */
+);
+
+extern void XkbFreeNames(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ Bool /* freeMap */
+);
+
+
+extern Status XkbGetState(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ XkbStatePtr /* rtrnState */
+);
+
+extern Bool XkbSetMap(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern Bool XkbChangeMap(
+ Display* /* dpy */,
+ XkbDescPtr /* desc */,
+ XkbMapChangesPtr /* changes */
+);
+
+extern Bool XkbSetDetectableAutoRepeat(
+ Display * /* dpy */,
+ Bool /* detectable */,
+ Bool * /* supported */
+);
+
+extern Bool XkbGetDetectableAutoRepeat(
+ Display * /* dpy */,
+ Bool * /* supported */
+);
+
+extern Bool XkbSetAutoResetControls(
+ Display * /* dpy */,
+ unsigned int /* changes */,
+ unsigned int * /* auto_ctrls */,
+ unsigned int * /* auto_values */
+);
+
+extern Bool XkbGetAutoResetControls(
+ Display * /* dpy */,
+ unsigned int * /* auto_ctrls */,
+ unsigned int * /* auto_ctrl_values */
+);
+
+extern Bool XkbSetPerClientControls(
+ Display * /* dpy */,
+ unsigned int /* change */,
+ unsigned int * /* values */
+);
+
+extern Bool XkbGetPerClientControls(
+ Display * /* dpy */,
+ unsigned int * /* ctrls */
+);
+
+extern Status XkbCopyKeyType(
+ XkbKeyTypePtr /* from */,
+ XkbKeyTypePtr /* into */
+);
+
+extern Status XkbCopyKeyTypes(
+ XkbKeyTypePtr /* from */,
+ XkbKeyTypePtr /* into */,
+ int /* num_types */
+);
+
+extern Status XkbResizeKeyType(
+ XkbDescPtr /* xkb */,
+ int /* type_ndx */,
+ int /* map_count */,
+ Bool /* want_preserve */,
+ int /* new_num_lvls */
+);
+
+extern KeySym *XkbResizeKeySyms(
+ XkbDescPtr /* desc */,
+ int /* forKey */,
+ int /* symsNeeded */
+);
+
+extern XkbAction *XkbResizeKeyActions(
+ XkbDescPtr /* desc */,
+ int /* forKey */,
+ int /* actsNeeded */
+);
+
+extern Status XkbChangeTypesOfKey(
+ XkbDescPtr /* xkb */,
+ int /* key */,
+ int /* num_groups */,
+ unsigned int /* groups */,
+ int * /* newTypes */,
+ XkbMapChangesPtr /* pChanges */
+);
+
+extern Status XkbChangeKeycodeRange(
+ XkbDescPtr /* xkb */,
+ int /* minKC */,
+ int /* maxKC */,
+ XkbChangesPtr /* changes */
+);
+
+/***====================================================================***/
+
+extern XkbComponentListPtr XkbListComponents(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ XkbComponentNamesPtr /* ptrns */,
+ int * /* max_inout */
+);
+
+extern void XkbFreeComponentList(
+ XkbComponentListPtr /* list */
+);
+
+extern XkbDescPtr XkbGetKeyboard(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ unsigned int /* deviceSpec */
+);
+
+extern XkbDescPtr XkbGetKeyboardByName(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ XkbComponentNamesPtr /* names */,
+ unsigned int /* want */,
+ unsigned int /* need */,
+ Bool /* load */
+);
+
+/***====================================================================***/
+
+extern int XkbKeyTypesForCoreSymbols( /* returns # of groups */
+ XkbDescPtr /* xkb */, /* keyboard device */
+ int /* map_width */, /* width of core KeySym array */
+ KeySym * /* core_syms */, /* always mapWidth symbols */
+ unsigned int /* protected */, /* explicit key types */
+ int * /* types_inout */, /* always four type indices */
+ KeySym * /* xkb_syms_rtrn */ /* must have enough space */
+);
+
+extern Bool XkbApplyCompatMapToKey( /* False only on error */
+ XkbDescPtr /* xkb */, /* keymap to be edited */
+ KeyCode /* key */, /* key to be updated */
+ XkbChangesPtr /* changes */ /* resulting changes to map */
+);
+
+extern Bool XkbUpdateMapFromCore( /* False only on error */
+ XkbDescPtr /* xkb */, /* XKB keyboard to be edited */
+ KeyCode /* first_key */, /* first changed key */
+ int /* num_keys */, /* number of changed keys */
+ int /* map_width */, /* width of core keymap */
+ KeySym * /* core_keysyms */, /* symbols from core keymap */
+ XkbChangesPtr /* changes */ /* resulting changes */
+);
+
+/***====================================================================***/
+
+extern XkbDeviceLedInfoPtr XkbAddDeviceLedInfo(
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledId */
+);
+
+extern Status XkbResizeDeviceButtonActions(
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* newTotal */
+);
+
+extern XkbDeviceInfoPtr XkbAllocDeviceInfo(
+ unsigned int /* deviceSpec */,
+ unsigned int /* nButtons */,
+ unsigned int /* szLeds */
+);
+
+extern void XkbFreeDeviceInfo(
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* which */,
+ Bool /* freeDevI */
+);
+
+extern void XkbNoteDeviceChanges(
+ XkbDeviceChangesPtr /* old */,
+ XkbExtensionDeviceNotifyEvent * /* new */,
+ unsigned int /* wanted */
+);
+
+extern XkbDeviceInfoPtr XkbGetDeviceInfo(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledID */
+);
+
+extern Status XkbGetDeviceInfoChanges(
+ Display * /* dpy */,
+ XkbDeviceInfoPtr /* devi */,
+ XkbDeviceChangesPtr /* changes */
+);
+
+extern Status XkbGetDeviceButtonActions(
+ Display * /* dpy */,
+ XkbDeviceInfoPtr /* devi */,
+ Bool /* all */,
+ unsigned int /* first */,
+ unsigned int /* nBtns */
+);
+
+extern Status XkbGetDeviceLedInfo(
+ Display * /* dpy */,
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* ledClass (class, XIDflt, XIAll) */,
+ unsigned int /* ledId (id, XIDflt, XIAll) */,
+ unsigned int /* which (XkbXI_Indicator{Names,Map}Mask */
+);
+
+extern Bool XkbSetDeviceInfo(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDeviceInfoPtr /* devi */
+);
+
+extern Bool XkbChangeDeviceInfo(
+ Display* /* dpy */,
+ XkbDeviceInfoPtr /* desc */,
+ XkbDeviceChangesPtr /* changes */
+);
+
+extern Bool XkbSetDeviceLedInfo(
+ Display * /* dpy */,
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledID */,
+ unsigned int /* which */
+);
+
+extern Bool XkbSetDeviceButtonActions(
+ Display * /* dpy */,
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* first */,
+ unsigned int /* nBtns */
+);
+
+/***====================================================================***/
+
+extern char XkbToControl(
+ char /* c */
+);
+
+/***====================================================================***/
+
+extern Bool XkbSetDebuggingFlags(
+ Display * /* dpy */,
+ unsigned int /* mask */,
+ unsigned int /* flags */,
+ char * /* msg */,
+ unsigned int /* ctrls_mask */,
+ unsigned int /* ctrls */,
+ unsigned int * /* rtrn_flags */,
+ unsigned int * /* rtrn_ctrls */
+);
+
+extern Bool XkbApplyVirtualModChanges(
+ XkbDescPtr /* xkb */,
+ unsigned int /* changed */,
+ XkbChangesPtr /* changes */
+);
+
+extern Bool XkbUpdateActionVirtualMods(
+ XkbDescPtr /* xkb */,
+ XkbAction * /* act */,
+ unsigned int /* changed */
+);
+
+extern void XkbUpdateKeyTypeVirtualMods(
+ XkbDescPtr /* xkb */,
+ XkbKeyTypePtr /* type */,
+ unsigned int /* changed */,
+ XkbChangesPtr /* changes */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _X11_XKBLIB_H_ */
diff --git a/X11/Xcms.h b/X11/Xcms.h
index cea11ab48..327fdc1f7 100644
--- a/X11/Xcms.h
+++ b/X11/Xcms.h
@@ -1,803 +1,803 @@
-
-/*
- * Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc.
- * All Rights Reserved
- *
- * This file is a component of an X Window System-specific implementation
- * of Xcms based on the TekColor Color Management System. Permission is
- * hereby granted to use, copy, modify, sell, and otherwise distribute this
- * software and its documentation for any purpose and without fee, provided
- * that this copyright, permission, and disclaimer notice is reproduced in
- * all copies of this software and in supporting documentation. TekColor
- * is a trademark of Tektronix, Inc.
- *
- * Tektronix makes no representation about the suitability of this software
- * for any purpose. It is provided "as is" and with all faults.
- *
- * TEKTRONIX DISCLAIMS ALL WARRANTIES APPLICABLE TO THIS SOFTWARE,
- * INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
- * PARTICULAR PURPOSE. IN NO EVENT SHALL TEKTRONIX BE LIABLE FOR ANY
- * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA, OR PROFITS, WHETHER IN AN ACTION OF
- * CONTRACT, NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- * CONNECTION WITH THE USE OR THE PERFORMANCE OF THIS SOFTWARE.
- *
- *
- * DESCRIPTION
- * Public include file for X Color Management System
- */
-#ifndef _XCMS_H_
-#define _XCMS_H_
-
-#include <X11/Xlib.h>
-
- /*
- * XCMS Status Values
- */
-#define XcmsFailure 0
-#define XcmsSuccess 1
-#define XcmsSuccessWithCompression 2
-
- /*
- * Color Space Format ID's
- * Color Space ID's are of XcmsColorFormat type.
- *
- * bit 31
- * 0 == Device-Independent
- * 1 == Device-Dependent
- *
- * bit 30:
- * 0 == Registered with X Consortium
- * 1 == Unregistered
- */
-#define XcmsUndefinedFormat (XcmsColorFormat)0x00000000
-#define XcmsCIEXYZFormat (XcmsColorFormat)0x00000001
-#define XcmsCIEuvYFormat (XcmsColorFormat)0x00000002
-#define XcmsCIExyYFormat (XcmsColorFormat)0x00000003
-#define XcmsCIELabFormat (XcmsColorFormat)0x00000004
-#define XcmsCIELuvFormat (XcmsColorFormat)0x00000005
-#define XcmsTekHVCFormat (XcmsColorFormat)0x00000006
-#define XcmsRGBFormat (XcmsColorFormat)0x80000000
-#define XcmsRGBiFormat (XcmsColorFormat)0x80000001
-
- /*
- * State of XcmsPerScrnInfo
- */
-#define XcmsInitNone 0x00 /* no initialization attempted */
-#define XcmsInitSuccess 0x01 /* initialization successful */
-#define XcmsInitFailure 0xff /* failure, use defaults */
-
-#define DisplayOfCCC(ccc) ((ccc)->dpy)
-#define ScreenNumberOfCCC(ccc) ((ccc)->screenNumber)
-#define VisualOfCCC(ccc) ((ccc)->visual)
-#define ClientWhitePointOfCCC(ccc) (&(ccc)->clientWhitePt)
-#define ScreenWhitePointOfCCC(ccc) (&(ccc)->pPerScrnInfo->screenWhitePt)
-#define FunctionSetOfCCC(ccc) ((ccc)->pPerScrnInfo->functionSet)
-
-typedef unsigned long XcmsColorFormat; /* Color Space Format ID */
-
-typedef double XcmsFloat;
-
- /*
- * Device RGB
- */
-typedef struct {
- unsigned short red; /* scaled from 0x0000 to 0xffff */
- unsigned short green; /* scaled from 0x0000 to 0xffff */
- unsigned short blue; /* scaled from 0x0000 to 0xffff */
-} XcmsRGB;
-
- /*
- * RGB Intensity
- */
-typedef struct {
- XcmsFloat red; /* 0.0 - 1.0 */
- XcmsFloat green; /* 0.0 - 1.0 */
- XcmsFloat blue; /* 0.0 - 1.0 */
-} XcmsRGBi;
-
- /*
- * CIE XYZ
- */
-typedef struct {
- XcmsFloat X;
- XcmsFloat Y;
- XcmsFloat Z;
-} XcmsCIEXYZ;
-
- /*
- * CIE u'v'Y
- */
-typedef struct {
- XcmsFloat u_prime; /* 0.0 - 1.0 */
- XcmsFloat v_prime; /* 0.0 - 1.0 */
- XcmsFloat Y; /* 0.0 - 1.0 */
-} XcmsCIEuvY;
-
- /*
- * CIE xyY
- */
-typedef struct {
- XcmsFloat x; /* 0.0 - 1.0 */
- XcmsFloat y; /* 0.0 - 1.0 */
- XcmsFloat Y; /* 0.0 - 1.0 */
-} XcmsCIExyY;
-
- /*
- * CIE L*a*b*
- */
-typedef struct {
- XcmsFloat L_star; /* 0.0 - 100.0 */
- XcmsFloat a_star;
- XcmsFloat b_star;
-} XcmsCIELab;
-
- /*
- * CIE L*u*v*
- */
-typedef struct {
- XcmsFloat L_star; /* 0.0 - 100.0 */
- XcmsFloat u_star;
- XcmsFloat v_star;
-} XcmsCIELuv;
-
- /*
- * TekHVC
- */
-typedef struct {
- XcmsFloat H; /* 0.0 - 360.0 */
- XcmsFloat V; /* 0.0 - 100.0 */
- XcmsFloat C; /* 0.0 - 100.0 */
-} XcmsTekHVC;
-
- /*
- * PAD
- */
-typedef struct {
- XcmsFloat pad0;
- XcmsFloat pad1;
- XcmsFloat pad2;
- XcmsFloat pad3;
-} XcmsPad;
-
-
- /*
- * XCMS Color Structure
- */
-typedef struct {
- union {
- XcmsRGB RGB;
- XcmsRGBi RGBi;
- XcmsCIEXYZ CIEXYZ;
- XcmsCIEuvY CIEuvY;
- XcmsCIExyY CIExyY;
- XcmsCIELab CIELab;
- XcmsCIELuv CIELuv;
- XcmsTekHVC TekHVC;
- XcmsPad Pad;
- } spec; /* the color specification */
- unsigned long pixel; /* pixel value (as needed) */
- XcmsColorFormat format; /* the specification format */
-} XcmsColor;
-
-
- /*
- * XCMS Per Screen related data
- */
-
-typedef struct _XcmsPerScrnInfo {
- XcmsColor screenWhitePt; /* Screen White point */
- XPointer functionSet; /* pointer to Screen Color Characterization */
- /* Function Set structure */
- XPointer screenData; /* pointer to corresponding Screen Color*/
- /* Characterization Data */
- unsigned char state; /* XcmsInitNone, XcmsInitSuccess, XcmsInitFailure */
- char pad[3];
-} XcmsPerScrnInfo;
-
-typedef struct _XcmsCCC *XcmsCCC;
-
-typedef Status (*XcmsCompressionProc)( /* Gamut Compression Proc */
- XcmsCCC /* ccc */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- unsigned int /* index */,
- Bool* /* compression_flags_return */
-);
-
-typedef Status (*XcmsWhiteAdjustProc)( /* White Point Adjust Proc */
- XcmsCCC /* ccc */,
- XcmsColor* /* initial_white_point*/,
- XcmsColor* /* target_white_point*/,
- XcmsColorFormat /* target_format */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- Bool* /* compression_flags_return */
-);
-
- /*
- * XCMS Color Conversion Context
- */
-typedef struct _XcmsCCC {
- Display *dpy; /* X Display */
- int screenNumber; /* X screen number */
- Visual *visual; /* X Visual */
- XcmsColor clientWhitePt; /* Client White Point */
- XcmsCompressionProc gamutCompProc; /* Gamut Compression Function */
- XPointer gamutCompClientData; /* Gamut Comp Func Client Data */
- XcmsWhiteAdjustProc whitePtAdjProc; /* White Point Adjustment Function */
- XPointer whitePtAdjClientData; /* White Pt Adj Func Client Data */
- XcmsPerScrnInfo *pPerScrnInfo; /* pointer to per screen information */
- /* associated with the above display */
- /* screenNumber */
-} XcmsCCCRec;
-
-typedef Status (*XcmsScreenInitProc)( /* Screen Initialization Proc */
- Display* /* dpy */,
- int /* screen_number */,
- XcmsPerScrnInfo* /* screen_info */
-);
-
-typedef void (*XcmsScreenFreeProc)(
- XPointer /* screenData */
-);
-
- /*
- * Function List Pointer -- pointer to an array of function pointers.
- * The end of list is indicated by a NULL pointer.
- */
-/*
- * XXX: The use of the XcmsConversionProc type is broken. The
- * device-independent colour conversion code uses it as:
-
-typedef Status (*XcmsConversionProc)(XcmsCCC, XcmsColor *, XcmsColor *,
- unsigned int);
-
- * while the device-dependent code uses it as:
-
-typedef Status (*XcmsConversionProc)(XcmsCCC, XcmsColor *, unsigned int,
- Bool *);
-
- * Until this is reworked, it's probably best to leave it unprotoized.
- * The code works regardless.
- */
-typedef Status (*XcmsDDConversionProc)( /* using device-dependent version */
- XcmsCCC /* ccc */,
- XcmsColor* /* pcolors_in_out */,
- unsigned int /* ncolors */,
- Bool* /* pCompressed */
- );
-
-typedef Status (*XcmsDIConversionProc)( /* using device-independent version */
- XcmsCCC /* ccc */,
- XcmsColor* /* white_point */,
- XcmsColor* /* pcolors_in_out */,
- unsigned int /* ncolors */
- );
-
-typedef XcmsDIConversionProc XcmsConversionProc;
-typedef XcmsConversionProc *XcmsFuncListPtr;
-
-typedef int (*XcmsParseStringProc)( /* Color String Parsing Proc */
- char* /* color_string */,
- XcmsColor* /* color_return */
-);
-
- /*
- * Color Space -- per Color Space related data (Device-Independent
- * or Device-Dependent)
- */
-typedef struct _XcmsColorSpace {
- const char *prefix; /* Prefix of string format. */
- XcmsColorFormat id; /* Format ID number. */
- XcmsParseStringProc parseString;
- /* String format parsing function */
- XcmsFuncListPtr to_CIEXYZ; /* Pointer to an array of function */
- /* pointers such that when the */
- /* functions are executed in sequence */
- /* will convert a XcmsColor structure */
- /* from this color space to CIEXYZ */
- /* space. */
- XcmsFuncListPtr from_CIEXYZ;/* Pointer to an array of function */
- /* pointers such that when the */
- /* functions are executed in sequence */
- /* will convert a XcmsColor structure */
- /* from CIEXYZ space to this color */
- /* space. */
- int inverse_flag; /* If 1, indicates that for 0 <= i < n */
- /* where n is the number of function */
- /* pointers in the lists to_CIEXYZ */
- /* and from_CIEXYZ; for each function */
- /* to_CIEXYZ[i] its inverse function */
- /* is from_CIEXYZ[n - i]. */
-
-} XcmsColorSpace;
-
- /*
- * Screen Color Characterization Function Set -- per device class
- * color space conversion functions.
- */
-typedef struct _XcmsFunctionSet {
- XcmsColorSpace **DDColorSpaces;
- /* Pointer to an array of pointers to */
- /* Device-DEPENDENT color spaces */
- /* understood by this SCCFuncSet. */
- XcmsScreenInitProc screenInitProc;
- /* Screen initialization function that */
- /* reads Screen Color Characterization*/
- /* Data off properties on the screen's*/
- /* root window. */
- XcmsScreenFreeProc screenFreeProc;
- /* Function that frees the SCCData */
- /* structures. */
-} XcmsFunctionSet;
-
-_XFUNCPROTOBEGIN
-
-extern Status XcmsAddColorSpace (
- XcmsColorSpace* /* pColorSpace */
-);
-
-extern Status XcmsAddFunctionSet (
- XcmsFunctionSet* /* functionSet */
-);
-
-extern Status XcmsAllocColor (
- Display* /* dpy */,
- Colormap /* colormap */,
- XcmsColor* /* color_in_out */,
- XcmsColorFormat /* result_format */
-);
-
-extern Status XcmsAllocNamedColor (
- Display* /* dpy */,
- Colormap /* colormap */,
- _Xconst char* /* color_string */,
- XcmsColor* /* color_scrn_return */,
- XcmsColor* /* color_exact_return */,
- XcmsColorFormat /* result_format */
-);
-
-extern XcmsCCC XcmsCCCOfColormap (
- Display* /* dpy */,
- Colormap /* colormap */
-);
-
-extern Status XcmsCIELabClipab(
- XcmsCCC /* ccc */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- unsigned int /* index */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsCIELabClipL(
- XcmsCCC /* ccc */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- unsigned int /* index */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsCIELabClipLab(
- XcmsCCC /* ccc */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- unsigned int /* index */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsCIELabQueryMaxC (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue_angle */,
- XcmsFloat /* L_star */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsCIELabQueryMaxL (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue_angle */,
- XcmsFloat /* chroma */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsCIELabQueryMaxLC (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue_angle */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsCIELabQueryMinL (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue_angle */,
- XcmsFloat /* chroma */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsCIELabToCIEXYZ (
- XcmsCCC /* ccc */,
- XcmsColor* /* white_point */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */
-);
-
-extern Status XcmsCIELabWhiteShiftColors(
- XcmsCCC /* ccc */,
- XcmsColor* /* initial_white_point*/,
- XcmsColor* /* target_white_point*/,
- XcmsColorFormat /* target_format */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsCIELuvClipL(
- XcmsCCC /* ccc */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- unsigned int /* index */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsCIELuvClipLuv(
- XcmsCCC /* ccc */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- unsigned int /* index */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsCIELuvClipuv(
- XcmsCCC /* ccc */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- unsigned int /* index */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsCIELuvQueryMaxC (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue_angle */,
- XcmsFloat /* L_star */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsCIELuvQueryMaxL (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue_angle */,
- XcmsFloat /* chroma */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsCIELuvQueryMaxLC (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue_angle */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsCIELuvQueryMinL (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue_angle */,
- XcmsFloat /* chroma */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsCIELuvToCIEuvY (
- XcmsCCC /* ccc */,
- XcmsColor* /* white_point */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */
-);
-
-extern Status XcmsCIELuvWhiteShiftColors(
- XcmsCCC /* ccc */,
- XcmsColor* /* initial_white_point*/,
- XcmsColor* /* target_white_point*/,
- XcmsColorFormat /* target_format */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsCIEXYZToCIELab (
- XcmsCCC /* ccc */,
- XcmsColor* /* white_point */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */
-);
-
-extern Status XcmsCIEXYZToCIEuvY (
- XcmsCCC /* ccc */,
- XcmsColor* /* white_point */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */
-);
-
-extern Status XcmsCIEXYZToCIExyY (
- XcmsCCC /* ccc */,
- XcmsColor* /* white_point */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */
-);
-
-extern Status XcmsCIEXYZToRGBi (
- XcmsCCC /* ccc */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsCIEuvYToCIELuv (
- XcmsCCC /* ccc */,
- XcmsColor* /* white_point */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */
-);
-
-extern Status XcmsCIEuvYToCIEXYZ (
- XcmsCCC /* ccc */,
- XcmsColor* /* white_point */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */
-);
-
-extern Status XcmsCIEuvYToTekHVC (
- XcmsCCC /* ccc */,
- XcmsColor* /* white_point */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */
-);
-
-extern Status XcmsCIExyYToCIEXYZ (
- XcmsCCC /* ccc */,
- XcmsColor* /* white_point */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */
-);
-
-extern XcmsColor *XcmsClientWhitePointOfCCC (
- XcmsCCC /* ccc */
-);
-
-extern Status XcmsConvertColors (
- XcmsCCC /* ccc */,
- XcmsColor* /* colorArry_in_out */,
- unsigned int /* nColors */,
- XcmsColorFormat /* targetFormat */,
- Bool* /* compArry_return */
-);
-
-extern XcmsCCC XcmsCreateCCC (
- Display* /* dpy */,
- int /* screenNumber */,
- Visual* /* visual */,
- XcmsColor* /* clientWhitePt */,
- XcmsCompressionProc /* gamutCompProc */,
- XPointer /* gamutCompClientData */,
- XcmsWhiteAdjustProc /* whitePtAdjProc */,
- XPointer /* whitePtAdjClientData */
-);
-
-extern XcmsCCC XcmsDefaultCCC (
- Display* /* dpy */,
- int /* screenNumber */
-);
-
-extern Display *XcmsDisplayOfCCC (
- XcmsCCC /* ccc */
-);
-
-extern XcmsColorFormat XcmsFormatOfPrefix (
- char* /* prefix */
-);
-
-extern void XcmsFreeCCC (
- XcmsCCC /* ccc */
-);
-
-extern Status XcmsLookupColor (
- Display* /* dpy */,
- Colormap /* colormap */,
- _Xconst char* /* color_string */,
- XcmsColor* /* pColor_exact_in_out */,
- XcmsColor* /* pColor_scrn_in_out */,
- XcmsColorFormat /* result_format */
-);
-
-extern char *XcmsPrefixOfFormat (
- XcmsColorFormat /* id */
-);
-
-extern Status XcmsQueryBlack (
- XcmsCCC /* ccc */,
- XcmsColorFormat /* target_format */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsQueryBlue (
- XcmsCCC /* ccc */,
- XcmsColorFormat /* target_format */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsQueryColor (
- Display* /* dpy */,
- Colormap /* colormap */,
- XcmsColor* /* pColor_in_out */,
- XcmsColorFormat /* result_format */
-);
-
-extern Status XcmsQueryColors (
- Display* /* dpy */,
- Colormap /* colormap */,
- XcmsColor* /* colorArry_in_out */,
- unsigned int /* nColors */,
- XcmsColorFormat /* result_format */
-);
-
-extern Status XcmsQueryGreen (
- XcmsCCC /* ccc */,
- XcmsColorFormat /* target_format */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsQueryRed (
- XcmsCCC /* ccc */,
- XcmsColorFormat /* target_format */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsQueryWhite (
- XcmsCCC /* ccc */,
- XcmsColorFormat /* target_format */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsRGBiToCIEXYZ (
- XcmsCCC /* ccc */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsRGBiToRGB (
- XcmsCCC /* ccc */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsRGBToRGBi (
- XcmsCCC /* ccc */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */,
- Bool* /* compression_flags_return */
-);
-
-extern int XcmsScreenNumberOfCCC (
- XcmsCCC /* ccc */
-);
-
-extern XcmsColor *XcmsScreenWhitePointOfCCC (
- XcmsCCC /* ccc */
-);
-
-extern XcmsCCC XcmsSetCCCOfColormap(
- Display* /* dpy */,
- Colormap /* colormap */,
- XcmsCCC /* ccc */
-);
-
-extern XcmsCompressionProc XcmsSetCompressionProc (
- XcmsCCC /* ccc */,
- XcmsCompressionProc /* compression_proc */,
- XPointer /* client_data */
-);
-
-extern XcmsWhiteAdjustProc XcmsSetWhiteAdjustProc (
- XcmsCCC /* ccc */,
- XcmsWhiteAdjustProc /* white_adjust_proc */,
- XPointer /* client_data */
-);
-
-extern Status XcmsSetWhitePoint (
- XcmsCCC /* ccc */,
- XcmsColor* /* color */
-);
-
-extern Status XcmsStoreColor (
- Display* /* dpy */,
- Colormap /* colormap */,
- XcmsColor* /* pColor_in */
-);
-
-extern Status XcmsStoreColors (
- Display* /* dpy */,
- Colormap /* colormap */,
- XcmsColor* /* colorArry_in */,
- unsigned int /* nColors */,
- Bool* /* compArry_return */
-);
-
-extern Status XcmsTekHVCClipC(
- XcmsCCC /* ccc */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- unsigned int /* index */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsTekHVCClipV(
- XcmsCCC /* ccc */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- unsigned int /* index */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsTekHVCClipVC(
- XcmsCCC /* ccc */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- unsigned int /* index */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsTekHVCQueryMaxC (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue */,
- XcmsFloat /* value */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsTekHVCQueryMaxV (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue */,
- XcmsFloat /* chroma */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsTekHVCQueryMaxVC (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsTekHVCQueryMaxVSamples (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue */,
- XcmsColor* /* colors_return */,
- unsigned int /* nsamples */
-);
-
-extern Status XcmsTekHVCQueryMinV (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue */,
- XcmsFloat /* chroma */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsTekHVCToCIEuvY (
- XcmsCCC /* ccc */,
- XcmsColor* /* white_point */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */
-);
-
-extern Status XcmsTekHVCWhiteShiftColors(
- XcmsCCC /* ccc */,
- XcmsColor* /* initial_white_point*/,
- XcmsColor* /* target_white_point*/,
- XcmsColorFormat /* target_format */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- Bool* /* compression_flags_return */
-);
-
-extern Visual *XcmsVisualOfCCC (
- XcmsCCC /* ccc */
-);
-
-_XFUNCPROTOEND
-
-#endif /* _XCMS_H_ */
+
+/*
+ * Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc.
+ * All Rights Reserved
+ *
+ * This file is a component of an X Window System-specific implementation
+ * of Xcms based on the TekColor Color Management System. Permission is
+ * hereby granted to use, copy, modify, sell, and otherwise distribute this
+ * software and its documentation for any purpose and without fee, provided
+ * that this copyright, permission, and disclaimer notice is reproduced in
+ * all copies of this software and in supporting documentation. TekColor
+ * is a trademark of Tektronix, Inc.
+ *
+ * Tektronix makes no representation about the suitability of this software
+ * for any purpose. It is provided "as is" and with all faults.
+ *
+ * TEKTRONIX DISCLAIMS ALL WARRANTIES APPLICABLE TO THIS SOFTWARE,
+ * INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ * PARTICULAR PURPOSE. IN NO EVENT SHALL TEKTRONIX BE LIABLE FOR ANY
+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+ * RESULTING FROM LOSS OF USE, DATA, OR PROFITS, WHETHER IN AN ACTION OF
+ * CONTRACT, NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR THE PERFORMANCE OF THIS SOFTWARE.
+ *
+ *
+ * DESCRIPTION
+ * Public include file for X Color Management System
+ */
+#ifndef _X11_XCMS_H_
+#define _X11_XCMS_H_
+
+#include <X11/Xlib.h>
+
+ /*
+ * XCMS Status Values
+ */
+#define XcmsFailure 0
+#define XcmsSuccess 1
+#define XcmsSuccessWithCompression 2
+
+ /*
+ * Color Space Format ID's
+ * Color Space ID's are of XcmsColorFormat type.
+ *
+ * bit 31
+ * 0 == Device-Independent
+ * 1 == Device-Dependent
+ *
+ * bit 30:
+ * 0 == Registered with X Consortium
+ * 1 == Unregistered
+ */
+#define XcmsUndefinedFormat (XcmsColorFormat)0x00000000
+#define XcmsCIEXYZFormat (XcmsColorFormat)0x00000001
+#define XcmsCIEuvYFormat (XcmsColorFormat)0x00000002
+#define XcmsCIExyYFormat (XcmsColorFormat)0x00000003
+#define XcmsCIELabFormat (XcmsColorFormat)0x00000004
+#define XcmsCIELuvFormat (XcmsColorFormat)0x00000005
+#define XcmsTekHVCFormat (XcmsColorFormat)0x00000006
+#define XcmsRGBFormat (XcmsColorFormat)0x80000000
+#define XcmsRGBiFormat (XcmsColorFormat)0x80000001
+
+ /*
+ * State of XcmsPerScrnInfo
+ */
+#define XcmsInitNone 0x00 /* no initialization attempted */
+#define XcmsInitSuccess 0x01 /* initialization successful */
+#define XcmsInitFailure 0xff /* failure, use defaults */
+
+#define DisplayOfCCC(ccc) ((ccc)->dpy)
+#define ScreenNumberOfCCC(ccc) ((ccc)->screenNumber)
+#define VisualOfCCC(ccc) ((ccc)->visual)
+#define ClientWhitePointOfCCC(ccc) (&(ccc)->clientWhitePt)
+#define ScreenWhitePointOfCCC(ccc) (&(ccc)->pPerScrnInfo->screenWhitePt)
+#define FunctionSetOfCCC(ccc) ((ccc)->pPerScrnInfo->functionSet)
+
+typedef unsigned long XcmsColorFormat; /* Color Space Format ID */
+
+typedef double XcmsFloat;
+
+ /*
+ * Device RGB
+ */
+typedef struct {
+ unsigned short red; /* scaled from 0x0000 to 0xffff */
+ unsigned short green; /* scaled from 0x0000 to 0xffff */
+ unsigned short blue; /* scaled from 0x0000 to 0xffff */
+} XcmsRGB;
+
+ /*
+ * RGB Intensity
+ */
+typedef struct {
+ XcmsFloat red; /* 0.0 - 1.0 */
+ XcmsFloat green; /* 0.0 - 1.0 */
+ XcmsFloat blue; /* 0.0 - 1.0 */
+} XcmsRGBi;
+
+ /*
+ * CIE XYZ
+ */
+typedef struct {
+ XcmsFloat X;
+ XcmsFloat Y;
+ XcmsFloat Z;
+} XcmsCIEXYZ;
+
+ /*
+ * CIE u'v'Y
+ */
+typedef struct {
+ XcmsFloat u_prime; /* 0.0 - 1.0 */
+ XcmsFloat v_prime; /* 0.0 - 1.0 */
+ XcmsFloat Y; /* 0.0 - 1.0 */
+} XcmsCIEuvY;
+
+ /*
+ * CIE xyY
+ */
+typedef struct {
+ XcmsFloat x; /* 0.0 - 1.0 */
+ XcmsFloat y; /* 0.0 - 1.0 */
+ XcmsFloat Y; /* 0.0 - 1.0 */
+} XcmsCIExyY;
+
+ /*
+ * CIE L*a*b*
+ */
+typedef struct {
+ XcmsFloat L_star; /* 0.0 - 100.0 */
+ XcmsFloat a_star;
+ XcmsFloat b_star;
+} XcmsCIELab;
+
+ /*
+ * CIE L*u*v*
+ */
+typedef struct {
+ XcmsFloat L_star; /* 0.0 - 100.0 */
+ XcmsFloat u_star;
+ XcmsFloat v_star;
+} XcmsCIELuv;
+
+ /*
+ * TekHVC
+ */
+typedef struct {
+ XcmsFloat H; /* 0.0 - 360.0 */
+ XcmsFloat V; /* 0.0 - 100.0 */
+ XcmsFloat C; /* 0.0 - 100.0 */
+} XcmsTekHVC;
+
+ /*
+ * PAD
+ */
+typedef struct {
+ XcmsFloat pad0;
+ XcmsFloat pad1;
+ XcmsFloat pad2;
+ XcmsFloat pad3;
+} XcmsPad;
+
+
+ /*
+ * XCMS Color Structure
+ */
+typedef struct {
+ union {
+ XcmsRGB RGB;
+ XcmsRGBi RGBi;
+ XcmsCIEXYZ CIEXYZ;
+ XcmsCIEuvY CIEuvY;
+ XcmsCIExyY CIExyY;
+ XcmsCIELab CIELab;
+ XcmsCIELuv CIELuv;
+ XcmsTekHVC TekHVC;
+ XcmsPad Pad;
+ } spec; /* the color specification */
+ unsigned long pixel; /* pixel value (as needed) */
+ XcmsColorFormat format; /* the specification format */
+} XcmsColor;
+
+
+ /*
+ * XCMS Per Screen related data
+ */
+
+typedef struct _XcmsPerScrnInfo {
+ XcmsColor screenWhitePt; /* Screen White point */
+ XPointer functionSet; /* pointer to Screen Color Characterization */
+ /* Function Set structure */
+ XPointer screenData; /* pointer to corresponding Screen Color*/
+ /* Characterization Data */
+ unsigned char state; /* XcmsInitNone, XcmsInitSuccess, XcmsInitFailure */
+ char pad[3];
+} XcmsPerScrnInfo;
+
+typedef struct _XcmsCCC *XcmsCCC;
+
+typedef Status (*XcmsCompressionProc)( /* Gamut Compression Proc */
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+typedef Status (*XcmsWhiteAdjustProc)( /* White Point Adjust Proc */
+ XcmsCCC /* ccc */,
+ XcmsColor* /* initial_white_point*/,
+ XcmsColor* /* target_white_point*/,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+ /*
+ * XCMS Color Conversion Context
+ */
+typedef struct _XcmsCCC {
+ Display *dpy; /* X Display */
+ int screenNumber; /* X screen number */
+ Visual *visual; /* X Visual */
+ XcmsColor clientWhitePt; /* Client White Point */
+ XcmsCompressionProc gamutCompProc; /* Gamut Compression Function */
+ XPointer gamutCompClientData; /* Gamut Comp Func Client Data */
+ XcmsWhiteAdjustProc whitePtAdjProc; /* White Point Adjustment Function */
+ XPointer whitePtAdjClientData; /* White Pt Adj Func Client Data */
+ XcmsPerScrnInfo *pPerScrnInfo; /* pointer to per screen information */
+ /* associated with the above display */
+ /* screenNumber */
+} XcmsCCCRec;
+
+typedef Status (*XcmsScreenInitProc)( /* Screen Initialization Proc */
+ Display* /* dpy */,
+ int /* screen_number */,
+ XcmsPerScrnInfo* /* screen_info */
+);
+
+typedef void (*XcmsScreenFreeProc)(
+ XPointer /* screenData */
+);
+
+ /*
+ * Function List Pointer -- pointer to an array of function pointers.
+ * The end of list is indicated by a NULL pointer.
+ */
+/*
+ * XXX: The use of the XcmsConversionProc type is broken. The
+ * device-independent colour conversion code uses it as:
+
+typedef Status (*XcmsConversionProc)(XcmsCCC, XcmsColor *, XcmsColor *,
+ unsigned int);
+
+ * while the device-dependent code uses it as:
+
+typedef Status (*XcmsConversionProc)(XcmsCCC, XcmsColor *, unsigned int,
+ Bool *);
+
+ * Until this is reworked, it's probably best to leave it unprotoized.
+ * The code works regardless.
+ */
+typedef Status (*XcmsDDConversionProc)( /* using device-dependent version */
+ XcmsCCC /* ccc */,
+ XcmsColor* /* pcolors_in_out */,
+ unsigned int /* ncolors */,
+ Bool* /* pCompressed */
+ );
+
+typedef Status (*XcmsDIConversionProc)( /* using device-independent version */
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* pcolors_in_out */,
+ unsigned int /* ncolors */
+ );
+
+typedef XcmsDIConversionProc XcmsConversionProc;
+typedef XcmsConversionProc *XcmsFuncListPtr;
+
+typedef int (*XcmsParseStringProc)( /* Color String Parsing Proc */
+ char* /* color_string */,
+ XcmsColor* /* color_return */
+);
+
+ /*
+ * Color Space -- per Color Space related data (Device-Independent
+ * or Device-Dependent)
+ */
+typedef struct _XcmsColorSpace {
+ const char *prefix; /* Prefix of string format. */
+ XcmsColorFormat id; /* Format ID number. */
+ XcmsParseStringProc parseString;
+ /* String format parsing function */
+ XcmsFuncListPtr to_CIEXYZ; /* Pointer to an array of function */
+ /* pointers such that when the */
+ /* functions are executed in sequence */
+ /* will convert a XcmsColor structure */
+ /* from this color space to CIEXYZ */
+ /* space. */
+ XcmsFuncListPtr from_CIEXYZ;/* Pointer to an array of function */
+ /* pointers such that when the */
+ /* functions are executed in sequence */
+ /* will convert a XcmsColor structure */
+ /* from CIEXYZ space to this color */
+ /* space. */
+ int inverse_flag; /* If 1, indicates that for 0 <= i < n */
+ /* where n is the number of function */
+ /* pointers in the lists to_CIEXYZ */
+ /* and from_CIEXYZ; for each function */
+ /* to_CIEXYZ[i] its inverse function */
+ /* is from_CIEXYZ[n - i]. */
+
+} XcmsColorSpace;
+
+ /*
+ * Screen Color Characterization Function Set -- per device class
+ * color space conversion functions.
+ */
+typedef struct _XcmsFunctionSet {
+ XcmsColorSpace **DDColorSpaces;
+ /* Pointer to an array of pointers to */
+ /* Device-DEPENDENT color spaces */
+ /* understood by this SCCFuncSet. */
+ XcmsScreenInitProc screenInitProc;
+ /* Screen initialization function that */
+ /* reads Screen Color Characterization*/
+ /* Data off properties on the screen's*/
+ /* root window. */
+ XcmsScreenFreeProc screenFreeProc;
+ /* Function that frees the SCCData */
+ /* structures. */
+} XcmsFunctionSet;
+
+_XFUNCPROTOBEGIN
+
+extern Status XcmsAddColorSpace (
+ XcmsColorSpace* /* pColorSpace */
+);
+
+extern Status XcmsAddFunctionSet (
+ XcmsFunctionSet* /* functionSet */
+);
+
+extern Status XcmsAllocColor (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XcmsColor* /* color_in_out */,
+ XcmsColorFormat /* result_format */
+);
+
+extern Status XcmsAllocNamedColor (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ _Xconst char* /* color_string */,
+ XcmsColor* /* color_scrn_return */,
+ XcmsColor* /* color_exact_return */,
+ XcmsColorFormat /* result_format */
+);
+
+extern XcmsCCC XcmsCCCOfColormap (
+ Display* /* dpy */,
+ Colormap /* colormap */
+);
+
+extern Status XcmsCIELabClipab(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELabClipL(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELabClipLab(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELabQueryMaxC (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsFloat /* L_star */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELabQueryMaxL (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsFloat /* chroma */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELabQueryMaxLC (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELabQueryMinL (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsFloat /* chroma */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELabToCIEXYZ (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIELabWhiteShiftColors(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* initial_white_point*/,
+ XcmsColor* /* target_white_point*/,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELuvClipL(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELuvClipLuv(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELuvClipuv(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELuvQueryMaxC (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsFloat /* L_star */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELuvQueryMaxL (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsFloat /* chroma */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELuvQueryMaxLC (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELuvQueryMinL (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsFloat /* chroma */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELuvToCIEuvY (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIELuvWhiteShiftColors(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* initial_white_point*/,
+ XcmsColor* /* target_white_point*/,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIEXYZToCIELab (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIEXYZToCIEuvY (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIEXYZToCIExyY (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIEXYZToRGBi (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIEuvYToCIELuv (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIEuvYToCIEXYZ (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIEuvYToTekHVC (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIExyYToCIEXYZ (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern XcmsColor *XcmsClientWhitePointOfCCC (
+ XcmsCCC /* ccc */
+);
+
+extern Status XcmsConvertColors (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colorArry_in_out */,
+ unsigned int /* nColors */,
+ XcmsColorFormat /* targetFormat */,
+ Bool* /* compArry_return */
+);
+
+extern XcmsCCC XcmsCreateCCC (
+ Display* /* dpy */,
+ int /* screenNumber */,
+ Visual* /* visual */,
+ XcmsColor* /* clientWhitePt */,
+ XcmsCompressionProc /* gamutCompProc */,
+ XPointer /* gamutCompClientData */,
+ XcmsWhiteAdjustProc /* whitePtAdjProc */,
+ XPointer /* whitePtAdjClientData */
+);
+
+extern XcmsCCC XcmsDefaultCCC (
+ Display* /* dpy */,
+ int /* screenNumber */
+);
+
+extern Display *XcmsDisplayOfCCC (
+ XcmsCCC /* ccc */
+);
+
+extern XcmsColorFormat XcmsFormatOfPrefix (
+ char* /* prefix */
+);
+
+extern void XcmsFreeCCC (
+ XcmsCCC /* ccc */
+);
+
+extern Status XcmsLookupColor (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ _Xconst char* /* color_string */,
+ XcmsColor* /* pColor_exact_in_out */,
+ XcmsColor* /* pColor_scrn_in_out */,
+ XcmsColorFormat /* result_format */
+);
+
+extern char *XcmsPrefixOfFormat (
+ XcmsColorFormat /* id */
+);
+
+extern Status XcmsQueryBlack (
+ XcmsCCC /* ccc */,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsQueryBlue (
+ XcmsCCC /* ccc */,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsQueryColor (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XcmsColor* /* pColor_in_out */,
+ XcmsColorFormat /* result_format */
+);
+
+extern Status XcmsQueryColors (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XcmsColor* /* colorArry_in_out */,
+ unsigned int /* nColors */,
+ XcmsColorFormat /* result_format */
+);
+
+extern Status XcmsQueryGreen (
+ XcmsCCC /* ccc */,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsQueryRed (
+ XcmsCCC /* ccc */,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsQueryWhite (
+ XcmsCCC /* ccc */,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsRGBiToCIEXYZ (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsRGBiToRGB (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsRGBToRGBi (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern int XcmsScreenNumberOfCCC (
+ XcmsCCC /* ccc */
+);
+
+extern XcmsColor *XcmsScreenWhitePointOfCCC (
+ XcmsCCC /* ccc */
+);
+
+extern XcmsCCC XcmsSetCCCOfColormap(
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XcmsCCC /* ccc */
+);
+
+extern XcmsCompressionProc XcmsSetCompressionProc (
+ XcmsCCC /* ccc */,
+ XcmsCompressionProc /* compression_proc */,
+ XPointer /* client_data */
+);
+
+extern XcmsWhiteAdjustProc XcmsSetWhiteAdjustProc (
+ XcmsCCC /* ccc */,
+ XcmsWhiteAdjustProc /* white_adjust_proc */,
+ XPointer /* client_data */
+);
+
+extern Status XcmsSetWhitePoint (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* color */
+);
+
+extern Status XcmsStoreColor (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XcmsColor* /* pColor_in */
+);
+
+extern Status XcmsStoreColors (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XcmsColor* /* colorArry_in */,
+ unsigned int /* nColors */,
+ Bool* /* compArry_return */
+);
+
+extern Status XcmsTekHVCClipC(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsTekHVCClipV(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsTekHVCClipVC(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsTekHVCQueryMaxC (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue */,
+ XcmsFloat /* value */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsTekHVCQueryMaxV (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue */,
+ XcmsFloat /* chroma */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsTekHVCQueryMaxVC (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsTekHVCQueryMaxVSamples (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue */,
+ XcmsColor* /* colors_return */,
+ unsigned int /* nsamples */
+);
+
+extern Status XcmsTekHVCQueryMinV (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue */,
+ XcmsFloat /* chroma */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsTekHVCToCIEuvY (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsTekHVCWhiteShiftColors(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* initial_white_point*/,
+ XcmsColor* /* target_white_point*/,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern Visual *XcmsVisualOfCCC (
+ XcmsCCC /* ccc */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _X11_XCMS_H_ */
diff --git a/X11/Xlib-xcb.h b/X11/Xlib-xcb.h
index 03d8f9867..a0339de12 100644
--- a/X11/Xlib-xcb.h
+++ b/X11/Xlib-xcb.h
@@ -1,20 +1,20 @@
-/* Copyright (C) 2003-2006 Jamey Sharp, Josh Triplett
- * This file is licensed under the MIT license. See the file COPYING. */
-
-#ifndef XLIB_XCB_H
-#define XLIB_XCB_H
-
-#include <xcb/xcb.h>
-#include <X11/Xlib.h>
-#include <X11/Xfuncproto.h>
-
-_XFUNCPROTOBEGIN
-
-xcb_connection_t *XGetXCBConnection(Display *dpy);
-
-enum XEventQueueOwner { XlibOwnsEventQueue = 0, XCBOwnsEventQueue };
-void XSetEventQueueOwner(Display *dpy, enum XEventQueueOwner owner);
-
-_XFUNCPROTOEND
-
-#endif /* XLIB_XCB_H */
+/* Copyright (C) 2003-2006 Jamey Sharp, Josh Triplett
+ * This file is licensed under the MIT license. See the file COPYING. */
+
+#ifndef _X11_XLIB_XCB_H_
+#define _X11_XLIB_XCB_H_
+
+#include <xcb/xcb.h>
+#include <X11/Xlib.h>
+#include <X11/Xfuncproto.h>
+
+_XFUNCPROTOBEGIN
+
+xcb_connection_t *XGetXCBConnection(Display *dpy);
+
+enum XEventQueueOwner { XlibOwnsEventQueue = 0, XCBOwnsEventQueue };
+void XSetEventQueueOwner(Display *dpy, enum XEventQueueOwner owner);
+
+_XFUNCPROTOEND
+
+#endif /* _X11_XLIB_XCB_H_ */
diff --git a/X11/Xlib.h b/X11/Xlib.h
index 7c8bc5154..3d22721e1 100644
--- a/X11/Xlib.h
+++ b/X11/Xlib.h
@@ -1,4023 +1,4023 @@
-/*
-
-Copyright 1985, 1986, 1987, 1991, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-
-
-/*
- * Xlib.h - Header definition and support file for the C subroutine
- * interface library (Xlib) to the X Window System Protocol (V11).
- * Structures and symbols starting with "_" are private to the library.
- */
-#ifndef _XLIB_H_
-#define _XLIB_H_
-
-#define XlibSpecificationRelease 6
-
-#include <sys/types.h>
-
-#if defined(__SCO__) || defined(__UNIXWARE__)
-#include <stdint.h>
-#endif
-
-#include <X11/X.h>
-
-/* applications should not depend on these two headers being included! */
-#include <X11/Xfuncproto.h>
-#include <X11/Xosdefs.h>
-
-#ifndef X_WCHAR
-#include <stddef.h>
-#else
-#ifdef __UNIXOS2__
-#include <stdlib.h>
-#else
-/* replace this with #include or typedef appropriate for your system */
-typedef unsigned long wchar_t;
-#endif
-#endif
-
-#if defined(ISC) && defined(USE_XMBTOWC)
-#define wctomb(a,b) _Xwctomb(a,b)
-#define mblen(a,b) _Xmblen(a,b)
-#ifndef USE_XWCHAR_STRING
-#define mbtowc(a,b,c) _Xmbtowc(a,b,c)
-#endif
-#endif
-
-extern int
-_Xmblen(
-#ifdef ISC
- char const *str,
- size_t len
-#else
- char *str,
- int len
-#endif
- );
-
-/* API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in
- November 2000. Its presence is indicated through the following macro. */
-#define X_HAVE_UTF8_STRING 1
-
-typedef char *XPointer;
-
-#define Bool int
-#define Status int
-#define True 1
-#define False 0
-
-#define QueuedAlready 0
-#define QueuedAfterReading 1
-#define QueuedAfterFlush 2
-
-#define ConnectionNumber(dpy) (((_XPrivDisplay)dpy)->fd)
-#define RootWindow(dpy, scr) (ScreenOfDisplay(dpy,scr)->root)
-#define DefaultScreen(dpy) (((_XPrivDisplay)dpy)->default_screen)
-#define DefaultRootWindow(dpy) (ScreenOfDisplay(dpy,DefaultScreen(dpy))->root)
-#define DefaultVisual(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_visual)
-#define DefaultGC(dpy, scr) (ScreenOfDisplay(dpy,scr)->default_gc)
-#define BlackPixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->black_pixel)
-#define WhitePixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->white_pixel)
-#define AllPlanes ((unsigned long)~0L)
-#define QLength(dpy) (((_XPrivDisplay)dpy)->qlen)
-#define DisplayWidth(dpy, scr) (ScreenOfDisplay(dpy,scr)->width)
-#define DisplayHeight(dpy, scr) (ScreenOfDisplay(dpy,scr)->height)
-#define DisplayWidthMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mwidth)
-#define DisplayHeightMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mheight)
-#define DisplayPlanes(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth)
-#define DisplayCells(dpy, scr) (DefaultVisual(dpy,scr)->map_entries)
-#define ScreenCount(dpy) (((_XPrivDisplay)dpy)->nscreens)
-#define ServerVendor(dpy) (((_XPrivDisplay)dpy)->vendor)
-#define ProtocolVersion(dpy) (((_XPrivDisplay)dpy)->proto_major_version)
-#define ProtocolRevision(dpy) (((_XPrivDisplay)dpy)->proto_minor_version)
-#define VendorRelease(dpy) (((_XPrivDisplay)dpy)->release)
-#define DisplayString(dpy) (((_XPrivDisplay)dpy)->display_name)
-#define DefaultDepth(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth)
-#define DefaultColormap(dpy, scr)(ScreenOfDisplay(dpy,scr)->cmap)
-#define BitmapUnit(dpy) (((_XPrivDisplay)dpy)->bitmap_unit)
-#define BitmapBitOrder(dpy) (((_XPrivDisplay)dpy)->bitmap_bit_order)
-#define BitmapPad(dpy) (((_XPrivDisplay)dpy)->bitmap_pad)
-#define ImageByteOrder(dpy) (((_XPrivDisplay)dpy)->byte_order)
-#ifdef CRAY /* unable to get WORD64 without pulling in other symbols */
-#define NextRequest(dpy) XNextRequest(dpy)
-#else
-#define NextRequest(dpy) (((_XPrivDisplay)dpy)->request + 1)
-#endif
-#define LastKnownRequestProcessed(dpy) (((_XPrivDisplay)dpy)->last_request_read)
-
-/* macros for screen oriented applications (toolkit) */
-#define ScreenOfDisplay(dpy, scr)(&((_XPrivDisplay)dpy)->screens[scr])
-#define DefaultScreenOfDisplay(dpy) ScreenOfDisplay(dpy,DefaultScreen(dpy))
-#define DisplayOfScreen(s) ((s)->display)
-#define RootWindowOfScreen(s) ((s)->root)
-#define BlackPixelOfScreen(s) ((s)->black_pixel)
-#define WhitePixelOfScreen(s) ((s)->white_pixel)
-#define DefaultColormapOfScreen(s)((s)->cmap)
-#define DefaultDepthOfScreen(s) ((s)->root_depth)
-#define DefaultGCOfScreen(s) ((s)->default_gc)
-#define DefaultVisualOfScreen(s)((s)->root_visual)
-#define WidthOfScreen(s) ((s)->width)
-#define HeightOfScreen(s) ((s)->height)
-#define WidthMMOfScreen(s) ((s)->mwidth)
-#define HeightMMOfScreen(s) ((s)->mheight)
-#define PlanesOfScreen(s) ((s)->root_depth)
-#define CellsOfScreen(s) (DefaultVisualOfScreen((s))->map_entries)
-#define MinCmapsOfScreen(s) ((s)->min_maps)
-#define MaxCmapsOfScreen(s) ((s)->max_maps)
-#define DoesSaveUnders(s) ((s)->save_unders)
-#define DoesBackingStore(s) ((s)->backing_store)
-#define EventMaskOfScreen(s) ((s)->root_input_mask)
-
-/*
- * Extensions need a way to hang private data on some structures.
- */
-typedef struct _XExtData {
- int number; /* number returned by XRegisterExtension */
- struct _XExtData *next; /* next item on list of data for structure */
- int (*free_private)( /* called to free private storage */
- struct _XExtData *extension
- );
- XPointer private_data; /* data private to this extension. */
-} XExtData;
-
-/*
- * This file contains structures used by the extension mechanism.
- */
-typedef struct { /* public to extension, cannot be changed */
- int extension; /* extension number */
- int major_opcode; /* major op-code assigned by server */
- int first_event; /* first event number for the extension */
- int first_error; /* first error number for the extension */
-} XExtCodes;
-
-/*
- * Data structure for retrieving info about pixmap formats.
- */
-
-typedef struct {
- int depth;
- int bits_per_pixel;
- int scanline_pad;
-} XPixmapFormatValues;
-
-
-/*
- * Data structure for setting graphics context.
- */
-typedef struct {
- int function; /* logical operation */
- unsigned long plane_mask;/* plane mask */
- unsigned long foreground;/* foreground pixel */
- unsigned long background;/* background pixel */
- int line_width; /* line width */
- int line_style; /* LineSolid, LineOnOffDash, LineDoubleDash */
- int cap_style; /* CapNotLast, CapButt,
- CapRound, CapProjecting */
- int join_style; /* JoinMiter, JoinRound, JoinBevel */
- int fill_style; /* FillSolid, FillTiled,
- FillStippled, FillOpaeueStippled */
- int fill_rule; /* EvenOddRule, WindingRule */
- int arc_mode; /* ArcChord, ArcPieSlice */
- Pixmap tile; /* tile pixmap for tiling operations */
- Pixmap stipple; /* stipple 1 plane pixmap for stipping */
- int ts_x_origin; /* offset for tile or stipple operations */
- int ts_y_origin;
- Font font; /* default text font for text operations */
- int subwindow_mode; /* ClipByChildren, IncludeInferiors */
- Bool graphics_exposures;/* boolean, should exposures be generated */
- int clip_x_origin; /* origin for clipping */
- int clip_y_origin;
- Pixmap clip_mask; /* bitmap clipping; other calls for rects */
- int dash_offset; /* patterned/dashed line information */
- char dashes;
-} XGCValues;
-
-/*
- * Graphics context. The contents of this structure are implementation
- * dependent. A GC should be treated as opaque by application code.
- */
-
-typedef struct _XGC
-#ifdef XLIB_ILLEGAL_ACCESS
-{
- XExtData *ext_data; /* hook for extension to hang data */
- GContext gid; /* protocol ID for graphics context */
- /* there is more to this structure, but it is private to Xlib */
-}
-#endif
-*GC;
-
-/*
- * Visual structure; contains information about colormapping possible.
- */
-typedef struct {
- XExtData *ext_data; /* hook for extension to hang data */
- VisualID visualid; /* visual id of this visual */
-#if defined(__cplusplus) || defined(c_plusplus)
- int c_class; /* C++ class of screen (monochrome, etc.) */
-#else
- int class; /* class of screen (monochrome, etc.) */
-#endif
- unsigned long red_mask, green_mask, blue_mask; /* mask values */
- int bits_per_rgb; /* log base 2 of distinct color values */
- int map_entries; /* color map entries */
-} Visual;
-
-/*
- * Depth structure; contains information for each possible depth.
- */
-typedef struct {
- int depth; /* this depth (Z) of the depth */
- int nvisuals; /* number of Visual types at this depth */
- Visual *visuals; /* list of visuals possible at this depth */
-} Depth;
-
-/*
- * Information about the screen. The contents of this structure are
- * implementation dependent. A Screen should be treated as opaque
- * by application code.
- */
-
-struct _XDisplay; /* Forward declare before use for C++ */
-
-typedef struct {
- XExtData *ext_data; /* hook for extension to hang data */
- struct _XDisplay *display;/* back pointer to display structure */
- Window root; /* Root window id. */
- int width, height; /* width and height of screen */
- int mwidth, mheight; /* width and height of in millimeters */
- int ndepths; /* number of depths possible */
- Depth *depths; /* list of allowable depths on the screen */
- int root_depth; /* bits per pixel */
- Visual *root_visual; /* root visual */
- GC default_gc; /* GC for the root root visual */
- Colormap cmap; /* default color map */
- unsigned long white_pixel;
- unsigned long black_pixel; /* White and Black pixel values */
- int max_maps, min_maps; /* max and min color maps */
- int backing_store; /* Never, WhenMapped, Always */
- Bool save_unders;
- long root_input_mask; /* initial root input mask */
-} Screen;
-
-/*
- * Format structure; describes ZFormat data the screen will understand.
- */
-typedef struct {
- XExtData *ext_data; /* hook for extension to hang data */
- int depth; /* depth of this image format */
- int bits_per_pixel; /* bits/pixel at this depth */
- int scanline_pad; /* scanline must padded to this multiple */
-} ScreenFormat;
-
-/*
- * Data structure for setting window attributes.
- */
-typedef struct {
- Pixmap background_pixmap; /* background or None or ParentRelative */
- unsigned long background_pixel; /* background pixel */
- Pixmap border_pixmap; /* border of the window */
- unsigned long border_pixel; /* border pixel value */
- int bit_gravity; /* one of bit gravity values */
- int win_gravity; /* one of the window gravity values */
- int backing_store; /* NotUseful, WhenMapped, Always */
- unsigned long backing_planes;/* planes to be preseved if possible */
- unsigned long backing_pixel;/* value to use in restoring planes */
- Bool save_under; /* should bits under be saved? (popups) */
- long event_mask; /* set of events that should be saved */
- long do_not_propagate_mask; /* set of events that should not propagate */
- Bool override_redirect; /* boolean value for override-redirect */
- Colormap colormap; /* color map to be associated with window */
- Cursor cursor; /* cursor to be displayed (or None) */
-} XSetWindowAttributes;
-
-typedef struct {
- int x, y; /* location of window */
- int width, height; /* width and height of window */
- int border_width; /* border width of window */
- int depth; /* depth of window */
- Visual *visual; /* the associated visual structure */
- Window root; /* root of screen containing window */
-#if defined(__cplusplus) || defined(c_plusplus)
- int c_class; /* C++ InputOutput, InputOnly*/
-#else
- int class; /* InputOutput, InputOnly*/
-#endif
- int bit_gravity; /* one of bit gravity values */
- int win_gravity; /* one of the window gravity values */
- int backing_store; /* NotUseful, WhenMapped, Always */
- unsigned long backing_planes;/* planes to be preserved if possible */
- unsigned long backing_pixel;/* value to be used when restoring planes */
- Bool save_under; /* boolean, should bits under be saved? */
- Colormap colormap; /* color map to be associated with window */
- Bool map_installed; /* boolean, is color map currently installed*/
- int map_state; /* IsUnmapped, IsUnviewable, IsViewable */
- long all_event_masks; /* set of events all people have interest in*/
- long your_event_mask; /* my event mask */
- long do_not_propagate_mask; /* set of events that should not propagate */
- Bool override_redirect; /* boolean value for override-redirect */
- Screen *screen; /* back pointer to correct screen */
-} XWindowAttributes;
-
-/*
- * Data structure for host setting; getting routines.
- *
- */
-
-typedef struct {
- int family; /* for example FamilyInternet */
- int length; /* length of address, in bytes */
- char *address; /* pointer to where to find the bytes */
-} XHostAddress;
-
-/*
- * Data structure for ServerFamilyInterpreted addresses in host routines
- */
-typedef struct {
- int typelength; /* length of type string, in bytes */
- int valuelength; /* length of value string, in bytes */
- char *type; /* pointer to where to find the type string */
- char *value; /* pointer to where to find the address */
-} XServerInterpretedAddress;
-
-/*
- * Data structure for "image" data, used by image manipulation routines.
- */
-typedef struct _XImage {
- int width, height; /* size of image */
- int xoffset; /* number of pixels offset in X direction */
- int format; /* XYBitmap, XYPixmap, ZPixmap */
- char *data; /* pointer to image data */
- int byte_order; /* data byte order, LSBFirst, MSBFirst */
- int bitmap_unit; /* quant. of scanline 8, 16, 32 */
- int bitmap_bit_order; /* LSBFirst, MSBFirst */
- int bitmap_pad; /* 8, 16, 32 either XY or ZPixmap */
- int depth; /* depth of image */
- int bytes_per_line; /* accelarator to next line */
- int bits_per_pixel; /* bits per pixel (ZPixmap) */
- unsigned long red_mask; /* bits in z arrangment */
- unsigned long green_mask;
- unsigned long blue_mask;
- XPointer obdata; /* hook for the object routines to hang on */
- struct funcs { /* image manipulation routines */
- struct _XImage *(*create_image)(
- struct _XDisplay* /* display */,
- Visual* /* visual */,
- unsigned int /* depth */,
- int /* format */,
- int /* offset */,
- char* /* data */,
- unsigned int /* width */,
- unsigned int /* height */,
- int /* bitmap_pad */,
- int /* bytes_per_line */);
- int (*destroy_image) (struct _XImage *);
- unsigned long (*get_pixel) (struct _XImage *, int, int);
- int (*put_pixel) (struct _XImage *, int, int, unsigned long);
- struct _XImage *(*sub_image)(struct _XImage *, int, int, unsigned int, unsigned int);
- int (*add_pixel) (struct _XImage *, long);
- } f;
-} XImage;
-
-/*
- * Data structure for XReconfigureWindow
- */
-typedef struct {
- int x, y;
- int width, height;
- int border_width;
- Window sibling;
- int stack_mode;
-} XWindowChanges;
-
-/*
- * Data structure used by color operations
- */
-typedef struct {
- unsigned long pixel;
- unsigned short red, green, blue;
- char flags; /* do_red, do_green, do_blue */
- char pad;
-} XColor;
-
-/*
- * Data structures for graphics operations. On most machines, these are
- * congruent with the wire protocol structures, so reformatting the data
- * can be avoided on these architectures.
- */
-typedef struct {
- short x1, y1, x2, y2;
-} XSegment;
-
-typedef struct {
- short x, y;
-} XPoint;
-
-typedef struct {
- short x, y;
- unsigned short width, height;
-} XRectangle;
-
-typedef struct {
- short x, y;
- unsigned short width, height;
- short angle1, angle2;
-} XArc;
-
-
-/* Data structure for XChangeKeyboardControl */
-
-typedef struct {
- int key_click_percent;
- int bell_percent;
- int bell_pitch;
- int bell_duration;
- int led;
- int led_mode;
- int key;
- int auto_repeat_mode; /* On, Off, Default */
-} XKeyboardControl;
-
-/* Data structure for XGetKeyboardControl */
-
-typedef struct {
- int key_click_percent;
- int bell_percent;
- unsigned int bell_pitch, bell_duration;
- unsigned long led_mask;
- int global_auto_repeat;
- char auto_repeats[32];
-} XKeyboardState;
-
-/* Data structure for XGetMotionEvents. */
-
-typedef struct {
- Time time;
- short x, y;
-} XTimeCoord;
-
-/* Data structure for X{Set,Get}ModifierMapping */
-
-typedef struct {
- int max_keypermod; /* The server's max # of keys per modifier */
- KeyCode *modifiermap; /* An 8 by max_keypermod array of modifiers */
-} XModifierKeymap;
-
-
-/*
- * Display datatype maintaining display specific data.
- * The contents of this structure are implementation dependent.
- * A Display should be treated as opaque by application code.
- */
-#ifndef XLIB_ILLEGAL_ACCESS
-typedef struct _XDisplay Display;
-#endif
-
-struct _XPrivate; /* Forward declare before use for C++ */
-struct _XrmHashBucketRec;
-
-typedef struct
-#ifdef XLIB_ILLEGAL_ACCESS
-_XDisplay
-#endif
-{
- XExtData *ext_data; /* hook for extension to hang data */
- struct _XPrivate *private1;
- int fd; /* Network socket. */
- int private2;
- int proto_major_version;/* major version of server's X protocol */
- int proto_minor_version;/* minor version of servers X protocol */
- char *vendor; /* vendor of the server hardware */
- XID private3;
- XID private4;
- XID private5;
- int private6;
- XID (*resource_alloc)( /* allocator function */
- struct _XDisplay*
- );
- int byte_order; /* screen byte order, LSBFirst, MSBFirst */
- int bitmap_unit; /* padding and data requirements */
- int bitmap_pad; /* padding requirements on bitmaps */
- int bitmap_bit_order; /* LeastSignificant or MostSignificant */
- int nformats; /* number of pixmap formats in list */
- ScreenFormat *pixmap_format; /* pixmap format list */
- int private8;
- int release; /* release of the server */
- struct _XPrivate *private9, *private10;
- int qlen; /* Length of input event queue */
- unsigned long last_request_read; /* seq number of last event read */
- unsigned long request; /* sequence number of last request. */
- XPointer private11;
- XPointer private12;
- XPointer private13;
- XPointer private14;
- unsigned max_request_size; /* maximum number 32 bit words in request*/
- struct _XrmHashBucketRec *db;
- int (*private15)(
- struct _XDisplay*
- );
- char *display_name; /* "host:display" string used on this connect*/
- int default_screen; /* default screen for operations */
- int nscreens; /* number of screens on this server*/
- Screen *screens; /* pointer to list of screens */
- unsigned long motion_buffer; /* size of motion buffer */
- unsigned long private16;
- int min_keycode; /* minimum defined keycode */
- int max_keycode; /* maximum defined keycode */
- XPointer private17;
- XPointer private18;
- int private19;
- char *xdefaults; /* contents of defaults from server */
- /* there is more to this structure, but it is private to Xlib */
-}
-#ifdef XLIB_ILLEGAL_ACCESS
-Display,
-#endif
-*_XPrivDisplay;
-
-#undef _XEVENT_
-#ifndef _XEVENT_
-/*
- * Definitions of specific events.
- */
-typedef struct {
- int type; /* of event */
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window; /* "event" window it is reported relative to */
- Window root; /* root window that the event occurred on */
- Window subwindow; /* child window */
- Time time; /* milliseconds */
- int x, y; /* pointer x, y coordinates in event window */
- int x_root, y_root; /* coordinates relative to root */
- unsigned int state; /* key or button mask */
- unsigned int keycode; /* detail */
- Bool same_screen; /* same screen flag */
-} XKeyEvent;
-typedef XKeyEvent XKeyPressedEvent;
-typedef XKeyEvent XKeyReleasedEvent;
-
-typedef struct {
- int type; /* of event */
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window; /* "event" window it is reported relative to */
- Window root; /* root window that the event occurred on */
- Window subwindow; /* child window */
- Time time; /* milliseconds */
- int x, y; /* pointer x, y coordinates in event window */
- int x_root, y_root; /* coordinates relative to root */
- unsigned int state; /* key or button mask */
- unsigned int button; /* detail */
- Bool same_screen; /* same screen flag */
-} XButtonEvent;
-typedef XButtonEvent XButtonPressedEvent;
-typedef XButtonEvent XButtonReleasedEvent;
-
-typedef struct {
- int type; /* of event */
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window; /* "event" window reported relative to */
- Window root; /* root window that the event occurred on */
- Window subwindow; /* child window */
- Time time; /* milliseconds */
- int x, y; /* pointer x, y coordinates in event window */
- int x_root, y_root; /* coordinates relative to root */
- unsigned int state; /* key or button mask */
- char is_hint; /* detail */
- Bool same_screen; /* same screen flag */
-} XMotionEvent;
-typedef XMotionEvent XPointerMovedEvent;
-
-typedef struct {
- int type; /* of event */
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window; /* "event" window reported relative to */
- Window root; /* root window that the event occurred on */
- Window subwindow; /* child window */
- Time time; /* milliseconds */
- int x, y; /* pointer x, y coordinates in event window */
- int x_root, y_root; /* coordinates relative to root */
- int mode; /* NotifyNormal, NotifyGrab, NotifyUngrab */
- int detail;
- /*
- * NotifyAncestor, NotifyVirtual, NotifyInferior,
- * NotifyNonlinear,NotifyNonlinearVirtual
- */
- Bool same_screen; /* same screen flag */
- Bool focus; /* boolean focus */
- unsigned int state; /* key or button mask */
-} XCrossingEvent;
-typedef XCrossingEvent XEnterWindowEvent;
-typedef XCrossingEvent XLeaveWindowEvent;
-
-typedef struct {
- int type; /* FocusIn or FocusOut */
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window; /* window of event */
- int mode; /* NotifyNormal, NotifyWhileGrabbed,
- NotifyGrab, NotifyUngrab */
- int detail;
- /*
- * NotifyAncestor, NotifyVirtual, NotifyInferior,
- * NotifyNonlinear,NotifyNonlinearVirtual, NotifyPointer,
- * NotifyPointerRoot, NotifyDetailNone
- */
-} XFocusChangeEvent;
-typedef XFocusChangeEvent XFocusInEvent;
-typedef XFocusChangeEvent XFocusOutEvent;
-
-/* generated on EnterWindow and FocusIn when KeyMapState selected */
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window;
- char key_vector[32];
-} XKeymapEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window;
- int x, y;
- int width, height;
- int count; /* if non-zero, at least this many more */
-} XExposeEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Drawable drawable;
- int x, y;
- int width, height;
- int count; /* if non-zero, at least this many more */
- int major_code; /* core is CopyArea or CopyPlane */
- int minor_code; /* not defined in the core */
-} XGraphicsExposeEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Drawable drawable;
- int major_code; /* core is CopyArea or CopyPlane */
- int minor_code; /* not defined in the core */
-} XNoExposeEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window;
- int state; /* Visibility state */
-} XVisibilityEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window parent; /* parent of the window */
- Window window; /* window id of window created */
- int x, y; /* window location */
- int width, height; /* size of window */
- int border_width; /* border width */
- Bool override_redirect; /* creation should be overridden */
-} XCreateWindowEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window event;
- Window window;
-} XDestroyWindowEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window event;
- Window window;
- Bool from_configure;
-} XUnmapEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window event;
- Window window;
- Bool override_redirect; /* boolean, is override set... */
-} XMapEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window parent;
- Window window;
-} XMapRequestEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window event;
- Window window;
- Window parent;
- int x, y;
- Bool override_redirect;
-} XReparentEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window event;
- Window window;
- int x, y;
- int width, height;
- int border_width;
- Window above;
- Bool override_redirect;
-} XConfigureEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window event;
- Window window;
- int x, y;
-} XGravityEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window;
- int width, height;
-} XResizeRequestEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window parent;
- Window window;
- int x, y;
- int width, height;
- int border_width;
- Window above;
- int detail; /* Above, Below, TopIf, BottomIf, Opposite */
- unsigned long value_mask;
-} XConfigureRequestEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window event;
- Window window;
- int place; /* PlaceOnTop, PlaceOnBottom */
-} XCirculateEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window parent;
- Window window;
- int place; /* PlaceOnTop, PlaceOnBottom */
-} XCirculateRequestEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window;
- Atom atom;
- Time time;
- int state; /* NewValue, Deleted */
-} XPropertyEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window;
- Atom selection;
- Time time;
-} XSelectionClearEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window owner;
- Window requestor;
- Atom selection;
- Atom target;
- Atom property;
- Time time;
-} XSelectionRequestEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window requestor;
- Atom selection;
- Atom target;
- Atom property; /* ATOM or None */
- Time time;
-} XSelectionEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window;
- Colormap colormap; /* COLORMAP or None */
-#if defined(__cplusplus) || defined(c_plusplus)
- Bool c_new; /* C++ */
-#else
- Bool new;
-#endif
- int state; /* ColormapInstalled, ColormapUninstalled */
-} XColormapEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window;
- Atom message_type;
- int format;
- union {
- char b[20];
- short s[10];
- long l[5];
- } data;
-} XClientMessageEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window; /* unused */
- int request; /* one of MappingModifier, MappingKeyboard,
- MappingPointer */
- int first_keycode; /* first keycode */
- int count; /* defines range of change w. first_keycode*/
-} XMappingEvent;
-
-typedef struct {
- int type;
- Display *display; /* Display the event was read from */
- XID resourceid; /* resource id */
- unsigned long serial; /* serial number of failed request */
- unsigned char error_code; /* error code of failed request */
- unsigned char request_code; /* Major op-code of failed request */
- unsigned char minor_code; /* Minor op-code of failed request */
-} XErrorEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display;/* Display the event was read from */
- Window window; /* window on which event was requested in event mask */
-} XAnyEvent;
-
-
-/***************************************************************
- *
- * GenericEvent. This event is the standard event for all newer extensions.
- */
-
-typedef struct
- {
- int type; /* of event. Always GenericEvent */
- unsigned long serial; /* # of last request processed */
- Bool send_event; /* true if from SendEvent request */
- Display *display; /* Display the event was read from */
- int extension; /* major opcode of extension that caused the event */
- int evtype; /* actual event type. */
- } XGenericEvent;
-
-typedef struct {
- int type; /* of event. Always GenericEvent */
- unsigned long serial; /* # of last request processed */
- Bool send_event; /* true if from SendEvent request */
- Display *display; /* Display the event was read from */
- int extension; /* major opcode of extension that caused the event */
- int evtype; /* actual event type. */
- unsigned int cookie;
- void *data;
-} XGenericEventCookie;
-
-/*
- * this union is defined so Xlib can always use the same sized
- * event structure internally, to avoid memory fragmentation.
- */
-typedef union _XEvent {
- int type; /* must not be changed; first element */
- XAnyEvent xany;
- XKeyEvent xkey;
- XButtonEvent xbutton;
- XMotionEvent xmotion;
- XCrossingEvent xcrossing;
- XFocusChangeEvent xfocus;
- XExposeEvent xexpose;
- XGraphicsExposeEvent xgraphicsexpose;
- XNoExposeEvent xnoexpose;
- XVisibilityEvent xvisibility;
- XCreateWindowEvent xcreatewindow;
- XDestroyWindowEvent xdestroywindow;
- XUnmapEvent xunmap;
- XMapEvent xmap;
- XMapRequestEvent xmaprequest;
- XReparentEvent xreparent;
- XConfigureEvent xconfigure;
- XGravityEvent xgravity;
- XResizeRequestEvent xresizerequest;
- XConfigureRequestEvent xconfigurerequest;
- XCirculateEvent xcirculate;
- XCirculateRequestEvent xcirculaterequest;
- XPropertyEvent xproperty;
- XSelectionClearEvent xselectionclear;
- XSelectionRequestEvent xselectionrequest;
- XSelectionEvent xselection;
- XColormapEvent xcolormap;
- XClientMessageEvent xclient;
- XMappingEvent xmapping;
- XErrorEvent xerror;
- XKeymapEvent xkeymap;
- XGenericEvent xgeneric;
- XGenericEventCookie xcookie;
- long pad[24];
-} XEvent;
-#endif
-
-#define XAllocID(dpy) ((*((_XPrivDisplay)dpy)->resource_alloc)((dpy)))
-
-/*
- * per character font metric information.
- */
-typedef struct {
- short lbearing; /* origin to left edge of raster */
- short rbearing; /* origin to right edge of raster */
- short width; /* advance to next char's origin */
- short ascent; /* baseline to top edge of raster */
- short descent; /* baseline to bottom edge of raster */
- unsigned short attributes; /* per char flags (not predefined) */
-} XCharStruct;
-
-/*
- * To allow arbitrary information with fonts, there are additional properties
- * returned.
- */
-typedef struct {
- Atom name;
- unsigned long card32;
-} XFontProp;
-
-typedef struct {
- XExtData *ext_data; /* hook for extension to hang data */
- Font fid; /* Font id for this font */
- unsigned direction; /* hint about direction the font is painted */
- unsigned min_char_or_byte2;/* first character */
- unsigned max_char_or_byte2;/* last character */
- unsigned min_byte1; /* first row that exists */
- unsigned max_byte1; /* last row that exists */
- Bool all_chars_exist;/* flag if all characters have non-zero size*/
- unsigned default_char; /* char to print for undefined character */
- int n_properties; /* how many properties there are */
- XFontProp *properties; /* pointer to array of additional properties*/
- XCharStruct min_bounds; /* minimum bounds over all existing char*/
- XCharStruct max_bounds; /* maximum bounds over all existing char*/
- XCharStruct *per_char; /* first_char to last_char information */
- int ascent; /* log. extent above baseline for spacing */
- int descent; /* log. descent below baseline for spacing */
-} XFontStruct;
-
-/*
- * PolyText routines take these as arguments.
- */
-typedef struct {
- char *chars; /* pointer to string */
- int nchars; /* number of characters */
- int delta; /* delta between strings */
- Font font; /* font to print it in, None don't change */
-} XTextItem;
-
-typedef struct { /* normal 16 bit characters are two bytes */
- unsigned char byte1;
- unsigned char byte2;
-} XChar2b;
-
-typedef struct {
- XChar2b *chars; /* two byte characters */
- int nchars; /* number of characters */
- int delta; /* delta between strings */
- Font font; /* font to print it in, None don't change */
-} XTextItem16;
-
-
-typedef union { Display *display;
- GC gc;
- Visual *visual;
- Screen *screen;
- ScreenFormat *pixmap_format;
- XFontStruct *font; } XEDataObject;
-
-typedef struct {
- XRectangle max_ink_extent;
- XRectangle max_logical_extent;
-} XFontSetExtents;
-
-/* unused:
-typedef void (*XOMProc)();
- */
-
-typedef struct _XOM *XOM;
-typedef struct _XOC *XOC, *XFontSet;
-
-typedef struct {
- char *chars;
- int nchars;
- int delta;
- XFontSet font_set;
-} XmbTextItem;
-
-typedef struct {
- wchar_t *chars;
- int nchars;
- int delta;
- XFontSet font_set;
-} XwcTextItem;
-
-#define XNRequiredCharSet "requiredCharSet"
-#define XNQueryOrientation "queryOrientation"
-#define XNBaseFontName "baseFontName"
-#define XNOMAutomatic "omAutomatic"
-#define XNMissingCharSet "missingCharSet"
-#define XNDefaultString "defaultString"
-#define XNOrientation "orientation"
-#define XNDirectionalDependentDrawing "directionalDependentDrawing"
-#define XNContextualDrawing "contextualDrawing"
-#define XNFontInfo "fontInfo"
-
-typedef struct {
- int charset_count;
- char **charset_list;
-} XOMCharSetList;
-
-typedef enum {
- XOMOrientation_LTR_TTB,
- XOMOrientation_RTL_TTB,
- XOMOrientation_TTB_LTR,
- XOMOrientation_TTB_RTL,
- XOMOrientation_Context
-} XOrientation;
-
-typedef struct {
- int num_orientation;
- XOrientation *orientation; /* Input Text description */
-} XOMOrientation;
-
-typedef struct {
- int num_font;
- XFontStruct **font_struct_list;
- char **font_name_list;
-} XOMFontInfo;
-
-typedef struct _XIM *XIM;
-typedef struct _XIC *XIC;
-
-typedef void (*XIMProc)(
- XIM,
- XPointer,
- XPointer
-);
-
-typedef Bool (*XICProc)(
- XIC,
- XPointer,
- XPointer
-);
-
-typedef void (*XIDProc)(
- Display*,
- XPointer,
- XPointer
-);
-
-typedef unsigned long XIMStyle;
-
-typedef struct {
- unsigned short count_styles;
- XIMStyle *supported_styles;
-} XIMStyles;
-
-#define XIMPreeditArea 0x0001L
-#define XIMPreeditCallbacks 0x0002L
-#define XIMPreeditPosition 0x0004L
-#define XIMPreeditNothing 0x0008L
-#define XIMPreeditNone 0x0010L
-#define XIMStatusArea 0x0100L
-#define XIMStatusCallbacks 0x0200L
-#define XIMStatusNothing 0x0400L
-#define XIMStatusNone 0x0800L
-
-#define XNVaNestedList "XNVaNestedList"
-#define XNQueryInputStyle "queryInputStyle"
-#define XNClientWindow "clientWindow"
-#define XNInputStyle "inputStyle"
-#define XNFocusWindow "focusWindow"
-#define XNResourceName "resourceName"
-#define XNResourceClass "resourceClass"
-#define XNGeometryCallback "geometryCallback"
-#define XNDestroyCallback "destroyCallback"
-#define XNFilterEvents "filterEvents"
-#define XNPreeditStartCallback "preeditStartCallback"
-#define XNPreeditDoneCallback "preeditDoneCallback"
-#define XNPreeditDrawCallback "preeditDrawCallback"
-#define XNPreeditCaretCallback "preeditCaretCallback"
-#define XNPreeditStateNotifyCallback "preeditStateNotifyCallback"
-#define XNPreeditAttributes "preeditAttributes"
-#define XNStatusStartCallback "statusStartCallback"
-#define XNStatusDoneCallback "statusDoneCallback"
-#define XNStatusDrawCallback "statusDrawCallback"
-#define XNStatusAttributes "statusAttributes"
-#define XNArea "area"
-#define XNAreaNeeded "areaNeeded"
-#define XNSpotLocation "spotLocation"
-#define XNColormap "colorMap"
-#define XNStdColormap "stdColorMap"
-#define XNForeground "foreground"
-#define XNBackground "background"
-#define XNBackgroundPixmap "backgroundPixmap"
-#define XNFontSet "fontSet"
-#define XNLineSpace "lineSpace"
-#define XNCursor "cursor"
-
-#define XNQueryIMValuesList "queryIMValuesList"
-#define XNQueryICValuesList "queryICValuesList"
-#define XNVisiblePosition "visiblePosition"
-#define XNR6PreeditCallback "r6PreeditCallback"
-#define XNStringConversionCallback "stringConversionCallback"
-#define XNStringConversion "stringConversion"
-#define XNResetState "resetState"
-#define XNHotKey "hotKey"
-#define XNHotKeyState "hotKeyState"
-#define XNPreeditState "preeditState"
-#define XNSeparatorofNestedList "separatorofNestedList"
-
-#define XBufferOverflow -1
-#define XLookupNone 1
-#define XLookupChars 2
-#define XLookupKeySym 3
-#define XLookupBoth 4
-
-typedef void *XVaNestedList;
-
-typedef struct {
- XPointer client_data;
- XIMProc callback;
-} XIMCallback;
-
-typedef struct {
- XPointer client_data;
- XICProc callback;
-} XICCallback;
-
-typedef unsigned long XIMFeedback;
-
-#define XIMReverse 1L
-#define XIMUnderline (1L<<1)
-#define XIMHighlight (1L<<2)
-#define XIMPrimary (1L<<5)
-#define XIMSecondary (1L<<6)
-#define XIMTertiary (1L<<7)
-#define XIMVisibleToForward (1L<<8)
-#define XIMVisibleToBackword (1L<<9)
-#define XIMVisibleToCenter (1L<<10)
-
-typedef struct _XIMText {
- unsigned short length;
- XIMFeedback *feedback;
- Bool encoding_is_wchar;
- union {
- char *multi_byte;
- wchar_t *wide_char;
- } string;
-} XIMText;
-
-typedef unsigned long XIMPreeditState;
-
-#define XIMPreeditUnKnown 0L
-#define XIMPreeditEnable 1L
-#define XIMPreeditDisable (1L<<1)
-
-typedef struct _XIMPreeditStateNotifyCallbackStruct {
- XIMPreeditState state;
-} XIMPreeditStateNotifyCallbackStruct;
-
-typedef unsigned long XIMResetState;
-
-#define XIMInitialState 1L
-#define XIMPreserveState (1L<<1)
-
-typedef unsigned long XIMStringConversionFeedback;
-
-#define XIMStringConversionLeftEdge (0x00000001)
-#define XIMStringConversionRightEdge (0x00000002)
-#define XIMStringConversionTopEdge (0x00000004)
-#define XIMStringConversionBottomEdge (0x00000008)
-#define XIMStringConversionConcealed (0x00000010)
-#define XIMStringConversionWrapped (0x00000020)
-
-typedef struct _XIMStringConversionText {
- unsigned short length;
- XIMStringConversionFeedback *feedback;
- Bool encoding_is_wchar;
- union {
- char *mbs;
- wchar_t *wcs;
- } string;
-} XIMStringConversionText;
-
-typedef unsigned short XIMStringConversionPosition;
-
-typedef unsigned short XIMStringConversionType;
-
-#define XIMStringConversionBuffer (0x0001)
-#define XIMStringConversionLine (0x0002)
-#define XIMStringConversionWord (0x0003)
-#define XIMStringConversionChar (0x0004)
-
-typedef unsigned short XIMStringConversionOperation;
-
-#define XIMStringConversionSubstitution (0x0001)
-#define XIMStringConversionRetrieval (0x0002)
-
-typedef enum {
- XIMForwardChar, XIMBackwardChar,
- XIMForwardWord, XIMBackwardWord,
- XIMCaretUp, XIMCaretDown,
- XIMNextLine, XIMPreviousLine,
- XIMLineStart, XIMLineEnd,
- XIMAbsolutePosition,
- XIMDontChange
-} XIMCaretDirection;
-
-typedef struct _XIMStringConversionCallbackStruct {
- XIMStringConversionPosition position;
- XIMCaretDirection direction;
- XIMStringConversionOperation operation;
- unsigned short factor;
- XIMStringConversionText *text;
-} XIMStringConversionCallbackStruct;
-
-typedef struct _XIMPreeditDrawCallbackStruct {
- int caret; /* Cursor offset within pre-edit string */
- int chg_first; /* Starting change position */
- int chg_length; /* Length of the change in character count */
- XIMText *text;
-} XIMPreeditDrawCallbackStruct;
-
-typedef enum {
- XIMIsInvisible, /* Disable caret feedback */
- XIMIsPrimary, /* UI defined caret feedback */
- XIMIsSecondary /* UI defined caret feedback */
-} XIMCaretStyle;
-
-typedef struct _XIMPreeditCaretCallbackStruct {
- int position; /* Caret offset within pre-edit string */
- XIMCaretDirection direction; /* Caret moves direction */
- XIMCaretStyle style; /* Feedback of the caret */
-} XIMPreeditCaretCallbackStruct;
-
-typedef enum {
- XIMTextType,
- XIMBitmapType
-} XIMStatusDataType;
-
-typedef struct _XIMStatusDrawCallbackStruct {
- XIMStatusDataType type;
- union {
- XIMText *text;
- Pixmap bitmap;
- } data;
-} XIMStatusDrawCallbackStruct;
-
-typedef struct _XIMHotKeyTrigger {
- KeySym keysym;
- int modifier;
- int modifier_mask;
-} XIMHotKeyTrigger;
-
-typedef struct _XIMHotKeyTriggers {
- int num_hot_key;
- XIMHotKeyTrigger *key;
-} XIMHotKeyTriggers;
-
-typedef unsigned long XIMHotKeyState;
-
-#define XIMHotKeyStateON (0x0001L)
-#define XIMHotKeyStateOFF (0x0002L)
-
-typedef struct {
- unsigned short count_values;
- char **supported_values;
-} XIMValuesList;
-
-_XFUNCPROTOBEGIN
-
-#if defined(WIN32) && !defined(_XLIBINT_)
-#define _Xdebug (*_Xdebug_p)
-#endif
-
-extern int _Xdebug;
-
-extern XFontStruct *XLoadQueryFont(
- Display* /* display */,
- _Xconst char* /* name */
-);
-
-extern XFontStruct *XQueryFont(
- Display* /* display */,
- XID /* font_ID */
-);
-
-
-extern XTimeCoord *XGetMotionEvents(
- Display* /* display */,
- Window /* w */,
- Time /* start */,
- Time /* stop */,
- int* /* nevents_return */
-);
-
-extern XModifierKeymap *XDeleteModifiermapEntry(
- XModifierKeymap* /* modmap */,
-#if NeedWidePrototypes
- unsigned int /* keycode_entry */,
-#else
- KeyCode /* keycode_entry */,
-#endif
- int /* modifier */
-);
-
-extern XModifierKeymap *XGetModifierMapping(
- Display* /* display */
-);
-
-extern XModifierKeymap *XInsertModifiermapEntry(
- XModifierKeymap* /* modmap */,
-#if NeedWidePrototypes
- unsigned int /* keycode_entry */,
-#else
- KeyCode /* keycode_entry */,
-#endif
- int /* modifier */
-);
-
-extern XModifierKeymap *XNewModifiermap(
- int /* max_keys_per_mod */
-);
-
-extern XImage *XCreateImage(
- Display* /* display */,
- Visual* /* visual */,
- unsigned int /* depth */,
- int /* format */,
- int /* offset */,
- char* /* data */,
- unsigned int /* width */,
- unsigned int /* height */,
- int /* bitmap_pad */,
- int /* bytes_per_line */
-);
-extern Status XInitImage(
- XImage* /* image */
-);
-extern XImage *XGetImage(
- Display* /* display */,
- Drawable /* d */,
- int /* x */,
- int /* y */,
- unsigned int /* width */,
- unsigned int /* height */,
- unsigned long /* plane_mask */,
- int /* format */
-);
-extern XImage *XGetSubImage(
- Display* /* display */,
- Drawable /* d */,
- int /* x */,
- int /* y */,
- unsigned int /* width */,
- unsigned int /* height */,
- unsigned long /* plane_mask */,
- int /* format */,
- XImage* /* dest_image */,
- int /* dest_x */,
- int /* dest_y */
-);
-
-/*
- * X function declarations.
- */
-extern Display *XOpenDisplay(
- _Xconst char* /* display_name */
-);
-
-extern void XrmInitialize(
- void
-);
-
-extern char *XFetchBytes(
- Display* /* display */,
- int* /* nbytes_return */
-);
-extern char *XFetchBuffer(
- Display* /* display */,
- int* /* nbytes_return */,
- int /* buffer */
-);
-extern char *XGetAtomName(
- Display* /* display */,
- Atom /* atom */
-);
-extern Status XGetAtomNames(
- Display* /* dpy */,
- Atom* /* atoms */,
- int /* count */,
- char** /* names_return */
-);
-extern char *XGetDefault(
- Display* /* display */,
- _Xconst char* /* program */,
- _Xconst char* /* option */
-);
-extern char *XDisplayName(
- _Xconst char* /* string */
-);
-extern char *XKeysymToString(
- KeySym /* keysym */
-);
-
-extern int (*XSynchronize(
- Display* /* display */,
- Bool /* onoff */
-))(
- Display* /* display */
-);
-extern int (*XSetAfterFunction(
- Display* /* display */,
- int (*) (
- Display* /* display */
- ) /* procedure */
-))(
- Display* /* display */
-);
-extern Atom XInternAtom(
- Display* /* display */,
- _Xconst char* /* atom_name */,
- Bool /* only_if_exists */
-);
-extern Status XInternAtoms(
- Display* /* dpy */,
- char** /* names */,
- int /* count */,
- Bool /* onlyIfExists */,
- Atom* /* atoms_return */
-);
-extern Colormap XCopyColormapAndFree(
- Display* /* display */,
- Colormap /* colormap */
-);
-extern Colormap XCreateColormap(
- Display* /* display */,
- Window /* w */,
- Visual* /* visual */,
- int /* alloc */
-);
-extern Cursor XCreatePixmapCursor(
- Display* /* display */,
- Pixmap /* source */,
- Pixmap /* mask */,
- XColor* /* foreground_color */,
- XColor* /* background_color */,
- unsigned int /* x */,
- unsigned int /* y */
-);
-extern Cursor XCreateGlyphCursor(
- Display* /* display */,
- Font /* source_font */,
- Font /* mask_font */,
- unsigned int /* source_char */,
- unsigned int /* mask_char */,
- XColor _Xconst * /* foreground_color */,
- XColor _Xconst * /* background_color */
-);
-extern Cursor XCreateFontCursor(
- Display* /* display */,
- unsigned int /* shape */
-);
-extern Font XLoadFont(
- Display* /* display */,
- _Xconst char* /* name */
-);
-extern GC XCreateGC(
- Display* /* display */,
- Drawable /* d */,
- unsigned long /* valuemask */,
- XGCValues* /* values */
-);
-extern GContext XGContextFromGC(
- GC /* gc */
-);
-extern void XFlushGC(
- Display* /* display */,
- GC /* gc */
-);
-extern Pixmap XCreatePixmap(
- Display* /* display */,
- Drawable /* d */,
- unsigned int /* width */,
- unsigned int /* height */,
- unsigned int /* depth */
-);
-extern Pixmap XCreateBitmapFromData(
- Display* /* display */,
- Drawable /* d */,
- _Xconst char* /* data */,
- unsigned int /* width */,
- unsigned int /* height */
-);
-extern Pixmap XCreatePixmapFromBitmapData(
- Display* /* display */,
- Drawable /* d */,
- char* /* data */,
- unsigned int /* width */,
- unsigned int /* height */,
- unsigned long /* fg */,
- unsigned long /* bg */,
- unsigned int /* depth */
-);
-extern Window XCreateSimpleWindow(
- Display* /* display */,
- Window /* parent */,
- int /* x */,
- int /* y */,
- unsigned int /* width */,
- unsigned int /* height */,
- unsigned int /* border_width */,
- unsigned long /* border */,
- unsigned long /* background */
-);
-extern Window XGetSelectionOwner(
- Display* /* display */,
- Atom /* selection */
-);
-extern Window XCreateWindow(
- Display* /* display */,
- Window /* parent */,
- int /* x */,
- int /* y */,
- unsigned int /* width */,
- unsigned int /* height */,
- unsigned int /* border_width */,
- int /* depth */,
- unsigned int /* class */,
- Visual* /* visual */,
- unsigned long /* valuemask */,
- XSetWindowAttributes* /* attributes */
-);
-extern Colormap *XListInstalledColormaps(
- Display* /* display */,
- Window /* w */,
- int* /* num_return */
-);
-extern char **XListFonts(
- Display* /* display */,
- _Xconst char* /* pattern */,
- int /* maxnames */,
- int* /* actual_count_return */
-);
-extern char **XListFontsWithInfo(
- Display* /* display */,
- _Xconst char* /* pattern */,
- int /* maxnames */,
- int* /* count_return */,
- XFontStruct** /* info_return */
-);
-extern char **XGetFontPath(
- Display* /* display */,
- int* /* npaths_return */
-);
-extern char **XListExtensions(
- Display* /* display */,
- int* /* nextensions_return */
-);
-extern Atom *XListProperties(
- Display* /* display */,
- Window /* w */,
- int* /* num_prop_return */
-);
-extern XHostAddress *XListHosts(
- Display* /* display */,
- int* /* nhosts_return */,
- Bool* /* state_return */
-);
-extern KeySym XKeycodeToKeysym(
- Display* /* display */,
-#if NeedWidePrototypes
- unsigned int /* keycode */,
-#else
- KeyCode /* keycode */,
-#endif
- int /* index */
-);
-extern KeySym XLookupKeysym(
- XKeyEvent* /* key_event */,
- int /* index */
-);
-extern KeySym *XGetKeyboardMapping(
- Display* /* display */,
-#if NeedWidePrototypes
- unsigned int /* first_keycode */,
-#else
- KeyCode /* first_keycode */,
-#endif
- int /* keycode_count */,
- int* /* keysyms_per_keycode_return */
-);
-extern KeySym XStringToKeysym(
- _Xconst char* /* string */
-);
-extern long XMaxRequestSize(
- Display* /* display */
-);
-extern long XExtendedMaxRequestSize(
- Display* /* display */
-);
-extern char *XResourceManagerString(
- Display* /* display */
-);
-extern char *XScreenResourceString(
- Screen* /* screen */
-);
-extern unsigned long XDisplayMotionBufferSize(
- Display* /* display */
-);
-extern VisualID XVisualIDFromVisual(
- Visual* /* visual */
-);
-
-/* multithread routines */
-
-extern Status XInitThreads(
- void
-);
-
-extern void XLockDisplay(
- Display* /* display */
-);
-
-extern void XUnlockDisplay(
- Display* /* display */
-);
-
-/* routines for dealing with extensions */
-
-extern XExtCodes *XInitExtension(
- Display* /* display */,
- _Xconst char* /* name */
-);
-
-extern XExtCodes *XAddExtension(
- Display* /* display */
-);
-extern XExtData *XFindOnExtensionList(
- XExtData** /* structure */,
- int /* number */
-);
-extern XExtData **XEHeadOfExtensionList(
- XEDataObject /* object */
-);
-
-/* these are routines for which there are also macros */
-extern Window XRootWindow(
- Display* /* display */,
- int /* screen_number */
-);
-extern Window XDefaultRootWindow(
- Display* /* display */
-);
-extern Window XRootWindowOfScreen(
- Screen* /* screen */
-);
-extern Visual *XDefaultVisual(
- Display* /* display */,
- int /* screen_number */
-);
-extern Visual *XDefaultVisualOfScreen(
- Screen* /* screen */
-);
-extern GC XDefaultGC(
- Display* /* display */,
- int /* screen_number */
-);
-extern GC XDefaultGCOfScreen(
- Screen* /* screen */
-);
-extern unsigned long XBlackPixel(
- Display* /* display */,
- int /* screen_number */
-);
-extern unsigned long XWhitePixel(
- Display* /* display */,
- int /* screen_number */
-);
-extern unsigned long XAllPlanes(
- void
-);
-extern unsigned long XBlackPixelOfScreen(
- Screen* /* screen */
-);
-extern unsigned long XWhitePixelOfScreen(
- Screen* /* screen */
-);
-extern unsigned long XNextRequest(
- Display* /* display */
-);
-extern unsigned long XLastKnownRequestProcessed(
- Display* /* display */
-);
-extern char *XServerVendor(
- Display* /* display */
-);
-extern char *XDisplayString(
- Display* /* display */
-);
-extern Colormap XDefaultColormap(
- Display* /* display */,
- int /* screen_number */
-);
-extern Colormap XDefaultColormapOfScreen(
- Screen* /* screen */
-);
-extern Display *XDisplayOfScreen(
- Screen* /* screen */
-);
-extern Screen *XScreenOfDisplay(
- Display* /* display */,
- int /* screen_number */
-);
-extern Screen *XDefaultScreenOfDisplay(
- Display* /* display */
-);
-extern long XEventMaskOfScreen(
- Screen* /* screen */
-);
-
-extern int XScreenNumberOfScreen(
- Screen* /* screen */
-);
-
-typedef int (*XErrorHandler) ( /* WARNING, this type not in Xlib spec */
- Display* /* display */,
- XErrorEvent* /* error_event */
-);
-
-extern XErrorHandler XSetErrorHandler (
- XErrorHandler /* handler */
-);
-
-
-typedef int (*XIOErrorHandler) ( /* WARNING, this type not in Xlib spec */
- Display* /* display */
-);
-
-extern XIOErrorHandler XSetIOErrorHandler (
- XIOErrorHandler /* handler */
-);
-
-
-extern XPixmapFormatValues *XListPixmapFormats(
- Display* /* display */,
- int* /* count_return */
-);
-extern int *XListDepths(
- Display* /* display */,
- int /* screen_number */,
- int* /* count_return */
-);
-
-/* ICCCM routines for things that don't require special include files; */
-/* other declarations are given in Xutil.h */
-extern Status XReconfigureWMWindow(
- Display* /* display */,
- Window /* w */,
- int /* screen_number */,
- unsigned int /* mask */,
- XWindowChanges* /* changes */
-);
-
-extern Status XGetWMProtocols(
- Display* /* display */,
- Window /* w */,
- Atom** /* protocols_return */,
- int* /* count_return */
-);
-extern Status XSetWMProtocols(
- Display* /* display */,
- Window /* w */,
- Atom* /* protocols */,
- int /* count */
-);
-extern Status XIconifyWindow(
- Display* /* display */,
- Window /* w */,
- int /* screen_number */
-);
-extern Status XWithdrawWindow(
- Display* /* display */,
- Window /* w */,
- int /* screen_number */
-);
-extern Status XGetCommand(
- Display* /* display */,
- Window /* w */,
- char*** /* argv_return */,
- int* /* argc_return */
-);
-extern Status XGetWMColormapWindows(
- Display* /* display */,
- Window /* w */,
- Window** /* windows_return */,
- int* /* count_return */
-);
-extern Status XSetWMColormapWindows(
- Display* /* display */,
- Window /* w */,
- Window* /* colormap_windows */,
- int /* count */
-);
-extern void XFreeStringList(
- char** /* list */
-);
-extern int XSetTransientForHint(
- Display* /* display */,
- Window /* w */,
- Window /* prop_window */
-);
-
-/* The following are given in alphabetical order */
-
-extern int XActivateScreenSaver(
- Display* /* display */
-);
-
-extern int XAddHost(
- Display* /* display */,
- XHostAddress* /* host */
-);
-
-extern int XAddHosts(
- Display* /* display */,
- XHostAddress* /* hosts */,
- int /* num_hosts */
-);
-
-extern int XAddToExtensionList(
- struct _XExtData** /* structure */,
- XExtData* /* ext_data */
-);
-
-extern int XAddToSaveSet(
- Display* /* display */,
- Window /* w */
-);
-
-extern Status XAllocColor(
- Display* /* display */,
- Colormap /* colormap */,
- XColor* /* screen_in_out */
-);
-
-extern Status XAllocColorCells(
- Display* /* display */,
- Colormap /* colormap */,
- Bool /* contig */,
- unsigned long* /* plane_masks_return */,
- unsigned int /* nplanes */,
- unsigned long* /* pixels_return */,
- unsigned int /* npixels */
-);
-
-extern Status XAllocColorPlanes(
- Display* /* display */,
- Colormap /* colormap */,
- Bool /* contig */,
- unsigned long* /* pixels_return */,
- int /* ncolors */,
- int /* nreds */,
- int /* ngreens */,
- int /* nblues */,
- unsigned long* /* rmask_return */,
- unsigned long* /* gmask_return */,
- unsigned long* /* bmask_return */
-);
-
-extern Status XAllocNamedColor(
- Display* /* display */,
- Colormap /* colormap */,
- _Xconst char* /* color_name */,
- XColor* /* screen_def_return */,
- XColor* /* exact_def_return */
-);
-
-extern int XAllowEvents(
- Display* /* display */,
- int /* event_mode */,
- Time /* time */
-);
-
-extern int XAutoRepeatOff(
- Display* /* display */
-);
-
-extern int XAutoRepeatOn(
- Display* /* display */
-);
-
-extern int XBell(
- Display* /* display */,
- int /* percent */
-);
-
-extern int XBitmapBitOrder(
- Display* /* display */
-);
-
-extern int XBitmapPad(
- Display* /* display */
-);
-
-extern int XBitmapUnit(
- Display* /* display */
-);
-
-extern int XCellsOfScreen(
- Screen* /* screen */
-);
-
-extern int XChangeActivePointerGrab(
- Display* /* display */,
- unsigned int /* event_mask */,
- Cursor /* cursor */,
- Time /* time */
-);
-
-extern int XChangeGC(
- Display* /* display */,
- GC /* gc */,
- unsigned long /* valuemask */,
- XGCValues* /* values */
-);
-
-extern int XChangeKeyboardControl(
- Display* /* display */,
- unsigned long /* value_mask */,
- XKeyboardControl* /* values */
-);
-
-extern int XChangeKeyboardMapping(
- Display* /* display */,
- int /* first_keycode */,
- int /* keysyms_per_keycode */,
- KeySym* /* keysyms */,
- int /* num_codes */
-);
-
-extern int XChangePointerControl(
- Display* /* display */,
- Bool /* do_accel */,
- Bool /* do_threshold */,
- int /* accel_numerator */,
- int /* accel_denominator */,
- int /* threshold */
-);
-
-extern int XChangeProperty(
- Display* /* display */,
- Window /* w */,
- Atom /* property */,
- Atom /* type */,
- int /* format */,
- int /* mode */,
- _Xconst unsigned char* /* data */,
- int /* nelements */
-);
-
-extern int XChangeSaveSet(
- Display* /* display */,
- Window /* w */,
- int /* change_mode */
-);
-
-extern int XChangeWindowAttributes(
- Display* /* display */,
- Window /* w */,
- unsigned long /* valuemask */,
- XSetWindowAttributes* /* attributes */
-);
-
-extern Bool XCheckIfEvent(
- Display* /* display */,
- XEvent* /* event_return */,
- Bool (*) (
- Display* /* display */,
- XEvent* /* event */,
- XPointer /* arg */
- ) /* predicate */,
- XPointer /* arg */
-);
-
-extern Bool XCheckMaskEvent(
- Display* /* display */,
- long /* event_mask */,
- XEvent* /* event_return */
-);
-
-extern Bool XCheckTypedEvent(
- Display* /* display */,
- int /* event_type */,
- XEvent* /* event_return */
-);
-
-extern Bool XCheckTypedWindowEvent(
- Display* /* display */,
- Window /* w */,
- int /* event_type */,
- XEvent* /* event_return */
-);
-
-extern Bool XCheckWindowEvent(
- Display* /* display */,
- Window /* w */,
- long /* event_mask */,
- XEvent* /* event_return */
-);
-
-extern int XCirculateSubwindows(
- Display* /* display */,
- Window /* w */,
- int /* direction */
-);
-
-extern int XCirculateSubwindowsDown(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XCirculateSubwindowsUp(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XClearArea(
- Display* /* display */,
- Window /* w */,
- int /* x */,
- int /* y */,
- unsigned int /* width */,
- unsigned int /* height */,
- Bool /* exposures */
-);
-
-extern int XClearWindow(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XCloseDisplay(
- Display* /* display */
-);
-
-extern int XConfigureWindow(
- Display* /* display */,
- Window /* w */,
- unsigned int /* value_mask */,
- XWindowChanges* /* values */
-);
-
-extern int XConnectionNumber(
- Display* /* display */
-);
-
-extern int XConvertSelection(
- Display* /* display */,
- Atom /* selection */,
- Atom /* target */,
- Atom /* property */,
- Window /* requestor */,
- Time /* time */
-);
-
-extern int XCopyArea(
- Display* /* display */,
- Drawable /* src */,
- Drawable /* dest */,
- GC /* gc */,
- int /* src_x */,
- int /* src_y */,
- unsigned int /* width */,
- unsigned int /* height */,
- int /* dest_x */,
- int /* dest_y */
-);
-
-extern int XCopyGC(
- Display* /* display */,
- GC /* src */,
- unsigned long /* valuemask */,
- GC /* dest */
-);
-
-extern int XCopyPlane(
- Display* /* display */,
- Drawable /* src */,
- Drawable /* dest */,
- GC /* gc */,
- int /* src_x */,
- int /* src_y */,
- unsigned int /* width */,
- unsigned int /* height */,
- int /* dest_x */,
- int /* dest_y */,
- unsigned long /* plane */
-);
-
-extern int XDefaultDepth(
- Display* /* display */,
- int /* screen_number */
-);
-
-extern int XDefaultDepthOfScreen(
- Screen* /* screen */
-);
-
-extern int XDefaultScreen(
- Display* /* display */
-);
-
-extern int XDefineCursor(
- Display* /* display */,
- Window /* w */,
- Cursor /* cursor */
-);
-
-extern int XDeleteProperty(
- Display* /* display */,
- Window /* w */,
- Atom /* property */
-);
-
-extern int XDestroyWindow(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XDestroySubwindows(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XDoesBackingStore(
- Screen* /* screen */
-);
-
-extern Bool XDoesSaveUnders(
- Screen* /* screen */
-);
-
-extern int XDisableAccessControl(
- Display* /* display */
-);
-
-
-extern int XDisplayCells(
- Display* /* display */,
- int /* screen_number */
-);
-
-extern int XDisplayHeight(
- Display* /* display */,
- int /* screen_number */
-);
-
-extern int XDisplayHeightMM(
- Display* /* display */,
- int /* screen_number */
-);
-
-extern int XDisplayKeycodes(
- Display* /* display */,
- int* /* min_keycodes_return */,
- int* /* max_keycodes_return */
-);
-
-extern int XDisplayPlanes(
- Display* /* display */,
- int /* screen_number */
-);
-
-extern int XDisplayWidth(
- Display* /* display */,
- int /* screen_number */
-);
-
-extern int XDisplayWidthMM(
- Display* /* display */,
- int /* screen_number */
-);
-
-extern int XDrawArc(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- unsigned int /* width */,
- unsigned int /* height */,
- int /* angle1 */,
- int /* angle2 */
-);
-
-extern int XDrawArcs(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- XArc* /* arcs */,
- int /* narcs */
-);
-
-extern int XDrawImageString(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- _Xconst char* /* string */,
- int /* length */
-);
-
-extern int XDrawImageString16(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- _Xconst XChar2b* /* string */,
- int /* length */
-);
-
-extern int XDrawLine(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x1 */,
- int /* y1 */,
- int /* x2 */,
- int /* y2 */
-);
-
-extern int XDrawLines(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- XPoint* /* points */,
- int /* npoints */,
- int /* mode */
-);
-
-extern int XDrawPoint(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */
-);
-
-extern int XDrawPoints(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- XPoint* /* points */,
- int /* npoints */,
- int /* mode */
-);
-
-extern int XDrawRectangle(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- unsigned int /* width */,
- unsigned int /* height */
-);
-
-extern int XDrawRectangles(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- XRectangle* /* rectangles */,
- int /* nrectangles */
-);
-
-extern int XDrawSegments(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- XSegment* /* segments */,
- int /* nsegments */
-);
-
-extern int XDrawString(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- _Xconst char* /* string */,
- int /* length */
-);
-
-extern int XDrawString16(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- _Xconst XChar2b* /* string */,
- int /* length */
-);
-
-extern int XDrawText(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- XTextItem* /* items */,
- int /* nitems */
-);
-
-extern int XDrawText16(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- XTextItem16* /* items */,
- int /* nitems */
-);
-
-extern int XEnableAccessControl(
- Display* /* display */
-);
-
-extern int XEventsQueued(
- Display* /* display */,
- int /* mode */
-);
-
-extern Status XFetchName(
- Display* /* display */,
- Window /* w */,
- char** /* window_name_return */
-);
-
-extern int XFillArc(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- unsigned int /* width */,
- unsigned int /* height */,
- int /* angle1 */,
- int /* angle2 */
-);
-
-extern int XFillArcs(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- XArc* /* arcs */,
- int /* narcs */
-);
-
-extern int XFillPolygon(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- XPoint* /* points */,
- int /* npoints */,
- int /* shape */,
- int /* mode */
-);
-
-extern int XFillRectangle(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- unsigned int /* width */,
- unsigned int /* height */
-);
-
-extern int XFillRectangles(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- XRectangle* /* rectangles */,
- int /* nrectangles */
-);
-
-extern int XFlush(
- Display* /* display */
-);
-
-extern int XForceScreenSaver(
- Display* /* display */,
- int /* mode */
-);
-
-extern int XFree(
- void* /* data */
-);
-
-extern int XFreeColormap(
- Display* /* display */,
- Colormap /* colormap */
-);
-
-extern int XFreeColors(
- Display* /* display */,
- Colormap /* colormap */,
- unsigned long* /* pixels */,
- int /* npixels */,
- unsigned long /* planes */
-);
-
-extern int XFreeCursor(
- Display* /* display */,
- Cursor /* cursor */
-);
-
-extern int XFreeExtensionList(
- char** /* list */
-);
-
-extern int XFreeFont(
- Display* /* display */,
- XFontStruct* /* font_struct */
-);
-
-extern int XFreeFontInfo(
- char** /* names */,
- XFontStruct* /* free_info */,
- int /* actual_count */
-);
-
-extern int XFreeFontNames(
- char** /* list */
-);
-
-extern int XFreeFontPath(
- char** /* list */
-);
-
-extern int XFreeGC(
- Display* /* display */,
- GC /* gc */
-);
-
-extern int XFreeModifiermap(
- XModifierKeymap* /* modmap */
-);
-
-extern int XFreePixmap(
- Display* /* display */,
- Pixmap /* pixmap */
-);
-
-extern int XGeometry(
- Display* /* display */,
- int /* screen */,
- _Xconst char* /* position */,
- _Xconst char* /* default_position */,
- unsigned int /* bwidth */,
- unsigned int /* fwidth */,
- unsigned int /* fheight */,
- int /* xadder */,
- int /* yadder */,
- int* /* x_return */,
- int* /* y_return */,
- int* /* width_return */,
- int* /* height_return */
-);
-
-extern int XGetErrorDatabaseText(
- Display* /* display */,
- _Xconst char* /* name */,
- _Xconst char* /* message */,
- _Xconst char* /* default_string */,
- char* /* buffer_return */,
- int /* length */
-);
-
-extern int XGetErrorText(
- Display* /* display */,
- int /* code */,
- char* /* buffer_return */,
- int /* length */
-);
-
-extern Bool XGetFontProperty(
- XFontStruct* /* font_struct */,
- Atom /* atom */,
- unsigned long* /* value_return */
-);
-
-extern Status XGetGCValues(
- Display* /* display */,
- GC /* gc */,
- unsigned long /* valuemask */,
- XGCValues* /* values_return */
-);
-
-extern Status XGetGeometry(
- Display* /* display */,
- Drawable /* d */,
- Window* /* root_return */,
- int* /* x_return */,
- int* /* y_return */,
- unsigned int* /* width_return */,
- unsigned int* /* height_return */,
- unsigned int* /* border_width_return */,
- unsigned int* /* depth_return */
-);
-
-extern Status XGetIconName(
- Display* /* display */,
- Window /* w */,
- char** /* icon_name_return */
-);
-
-extern int XGetInputFocus(
- Display* /* display */,
- Window* /* focus_return */,
- int* /* revert_to_return */
-);
-
-extern int XGetKeyboardControl(
- Display* /* display */,
- XKeyboardState* /* values_return */
-);
-
-extern int XGetPointerControl(
- Display* /* display */,
- int* /* accel_numerator_return */,
- int* /* accel_denominator_return */,
- int* /* threshold_return */
-);
-
-extern int XGetPointerMapping(
- Display* /* display */,
- unsigned char* /* map_return */,
- int /* nmap */
-);
-
-extern int XGetScreenSaver(
- Display* /* display */,
- int* /* timeout_return */,
- int* /* interval_return */,
- int* /* prefer_blanking_return */,
- int* /* allow_exposures_return */
-);
-
-extern Status XGetTransientForHint(
- Display* /* display */,
- Window /* w */,
- Window* /* prop_window_return */
-);
-
-extern int XGetWindowProperty(
- Display* /* display */,
- Window /* w */,
- Atom /* property */,
- long /* long_offset */,
- long /* long_length */,
- Bool /* delete */,
- Atom /* req_type */,
- Atom* /* actual_type_return */,
- int* /* actual_format_return */,
- unsigned long* /* nitems_return */,
- unsigned long* /* bytes_after_return */,
- unsigned char** /* prop_return */
-);
-
-extern Status XGetWindowAttributes(
- Display* /* display */,
- Window /* w */,
- XWindowAttributes* /* window_attributes_return */
-);
-
-extern int XGrabButton(
- Display* /* display */,
- unsigned int /* button */,
- unsigned int /* modifiers */,
- Window /* grab_window */,
- Bool /* owner_events */,
- unsigned int /* event_mask */,
- int /* pointer_mode */,
- int /* keyboard_mode */,
- Window /* confine_to */,
- Cursor /* cursor */
-);
-
-extern int XGrabKey(
- Display* /* display */,
- int /* keycode */,
- unsigned int /* modifiers */,
- Window /* grab_window */,
- Bool /* owner_events */,
- int /* pointer_mode */,
- int /* keyboard_mode */
-);
-
-extern int XGrabKeyboard(
- Display* /* display */,
- Window /* grab_window */,
- Bool /* owner_events */,
- int /* pointer_mode */,
- int /* keyboard_mode */,
- Time /* time */
-);
-
-extern int XGrabPointer(
- Display* /* display */,
- Window /* grab_window */,
- Bool /* owner_events */,
- unsigned int /* event_mask */,
- int /* pointer_mode */,
- int /* keyboard_mode */,
- Window /* confine_to */,
- Cursor /* cursor */,
- Time /* time */
-);
-
-extern int XGrabServer(
- Display* /* display */
-);
-
-extern int XHeightMMOfScreen(
- Screen* /* screen */
-);
-
-extern int XHeightOfScreen(
- Screen* /* screen */
-);
-
-extern int XIfEvent(
- Display* /* display */,
- XEvent* /* event_return */,
- Bool (*) (
- Display* /* display */,
- XEvent* /* event */,
- XPointer /* arg */
- ) /* predicate */,
- XPointer /* arg */
-);
-
-extern int XImageByteOrder(
- Display* /* display */
-);
-
-extern int XInstallColormap(
- Display* /* display */,
- Colormap /* colormap */
-);
-
-extern KeyCode XKeysymToKeycode(
- Display* /* display */,
- KeySym /* keysym */
-);
-
-extern int XKillClient(
- Display* /* display */,
- XID /* resource */
-);
-
-extern Status XLookupColor(
- Display* /* display */,
- Colormap /* colormap */,
- _Xconst char* /* color_name */,
- XColor* /* exact_def_return */,
- XColor* /* screen_def_return */
-);
-
-extern int XLowerWindow(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XMapRaised(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XMapSubwindows(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XMapWindow(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XMaskEvent(
- Display* /* display */,
- long /* event_mask */,
- XEvent* /* event_return */
-);
-
-extern int XMaxCmapsOfScreen(
- Screen* /* screen */
-);
-
-extern int XMinCmapsOfScreen(
- Screen* /* screen */
-);
-
-extern int XMoveResizeWindow(
- Display* /* display */,
- Window /* w */,
- int /* x */,
- int /* y */,
- unsigned int /* width */,
- unsigned int /* height */
-);
-
-extern int XMoveWindow(
- Display* /* display */,
- Window /* w */,
- int /* x */,
- int /* y */
-);
-
-extern int XNextEvent(
- Display* /* display */,
- XEvent* /* event_return */
-);
-
-extern int XNoOp(
- Display* /* display */
-);
-
-extern Status XParseColor(
- Display* /* display */,
- Colormap /* colormap */,
- _Xconst char* /* spec */,
- XColor* /* exact_def_return */
-);
-
-extern int XParseGeometry(
- _Xconst char* /* parsestring */,
- int* /* x_return */,
- int* /* y_return */,
- unsigned int* /* width_return */,
- unsigned int* /* height_return */
-);
-
-extern int XPeekEvent(
- Display* /* display */,
- XEvent* /* event_return */
-);
-
-extern int XPeekIfEvent(
- Display* /* display */,
- XEvent* /* event_return */,
- Bool (*) (
- Display* /* display */,
- XEvent* /* event */,
- XPointer /* arg */
- ) /* predicate */,
- XPointer /* arg */
-);
-
-extern int XPending(
- Display* /* display */
-);
-
-extern int XPlanesOfScreen(
- Screen* /* screen */
-);
-
-extern int XProtocolRevision(
- Display* /* display */
-);
-
-extern int XProtocolVersion(
- Display* /* display */
-);
-
-
-extern int XPutBackEvent(
- Display* /* display */,
- XEvent* /* event */
-);
-
-extern int XPutImage(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- XImage* /* image */,
- int /* src_x */,
- int /* src_y */,
- int /* dest_x */,
- int /* dest_y */,
- unsigned int /* width */,
- unsigned int /* height */
-);
-
-extern int XQLength(
- Display* /* display */
-);
-
-extern Status XQueryBestCursor(
- Display* /* display */,
- Drawable /* d */,
- unsigned int /* width */,
- unsigned int /* height */,
- unsigned int* /* width_return */,
- unsigned int* /* height_return */
-);
-
-extern Status XQueryBestSize(
- Display* /* display */,
- int /* class */,
- Drawable /* which_screen */,
- unsigned int /* width */,
- unsigned int /* height */,
- unsigned int* /* width_return */,
- unsigned int* /* height_return */
-);
-
-extern Status XQueryBestStipple(
- Display* /* display */,
- Drawable /* which_screen */,
- unsigned int /* width */,
- unsigned int /* height */,
- unsigned int* /* width_return */,
- unsigned int* /* height_return */
-);
-
-extern Status XQueryBestTile(
- Display* /* display */,
- Drawable /* which_screen */,
- unsigned int /* width */,
- unsigned int /* height */,
- unsigned int* /* width_return */,
- unsigned int* /* height_return */
-);
-
-extern int XQueryColor(
- Display* /* display */,
- Colormap /* colormap */,
- XColor* /* def_in_out */
-);
-
-extern int XQueryColors(
- Display* /* display */,
- Colormap /* colormap */,
- XColor* /* defs_in_out */,
- int /* ncolors */
-);
-
-extern Bool XQueryExtension(
- Display* /* display */,
- _Xconst char* /* name */,
- int* /* major_opcode_return */,
- int* /* first_event_return */,
- int* /* first_error_return */
-);
-
-extern int XQueryKeymap(
- Display* /* display */,
- char [32] /* keys_return */
-);
-
-extern Bool XQueryPointer(
- Display* /* display */,
- Window /* w */,
- Window* /* root_return */,
- Window* /* child_return */,
- int* /* root_x_return */,
- int* /* root_y_return */,
- int* /* win_x_return */,
- int* /* win_y_return */,
- unsigned int* /* mask_return */
-);
-
-extern int XQueryTextExtents(
- Display* /* display */,
- XID /* font_ID */,
- _Xconst char* /* string */,
- int /* nchars */,
- int* /* direction_return */,
- int* /* font_ascent_return */,
- int* /* font_descent_return */,
- XCharStruct* /* overall_return */
-);
-
-extern int XQueryTextExtents16(
- Display* /* display */,
- XID /* font_ID */,
- _Xconst XChar2b* /* string */,
- int /* nchars */,
- int* /* direction_return */,
- int* /* font_ascent_return */,
- int* /* font_descent_return */,
- XCharStruct* /* overall_return */
-);
-
-extern Status XQueryTree(
- Display* /* display */,
- Window /* w */,
- Window* /* root_return */,
- Window* /* parent_return */,
- Window** /* children_return */,
- unsigned int* /* nchildren_return */
-);
-
-extern int XRaiseWindow(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XReadBitmapFile(
- Display* /* display */,
- Drawable /* d */,
- _Xconst char* /* filename */,
- unsigned int* /* width_return */,
- unsigned int* /* height_return */,
- Pixmap* /* bitmap_return */,
- int* /* x_hot_return */,
- int* /* y_hot_return */
-);
-
-extern int XReadBitmapFileData(
- _Xconst char* /* filename */,
- unsigned int* /* width_return */,
- unsigned int* /* height_return */,
- unsigned char** /* data_return */,
- int* /* x_hot_return */,
- int* /* y_hot_return */
-);
-
-extern int XRebindKeysym(
- Display* /* display */,
- KeySym /* keysym */,
- KeySym* /* list */,
- int /* mod_count */,
- _Xconst unsigned char* /* string */,
- int /* bytes_string */
-);
-
-extern int XRecolorCursor(
- Display* /* display */,
- Cursor /* cursor */,
- XColor* /* foreground_color */,
- XColor* /* background_color */
-);
-
-extern int XRefreshKeyboardMapping(
- XMappingEvent* /* event_map */
-);
-
-extern int XRemoveFromSaveSet(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XRemoveHost(
- Display* /* display */,
- XHostAddress* /* host */
-);
-
-extern int XRemoveHosts(
- Display* /* display */,
- XHostAddress* /* hosts */,
- int /* num_hosts */
-);
-
-extern int XReparentWindow(
- Display* /* display */,
- Window /* w */,
- Window /* parent */,
- int /* x */,
- int /* y */
-);
-
-extern int XResetScreenSaver(
- Display* /* display */
-);
-
-extern int XResizeWindow(
- Display* /* display */,
- Window /* w */,
- unsigned int /* width */,
- unsigned int /* height */
-);
-
-extern int XRestackWindows(
- Display* /* display */,
- Window* /* windows */,
- int /* nwindows */
-);
-
-extern int XRotateBuffers(
- Display* /* display */,
- int /* rotate */
-);
-
-extern int XRotateWindowProperties(
- Display* /* display */,
- Window /* w */,
- Atom* /* properties */,
- int /* num_prop */,
- int /* npositions */
-);
-
-extern int XScreenCount(
- Display* /* display */
-);
-
-extern int XSelectInput(
- Display* /* display */,
- Window /* w */,
- long /* event_mask */
-);
-
-extern Status XSendEvent(
- Display* /* display */,
- Window /* w */,
- Bool /* propagate */,
- long /* event_mask */,
- XEvent* /* event_send */
-);
-
-extern int XSetAccessControl(
- Display* /* display */,
- int /* mode */
-);
-
-extern int XSetArcMode(
- Display* /* display */,
- GC /* gc */,
- int /* arc_mode */
-);
-
-extern int XSetBackground(
- Display* /* display */,
- GC /* gc */,
- unsigned long /* background */
-);
-
-extern int XSetClipMask(
- Display* /* display */,
- GC /* gc */,
- Pixmap /* pixmap */
-);
-
-extern int XSetClipOrigin(
- Display* /* display */,
- GC /* gc */,
- int /* clip_x_origin */,
- int /* clip_y_origin */
-);
-
-extern int XSetClipRectangles(
- Display* /* display */,
- GC /* gc */,
- int /* clip_x_origin */,
- int /* clip_y_origin */,
- XRectangle* /* rectangles */,
- int /* n */,
- int /* ordering */
-);
-
-extern int XSetCloseDownMode(
- Display* /* display */,
- int /* close_mode */
-);
-
-extern int XSetCommand(
- Display* /* display */,
- Window /* w */,
- char** /* argv */,
- int /* argc */
-);
-
-extern int XSetDashes(
- Display* /* display */,
- GC /* gc */,
- int /* dash_offset */,
- _Xconst char* /* dash_list */,
- int /* n */
-);
-
-extern int XSetFillRule(
- Display* /* display */,
- GC /* gc */,
- int /* fill_rule */
-);
-
-extern int XSetFillStyle(
- Display* /* display */,
- GC /* gc */,
- int /* fill_style */
-);
-
-extern int XSetFont(
- Display* /* display */,
- GC /* gc */,
- Font /* font */
-);
-
-extern int XSetFontPath(
- Display* /* display */,
- char** /* directories */,
- int /* ndirs */
-);
-
-extern int XSetForeground(
- Display* /* display */,
- GC /* gc */,
- unsigned long /* foreground */
-);
-
-extern int XSetFunction(
- Display* /* display */,
- GC /* gc */,
- int /* function */
-);
-
-extern int XSetGraphicsExposures(
- Display* /* display */,
- GC /* gc */,
- Bool /* graphics_exposures */
-);
-
-extern int XSetIconName(
- Display* /* display */,
- Window /* w */,
- _Xconst char* /* icon_name */
-);
-
-extern int XSetInputFocus(
- Display* /* display */,
- Window /* focus */,
- int /* revert_to */,
- Time /* time */
-);
-
-extern int XSetLineAttributes(
- Display* /* display */,
- GC /* gc */,
- unsigned int /* line_width */,
- int /* line_style */,
- int /* cap_style */,
- int /* join_style */
-);
-
-extern int XSetModifierMapping(
- Display* /* display */,
- XModifierKeymap* /* modmap */
-);
-
-extern int XSetPlaneMask(
- Display* /* display */,
- GC /* gc */,
- unsigned long /* plane_mask */
-);
-
-extern int XSetPointerMapping(
- Display* /* display */,
- _Xconst unsigned char* /* map */,
- int /* nmap */
-);
-
-extern int XSetScreenSaver(
- Display* /* display */,
- int /* timeout */,
- int /* interval */,
- int /* prefer_blanking */,
- int /* allow_exposures */
-);
-
-extern int XSetSelectionOwner(
- Display* /* display */,
- Atom /* selection */,
- Window /* owner */,
- Time /* time */
-);
-
-extern int XSetState(
- Display* /* display */,
- GC /* gc */,
- unsigned long /* foreground */,
- unsigned long /* background */,
- int /* function */,
- unsigned long /* plane_mask */
-);
-
-extern int XSetStipple(
- Display* /* display */,
- GC /* gc */,
- Pixmap /* stipple */
-);
-
-extern int XSetSubwindowMode(
- Display* /* display */,
- GC /* gc */,
- int /* subwindow_mode */
-);
-
-extern int XSetTSOrigin(
- Display* /* display */,
- GC /* gc */,
- int /* ts_x_origin */,
- int /* ts_y_origin */
-);
-
-extern int XSetTile(
- Display* /* display */,
- GC /* gc */,
- Pixmap /* tile */
-);
-
-extern int XSetWindowBackground(
- Display* /* display */,
- Window /* w */,
- unsigned long /* background_pixel */
-);
-
-extern int XSetWindowBackgroundPixmap(
- Display* /* display */,
- Window /* w */,
- Pixmap /* background_pixmap */
-);
-
-extern int XSetWindowBorder(
- Display* /* display */,
- Window /* w */,
- unsigned long /* border_pixel */
-);
-
-extern int XSetWindowBorderPixmap(
- Display* /* display */,
- Window /* w */,
- Pixmap /* border_pixmap */
-);
-
-extern int XSetWindowBorderWidth(
- Display* /* display */,
- Window /* w */,
- unsigned int /* width */
-);
-
-extern int XSetWindowColormap(
- Display* /* display */,
- Window /* w */,
- Colormap /* colormap */
-);
-
-extern int XStoreBuffer(
- Display* /* display */,
- _Xconst char* /* bytes */,
- int /* nbytes */,
- int /* buffer */
-);
-
-extern int XStoreBytes(
- Display* /* display */,
- _Xconst char* /* bytes */,
- int /* nbytes */
-);
-
-extern int XStoreColor(
- Display* /* display */,
- Colormap /* colormap */,
- XColor* /* color */
-);
-
-extern int XStoreColors(
- Display* /* display */,
- Colormap /* colormap */,
- XColor* /* color */,
- int /* ncolors */
-);
-
-extern int XStoreName(
- Display* /* display */,
- Window /* w */,
- _Xconst char* /* window_name */
-);
-
-extern int XStoreNamedColor(
- Display* /* display */,
- Colormap /* colormap */,
- _Xconst char* /* color */,
- unsigned long /* pixel */,
- int /* flags */
-);
-
-extern int XSync(
- Display* /* display */,
- Bool /* discard */
-);
-
-extern int XTextExtents(
- XFontStruct* /* font_struct */,
- _Xconst char* /* string */,
- int /* nchars */,
- int* /* direction_return */,
- int* /* font_ascent_return */,
- int* /* font_descent_return */,
- XCharStruct* /* overall_return */
-);
-
-extern int XTextExtents16(
- XFontStruct* /* font_struct */,
- _Xconst XChar2b* /* string */,
- int /* nchars */,
- int* /* direction_return */,
- int* /* font_ascent_return */,
- int* /* font_descent_return */,
- XCharStruct* /* overall_return */
-);
-
-extern int XTextWidth(
- XFontStruct* /* font_struct */,
- _Xconst char* /* string */,
- int /* count */
-);
-
-extern int XTextWidth16(
- XFontStruct* /* font_struct */,
- _Xconst XChar2b* /* string */,
- int /* count */
-);
-
-extern Bool XTranslateCoordinates(
- Display* /* display */,
- Window /* src_w */,
- Window /* dest_w */,
- int /* src_x */,
- int /* src_y */,
- int* /* dest_x_return */,
- int* /* dest_y_return */,
- Window* /* child_return */
-);
-
-extern int XUndefineCursor(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XUngrabButton(
- Display* /* display */,
- unsigned int /* button */,
- unsigned int /* modifiers */,
- Window /* grab_window */
-);
-
-extern int XUngrabKey(
- Display* /* display */,
- int /* keycode */,
- unsigned int /* modifiers */,
- Window /* grab_window */
-);
-
-extern int XUngrabKeyboard(
- Display* /* display */,
- Time /* time */
-);
-
-extern int XUngrabPointer(
- Display* /* display */,
- Time /* time */
-);
-
-extern int XUngrabServer(
- Display* /* display */
-);
-
-extern int XUninstallColormap(
- Display* /* display */,
- Colormap /* colormap */
-);
-
-extern int XUnloadFont(
- Display* /* display */,
- Font /* font */
-);
-
-extern int XUnmapSubwindows(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XUnmapWindow(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XVendorRelease(
- Display* /* display */
-);
-
-extern int XWarpPointer(
- Display* /* display */,
- Window /* src_w */,
- Window /* dest_w */,
- int /* src_x */,
- int /* src_y */,
- unsigned int /* src_width */,
- unsigned int /* src_height */,
- int /* dest_x */,
- int /* dest_y */
-);
-
-extern int XWidthMMOfScreen(
- Screen* /* screen */
-);
-
-extern int XWidthOfScreen(
- Screen* /* screen */
-);
-
-extern int XWindowEvent(
- Display* /* display */,
- Window /* w */,
- long /* event_mask */,
- XEvent* /* event_return */
-);
-
-extern int XWriteBitmapFile(
- Display* /* display */,
- _Xconst char* /* filename */,
- Pixmap /* bitmap */,
- unsigned int /* width */,
- unsigned int /* height */,
- int /* x_hot */,
- int /* y_hot */
-);
-
-extern Bool XSupportsLocale (void);
-
-extern char *XSetLocaleModifiers(
- const char* /* modifier_list */
-);
-
-extern XOM XOpenOM(
- Display* /* display */,
- struct _XrmHashBucketRec* /* rdb */,
- _Xconst char* /* res_name */,
- _Xconst char* /* res_class */
-);
-
-extern Status XCloseOM(
- XOM /* om */
-);
-
-extern char *XSetOMValues(
- XOM /* om */,
- ...
-) _X_SENTINEL(0);
-
-extern char *XGetOMValues(
- XOM /* om */,
- ...
-) _X_SENTINEL(0);
-
-extern Display *XDisplayOfOM(
- XOM /* om */
-);
-
-extern char *XLocaleOfOM(
- XOM /* om */
-);
-
-extern XOC XCreateOC(
- XOM /* om */,
- ...
-) _X_SENTINEL(0);
-
-extern void XDestroyOC(
- XOC /* oc */
-);
-
-extern XOM XOMOfOC(
- XOC /* oc */
-);
-
-extern char *XSetOCValues(
- XOC /* oc */,
- ...
-) _X_SENTINEL(0);
-
-extern char *XGetOCValues(
- XOC /* oc */,
- ...
-) _X_SENTINEL(0);
-
-extern XFontSet XCreateFontSet(
- Display* /* display */,
- _Xconst char* /* base_font_name_list */,
- char*** /* missing_charset_list */,
- int* /* missing_charset_count */,
- char** /* def_string */
-);
-
-extern void XFreeFontSet(
- Display* /* display */,
- XFontSet /* font_set */
-);
-
-extern int XFontsOfFontSet(
- XFontSet /* font_set */,
- XFontStruct*** /* font_struct_list */,
- char*** /* font_name_list */
-);
-
-extern char *XBaseFontNameListOfFontSet(
- XFontSet /* font_set */
-);
-
-extern char *XLocaleOfFontSet(
- XFontSet /* font_set */
-);
-
-extern Bool XContextDependentDrawing(
- XFontSet /* font_set */
-);
-
-extern Bool XDirectionalDependentDrawing(
- XFontSet /* font_set */
-);
-
-extern Bool XContextualDrawing(
- XFontSet /* font_set */
-);
-
-extern XFontSetExtents *XExtentsOfFontSet(
- XFontSet /* font_set */
-);
-
-extern int XmbTextEscapement(
- XFontSet /* font_set */,
- _Xconst char* /* text */,
- int /* bytes_text */
-);
-
-extern int XwcTextEscapement(
- XFontSet /* font_set */,
- _Xconst wchar_t* /* text */,
- int /* num_wchars */
-);
-
-extern int Xutf8TextEscapement(
- XFontSet /* font_set */,
- _Xconst char* /* text */,
- int /* bytes_text */
-);
-
-extern int XmbTextExtents(
- XFontSet /* font_set */,
- _Xconst char* /* text */,
- int /* bytes_text */,
- XRectangle* /* overall_ink_return */,
- XRectangle* /* overall_logical_return */
-);
-
-extern int XwcTextExtents(
- XFontSet /* font_set */,
- _Xconst wchar_t* /* text */,
- int /* num_wchars */,
- XRectangle* /* overall_ink_return */,
- XRectangle* /* overall_logical_return */
-);
-
-extern int Xutf8TextExtents(
- XFontSet /* font_set */,
- _Xconst char* /* text */,
- int /* bytes_text */,
- XRectangle* /* overall_ink_return */,
- XRectangle* /* overall_logical_return */
-);
-
-extern Status XmbTextPerCharExtents(
- XFontSet /* font_set */,
- _Xconst char* /* text */,
- int /* bytes_text */,
- XRectangle* /* ink_extents_buffer */,
- XRectangle* /* logical_extents_buffer */,
- int /* buffer_size */,
- int* /* num_chars */,
- XRectangle* /* overall_ink_return */,
- XRectangle* /* overall_logical_return */
-);
-
-extern Status XwcTextPerCharExtents(
- XFontSet /* font_set */,
- _Xconst wchar_t* /* text */,
- int /* num_wchars */,
- XRectangle* /* ink_extents_buffer */,
- XRectangle* /* logical_extents_buffer */,
- int /* buffer_size */,
- int* /* num_chars */,
- XRectangle* /* overall_ink_return */,
- XRectangle* /* overall_logical_return */
-);
-
-extern Status Xutf8TextPerCharExtents(
- XFontSet /* font_set */,
- _Xconst char* /* text */,
- int /* bytes_text */,
- XRectangle* /* ink_extents_buffer */,
- XRectangle* /* logical_extents_buffer */,
- int /* buffer_size */,
- int* /* num_chars */,
- XRectangle* /* overall_ink_return */,
- XRectangle* /* overall_logical_return */
-);
-
-extern void XmbDrawText(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- XmbTextItem* /* text_items */,
- int /* nitems */
-);
-
-extern void XwcDrawText(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- XwcTextItem* /* text_items */,
- int /* nitems */
-);
-
-extern void Xutf8DrawText(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- XmbTextItem* /* text_items */,
- int /* nitems */
-);
-
-extern void XmbDrawString(
- Display* /* display */,
- Drawable /* d */,
- XFontSet /* font_set */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- _Xconst char* /* text */,
- int /* bytes_text */
-);
-
-extern void XwcDrawString(
- Display* /* display */,
- Drawable /* d */,
- XFontSet /* font_set */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- _Xconst wchar_t* /* text */,
- int /* num_wchars */
-);
-
-extern void Xutf8DrawString(
- Display* /* display */,
- Drawable /* d */,
- XFontSet /* font_set */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- _Xconst char* /* text */,
- int /* bytes_text */
-);
-
-extern void XmbDrawImageString(
- Display* /* display */,
- Drawable /* d */,
- XFontSet /* font_set */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- _Xconst char* /* text */,
- int /* bytes_text */
-);
-
-extern void XwcDrawImageString(
- Display* /* display */,
- Drawable /* d */,
- XFontSet /* font_set */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- _Xconst wchar_t* /* text */,
- int /* num_wchars */
-);
-
-extern void Xutf8DrawImageString(
- Display* /* display */,
- Drawable /* d */,
- XFontSet /* font_set */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- _Xconst char* /* text */,
- int /* bytes_text */
-);
-
-extern XIM XOpenIM(
- Display* /* dpy */,
- struct _XrmHashBucketRec* /* rdb */,
- char* /* res_name */,
- char* /* res_class */
-);
-
-extern Status XCloseIM(
- XIM /* im */
-);
-
-extern char *XGetIMValues(
- XIM /* im */, ...
-) _X_SENTINEL(0);
-
-extern char *XSetIMValues(
- XIM /* im */, ...
-) _X_SENTINEL(0);
-
-extern Display *XDisplayOfIM(
- XIM /* im */
-);
-
-extern char *XLocaleOfIM(
- XIM /* im*/
-);
-
-extern XIC XCreateIC(
- XIM /* im */, ...
-) _X_SENTINEL(0);
-
-extern void XDestroyIC(
- XIC /* ic */
-);
-
-extern void XSetICFocus(
- XIC /* ic */
-);
-
-extern void XUnsetICFocus(
- XIC /* ic */
-);
-
-extern wchar_t *XwcResetIC(
- XIC /* ic */
-);
-
-extern char *XmbResetIC(
- XIC /* ic */
-);
-
-extern char *Xutf8ResetIC(
- XIC /* ic */
-);
-
-extern char *XSetICValues(
- XIC /* ic */, ...
-) _X_SENTINEL(0);
-
-extern char *XGetICValues(
- XIC /* ic */, ...
-) _X_SENTINEL(0);
-
-extern XIM XIMOfIC(
- XIC /* ic */
-);
-
-extern Bool XFilterEvent(
- XEvent* /* event */,
- Window /* window */
-);
-
-extern int XmbLookupString(
- XIC /* ic */,
- XKeyPressedEvent* /* event */,
- char* /* buffer_return */,
- int /* bytes_buffer */,
- KeySym* /* keysym_return */,
- Status* /* status_return */
-);
-
-extern int XwcLookupString(
- XIC /* ic */,
- XKeyPressedEvent* /* event */,
- wchar_t* /* buffer_return */,
- int /* wchars_buffer */,
- KeySym* /* keysym_return */,
- Status* /* status_return */
-);
-
-extern int Xutf8LookupString(
- XIC /* ic */,
- XKeyPressedEvent* /* event */,
- char* /* buffer_return */,
- int /* bytes_buffer */,
- KeySym* /* keysym_return */,
- Status* /* status_return */
-);
-
-extern XVaNestedList XVaCreateNestedList(
- int /*unused*/, ...
-) _X_SENTINEL(0);
-
-/* internal connections for IMs */
-
-extern Bool XRegisterIMInstantiateCallback(
- Display* /* dpy */,
- struct _XrmHashBucketRec* /* rdb */,
- char* /* res_name */,
- char* /* res_class */,
- XIDProc /* callback */,
- XPointer /* client_data */
-);
-
-extern Bool XUnregisterIMInstantiateCallback(
- Display* /* dpy */,
- struct _XrmHashBucketRec* /* rdb */,
- char* /* res_name */,
- char* /* res_class */,
- XIDProc /* callback */,
- XPointer /* client_data */
-);
-
-typedef void (*XConnectionWatchProc)(
- Display* /* dpy */,
- XPointer /* client_data */,
- int /* fd */,
- Bool /* opening */, /* open or close flag */
- XPointer* /* watch_data */ /* open sets, close uses */
-);
-
-
-extern Status XInternalConnectionNumbers(
- Display* /* dpy */,
- int** /* fd_return */,
- int* /* count_return */
-);
-
-extern void XProcessInternalConnection(
- Display* /* dpy */,
- int /* fd */
-);
-
-extern Status XAddConnectionWatch(
- Display* /* dpy */,
- XConnectionWatchProc /* callback */,
- XPointer /* client_data */
-);
-
-extern void XRemoveConnectionWatch(
- Display* /* dpy */,
- XConnectionWatchProc /* callback */,
- XPointer /* client_data */
-);
-
-extern void XSetAuthorization(
- char * /* name */,
- int /* namelen */,
- char * /* data */,
- int /* datalen */
-);
-
-extern int _Xmbtowc(
- wchar_t * /* wstr */,
-#ifdef ISC
- char const * /* str */,
- size_t /* len */
-#else
- char * /* str */,
- int /* len */
-#endif
-);
-
-extern int _Xwctomb(
- char * /* str */,
- wchar_t /* wc */
-);
-
-extern Bool XGetEventData(
- Display* /* dpy */,
- XGenericEventCookie* /* cookie*/
-);
-
-extern void XFreeEventData(
- Display* /* dpy */,
- XGenericEventCookie* /* cookie*/
-);
-
-_XFUNCPROTOEND
-
-#endif /* _XLIB_H_ */
+/*
+
+Copyright 1985, 1986, 1987, 1991, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+
+/*
+ * Xlib.h - Header definition and support file for the C subroutine
+ * interface library (Xlib) to the X Window System Protocol (V11).
+ * Structures and symbols starting with "_" are private to the library.
+ */
+#ifndef _X11_XLIB_H_
+#define _X11_XLIB_H_
+
+#define XlibSpecificationRelease 6
+
+#include <sys/types.h>
+
+#if defined(__SCO__) || defined(__UNIXWARE__)
+#include <stdint.h>
+#endif
+
+#include <X11/X.h>
+
+/* applications should not depend on these two headers being included! */
+#include <X11/Xfuncproto.h>
+#include <X11/Xosdefs.h>
+
+#ifndef X_WCHAR
+#include <stddef.h>
+#else
+#ifdef __UNIXOS2__
+#include <stdlib.h>
+#else
+/* replace this with #include or typedef appropriate for your system */
+typedef unsigned long wchar_t;
+#endif
+#endif
+
+#if defined(ISC) && defined(USE_XMBTOWC)
+#define wctomb(a,b) _Xwctomb(a,b)
+#define mblen(a,b) _Xmblen(a,b)
+#ifndef USE_XWCHAR_STRING
+#define mbtowc(a,b,c) _Xmbtowc(a,b,c)
+#endif
+#endif
+
+extern int
+_Xmblen(
+#ifdef ISC
+ char const *str,
+ size_t len
+#else
+ char *str,
+ int len
+#endif
+ );
+
+/* API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in
+ November 2000. Its presence is indicated through the following macro. */
+#define X_HAVE_UTF8_STRING 1
+
+typedef char *XPointer;
+
+#define Bool int
+#define Status int
+#define True 1
+#define False 0
+
+#define QueuedAlready 0
+#define QueuedAfterReading 1
+#define QueuedAfterFlush 2
+
+#define ConnectionNumber(dpy) (((_XPrivDisplay)dpy)->fd)
+#define RootWindow(dpy, scr) (ScreenOfDisplay(dpy,scr)->root)
+#define DefaultScreen(dpy) (((_XPrivDisplay)dpy)->default_screen)
+#define DefaultRootWindow(dpy) (ScreenOfDisplay(dpy,DefaultScreen(dpy))->root)
+#define DefaultVisual(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_visual)
+#define DefaultGC(dpy, scr) (ScreenOfDisplay(dpy,scr)->default_gc)
+#define BlackPixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->black_pixel)
+#define WhitePixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->white_pixel)
+#define AllPlanes ((unsigned long)~0L)
+#define QLength(dpy) (((_XPrivDisplay)dpy)->qlen)
+#define DisplayWidth(dpy, scr) (ScreenOfDisplay(dpy,scr)->width)
+#define DisplayHeight(dpy, scr) (ScreenOfDisplay(dpy,scr)->height)
+#define DisplayWidthMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mwidth)
+#define DisplayHeightMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mheight)
+#define DisplayPlanes(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth)
+#define DisplayCells(dpy, scr) (DefaultVisual(dpy,scr)->map_entries)
+#define ScreenCount(dpy) (((_XPrivDisplay)dpy)->nscreens)
+#define ServerVendor(dpy) (((_XPrivDisplay)dpy)->vendor)
+#define ProtocolVersion(dpy) (((_XPrivDisplay)dpy)->proto_major_version)
+#define ProtocolRevision(dpy) (((_XPrivDisplay)dpy)->proto_minor_version)
+#define VendorRelease(dpy) (((_XPrivDisplay)dpy)->release)
+#define DisplayString(dpy) (((_XPrivDisplay)dpy)->display_name)
+#define DefaultDepth(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth)
+#define DefaultColormap(dpy, scr)(ScreenOfDisplay(dpy,scr)->cmap)
+#define BitmapUnit(dpy) (((_XPrivDisplay)dpy)->bitmap_unit)
+#define BitmapBitOrder(dpy) (((_XPrivDisplay)dpy)->bitmap_bit_order)
+#define BitmapPad(dpy) (((_XPrivDisplay)dpy)->bitmap_pad)
+#define ImageByteOrder(dpy) (((_XPrivDisplay)dpy)->byte_order)
+#ifdef CRAY /* unable to get WORD64 without pulling in other symbols */
+#define NextRequest(dpy) XNextRequest(dpy)
+#else
+#define NextRequest(dpy) (((_XPrivDisplay)dpy)->request + 1)
+#endif
+#define LastKnownRequestProcessed(dpy) (((_XPrivDisplay)dpy)->last_request_read)
+
+/* macros for screen oriented applications (toolkit) */
+#define ScreenOfDisplay(dpy, scr)(&((_XPrivDisplay)dpy)->screens[scr])
+#define DefaultScreenOfDisplay(dpy) ScreenOfDisplay(dpy,DefaultScreen(dpy))
+#define DisplayOfScreen(s) ((s)->display)
+#define RootWindowOfScreen(s) ((s)->root)
+#define BlackPixelOfScreen(s) ((s)->black_pixel)
+#define WhitePixelOfScreen(s) ((s)->white_pixel)
+#define DefaultColormapOfScreen(s)((s)->cmap)
+#define DefaultDepthOfScreen(s) ((s)->root_depth)
+#define DefaultGCOfScreen(s) ((s)->default_gc)
+#define DefaultVisualOfScreen(s)((s)->root_visual)
+#define WidthOfScreen(s) ((s)->width)
+#define HeightOfScreen(s) ((s)->height)
+#define WidthMMOfScreen(s) ((s)->mwidth)
+#define HeightMMOfScreen(s) ((s)->mheight)
+#define PlanesOfScreen(s) ((s)->root_depth)
+#define CellsOfScreen(s) (DefaultVisualOfScreen((s))->map_entries)
+#define MinCmapsOfScreen(s) ((s)->min_maps)
+#define MaxCmapsOfScreen(s) ((s)->max_maps)
+#define DoesSaveUnders(s) ((s)->save_unders)
+#define DoesBackingStore(s) ((s)->backing_store)
+#define EventMaskOfScreen(s) ((s)->root_input_mask)
+
+/*
+ * Extensions need a way to hang private data on some structures.
+ */
+typedef struct _XExtData {
+ int number; /* number returned by XRegisterExtension */
+ struct _XExtData *next; /* next item on list of data for structure */
+ int (*free_private)( /* called to free private storage */
+ struct _XExtData *extension
+ );
+ XPointer private_data; /* data private to this extension. */
+} XExtData;
+
+/*
+ * This file contains structures used by the extension mechanism.
+ */
+typedef struct { /* public to extension, cannot be changed */
+ int extension; /* extension number */
+ int major_opcode; /* major op-code assigned by server */
+ int first_event; /* first event number for the extension */
+ int first_error; /* first error number for the extension */
+} XExtCodes;
+
+/*
+ * Data structure for retrieving info about pixmap formats.
+ */
+
+typedef struct {
+ int depth;
+ int bits_per_pixel;
+ int scanline_pad;
+} XPixmapFormatValues;
+
+
+/*
+ * Data structure for setting graphics context.
+ */
+typedef struct {
+ int function; /* logical operation */
+ unsigned long plane_mask;/* plane mask */
+ unsigned long foreground;/* foreground pixel */
+ unsigned long background;/* background pixel */
+ int line_width; /* line width */
+ int line_style; /* LineSolid, LineOnOffDash, LineDoubleDash */
+ int cap_style; /* CapNotLast, CapButt,
+ CapRound, CapProjecting */
+ int join_style; /* JoinMiter, JoinRound, JoinBevel */
+ int fill_style; /* FillSolid, FillTiled,
+ FillStippled, FillOpaeueStippled */
+ int fill_rule; /* EvenOddRule, WindingRule */
+ int arc_mode; /* ArcChord, ArcPieSlice */
+ Pixmap tile; /* tile pixmap for tiling operations */
+ Pixmap stipple; /* stipple 1 plane pixmap for stipping */
+ int ts_x_origin; /* offset for tile or stipple operations */
+ int ts_y_origin;
+ Font font; /* default text font for text operations */
+ int subwindow_mode; /* ClipByChildren, IncludeInferiors */
+ Bool graphics_exposures;/* boolean, should exposures be generated */
+ int clip_x_origin; /* origin for clipping */
+ int clip_y_origin;
+ Pixmap clip_mask; /* bitmap clipping; other calls for rects */
+ int dash_offset; /* patterned/dashed line information */
+ char dashes;
+} XGCValues;
+
+/*
+ * Graphics context. The contents of this structure are implementation
+ * dependent. A GC should be treated as opaque by application code.
+ */
+
+typedef struct _XGC
+#ifdef XLIB_ILLEGAL_ACCESS
+{
+ XExtData *ext_data; /* hook for extension to hang data */
+ GContext gid; /* protocol ID for graphics context */
+ /* there is more to this structure, but it is private to Xlib */
+}
+#endif
+*GC;
+
+/*
+ * Visual structure; contains information about colormapping possible.
+ */
+typedef struct {
+ XExtData *ext_data; /* hook for extension to hang data */
+ VisualID visualid; /* visual id of this visual */
+#if defined(__cplusplus) || defined(c_plusplus)
+ int c_class; /* C++ class of screen (monochrome, etc.) */
+#else
+ int class; /* class of screen (monochrome, etc.) */
+#endif
+ unsigned long red_mask, green_mask, blue_mask; /* mask values */
+ int bits_per_rgb; /* log base 2 of distinct color values */
+ int map_entries; /* color map entries */
+} Visual;
+
+/*
+ * Depth structure; contains information for each possible depth.
+ */
+typedef struct {
+ int depth; /* this depth (Z) of the depth */
+ int nvisuals; /* number of Visual types at this depth */
+ Visual *visuals; /* list of visuals possible at this depth */
+} Depth;
+
+/*
+ * Information about the screen. The contents of this structure are
+ * implementation dependent. A Screen should be treated as opaque
+ * by application code.
+ */
+
+struct _XDisplay; /* Forward declare before use for C++ */
+
+typedef struct {
+ XExtData *ext_data; /* hook for extension to hang data */
+ struct _XDisplay *display;/* back pointer to display structure */
+ Window root; /* Root window id. */
+ int width, height; /* width and height of screen */
+ int mwidth, mheight; /* width and height of in millimeters */
+ int ndepths; /* number of depths possible */
+ Depth *depths; /* list of allowable depths on the screen */
+ int root_depth; /* bits per pixel */
+ Visual *root_visual; /* root visual */
+ GC default_gc; /* GC for the root root visual */
+ Colormap cmap; /* default color map */
+ unsigned long white_pixel;
+ unsigned long black_pixel; /* White and Black pixel values */
+ int max_maps, min_maps; /* max and min color maps */
+ int backing_store; /* Never, WhenMapped, Always */
+ Bool save_unders;
+ long root_input_mask; /* initial root input mask */
+} Screen;
+
+/*
+ * Format structure; describes ZFormat data the screen will understand.
+ */
+typedef struct {
+ XExtData *ext_data; /* hook for extension to hang data */
+ int depth; /* depth of this image format */
+ int bits_per_pixel; /* bits/pixel at this depth */
+ int scanline_pad; /* scanline must padded to this multiple */
+} ScreenFormat;
+
+/*
+ * Data structure for setting window attributes.
+ */
+typedef struct {
+ Pixmap background_pixmap; /* background or None or ParentRelative */
+ unsigned long background_pixel; /* background pixel */
+ Pixmap border_pixmap; /* border of the window */
+ unsigned long border_pixel; /* border pixel value */
+ int bit_gravity; /* one of bit gravity values */
+ int win_gravity; /* one of the window gravity values */
+ int backing_store; /* NotUseful, WhenMapped, Always */
+ unsigned long backing_planes;/* planes to be preseved if possible */
+ unsigned long backing_pixel;/* value to use in restoring planes */
+ Bool save_under; /* should bits under be saved? (popups) */
+ long event_mask; /* set of events that should be saved */
+ long do_not_propagate_mask; /* set of events that should not propagate */
+ Bool override_redirect; /* boolean value for override-redirect */
+ Colormap colormap; /* color map to be associated with window */
+ Cursor cursor; /* cursor to be displayed (or None) */
+} XSetWindowAttributes;
+
+typedef struct {
+ int x, y; /* location of window */
+ int width, height; /* width and height of window */
+ int border_width; /* border width of window */
+ int depth; /* depth of window */
+ Visual *visual; /* the associated visual structure */
+ Window root; /* root of screen containing window */
+#if defined(__cplusplus) || defined(c_plusplus)
+ int c_class; /* C++ InputOutput, InputOnly*/
+#else
+ int class; /* InputOutput, InputOnly*/
+#endif
+ int bit_gravity; /* one of bit gravity values */
+ int win_gravity; /* one of the window gravity values */
+ int backing_store; /* NotUseful, WhenMapped, Always */
+ unsigned long backing_planes;/* planes to be preserved if possible */
+ unsigned long backing_pixel;/* value to be used when restoring planes */
+ Bool save_under; /* boolean, should bits under be saved? */
+ Colormap colormap; /* color map to be associated with window */
+ Bool map_installed; /* boolean, is color map currently installed*/
+ int map_state; /* IsUnmapped, IsUnviewable, IsViewable */
+ long all_event_masks; /* set of events all people have interest in*/
+ long your_event_mask; /* my event mask */
+ long do_not_propagate_mask; /* set of events that should not propagate */
+ Bool override_redirect; /* boolean value for override-redirect */
+ Screen *screen; /* back pointer to correct screen */
+} XWindowAttributes;
+
+/*
+ * Data structure for host setting; getting routines.
+ *
+ */
+
+typedef struct {
+ int family; /* for example FamilyInternet */
+ int length; /* length of address, in bytes */
+ char *address; /* pointer to where to find the bytes */
+} XHostAddress;
+
+/*
+ * Data structure for ServerFamilyInterpreted addresses in host routines
+ */
+typedef struct {
+ int typelength; /* length of type string, in bytes */
+ int valuelength; /* length of value string, in bytes */
+ char *type; /* pointer to where to find the type string */
+ char *value; /* pointer to where to find the address */
+} XServerInterpretedAddress;
+
+/*
+ * Data structure for "image" data, used by image manipulation routines.
+ */
+typedef struct _XImage {
+ int width, height; /* size of image */
+ int xoffset; /* number of pixels offset in X direction */
+ int format; /* XYBitmap, XYPixmap, ZPixmap */
+ char *data; /* pointer to image data */
+ int byte_order; /* data byte order, LSBFirst, MSBFirst */
+ int bitmap_unit; /* quant. of scanline 8, 16, 32 */
+ int bitmap_bit_order; /* LSBFirst, MSBFirst */
+ int bitmap_pad; /* 8, 16, 32 either XY or ZPixmap */
+ int depth; /* depth of image */
+ int bytes_per_line; /* accelarator to next line */
+ int bits_per_pixel; /* bits per pixel (ZPixmap) */
+ unsigned long red_mask; /* bits in z arrangment */
+ unsigned long green_mask;
+ unsigned long blue_mask;
+ XPointer obdata; /* hook for the object routines to hang on */
+ struct funcs { /* image manipulation routines */
+ struct _XImage *(*create_image)(
+ struct _XDisplay* /* display */,
+ Visual* /* visual */,
+ unsigned int /* depth */,
+ int /* format */,
+ int /* offset */,
+ char* /* data */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* bitmap_pad */,
+ int /* bytes_per_line */);
+ int (*destroy_image) (struct _XImage *);
+ unsigned long (*get_pixel) (struct _XImage *, int, int);
+ int (*put_pixel) (struct _XImage *, int, int, unsigned long);
+ struct _XImage *(*sub_image)(struct _XImage *, int, int, unsigned int, unsigned int);
+ int (*add_pixel) (struct _XImage *, long);
+ } f;
+} XImage;
+
+/*
+ * Data structure for XReconfigureWindow
+ */
+typedef struct {
+ int x, y;
+ int width, height;
+ int border_width;
+ Window sibling;
+ int stack_mode;
+} XWindowChanges;
+
+/*
+ * Data structure used by color operations
+ */
+typedef struct {
+ unsigned long pixel;
+ unsigned short red, green, blue;
+ char flags; /* do_red, do_green, do_blue */
+ char pad;
+} XColor;
+
+/*
+ * Data structures for graphics operations. On most machines, these are
+ * congruent with the wire protocol structures, so reformatting the data
+ * can be avoided on these architectures.
+ */
+typedef struct {
+ short x1, y1, x2, y2;
+} XSegment;
+
+typedef struct {
+ short x, y;
+} XPoint;
+
+typedef struct {
+ short x, y;
+ unsigned short width, height;
+} XRectangle;
+
+typedef struct {
+ short x, y;
+ unsigned short width, height;
+ short angle1, angle2;
+} XArc;
+
+
+/* Data structure for XChangeKeyboardControl */
+
+typedef struct {
+ int key_click_percent;
+ int bell_percent;
+ int bell_pitch;
+ int bell_duration;
+ int led;
+ int led_mode;
+ int key;
+ int auto_repeat_mode; /* On, Off, Default */
+} XKeyboardControl;
+
+/* Data structure for XGetKeyboardControl */
+
+typedef struct {
+ int key_click_percent;
+ int bell_percent;
+ unsigned int bell_pitch, bell_duration;
+ unsigned long led_mask;
+ int global_auto_repeat;
+ char auto_repeats[32];
+} XKeyboardState;
+
+/* Data structure for XGetMotionEvents. */
+
+typedef struct {
+ Time time;
+ short x, y;
+} XTimeCoord;
+
+/* Data structure for X{Set,Get}ModifierMapping */
+
+typedef struct {
+ int max_keypermod; /* The server's max # of keys per modifier */
+ KeyCode *modifiermap; /* An 8 by max_keypermod array of modifiers */
+} XModifierKeymap;
+
+
+/*
+ * Display datatype maintaining display specific data.
+ * The contents of this structure are implementation dependent.
+ * A Display should be treated as opaque by application code.
+ */
+#ifndef XLIB_ILLEGAL_ACCESS
+typedef struct _XDisplay Display;
+#endif
+
+struct _XPrivate; /* Forward declare before use for C++ */
+struct _XrmHashBucketRec;
+
+typedef struct
+#ifdef XLIB_ILLEGAL_ACCESS
+_XDisplay
+#endif
+{
+ XExtData *ext_data; /* hook for extension to hang data */
+ struct _XPrivate *private1;
+ int fd; /* Network socket. */
+ int private2;
+ int proto_major_version;/* major version of server's X protocol */
+ int proto_minor_version;/* minor version of servers X protocol */
+ char *vendor; /* vendor of the server hardware */
+ XID private3;
+ XID private4;
+ XID private5;
+ int private6;
+ XID (*resource_alloc)( /* allocator function */
+ struct _XDisplay*
+ );
+ int byte_order; /* screen byte order, LSBFirst, MSBFirst */
+ int bitmap_unit; /* padding and data requirements */
+ int bitmap_pad; /* padding requirements on bitmaps */
+ int bitmap_bit_order; /* LeastSignificant or MostSignificant */
+ int nformats; /* number of pixmap formats in list */
+ ScreenFormat *pixmap_format; /* pixmap format list */
+ int private8;
+ int release; /* release of the server */
+ struct _XPrivate *private9, *private10;
+ int qlen; /* Length of input event queue */
+ unsigned long last_request_read; /* seq number of last event read */
+ unsigned long request; /* sequence number of last request. */
+ XPointer private11;
+ XPointer private12;
+ XPointer private13;
+ XPointer private14;
+ unsigned max_request_size; /* maximum number 32 bit words in request*/
+ struct _XrmHashBucketRec *db;
+ int (*private15)(
+ struct _XDisplay*
+ );
+ char *display_name; /* "host:display" string used on this connect*/
+ int default_screen; /* default screen for operations */
+ int nscreens; /* number of screens on this server*/
+ Screen *screens; /* pointer to list of screens */
+ unsigned long motion_buffer; /* size of motion buffer */
+ unsigned long private16;
+ int min_keycode; /* minimum defined keycode */
+ int max_keycode; /* maximum defined keycode */
+ XPointer private17;
+ XPointer private18;
+ int private19;
+ char *xdefaults; /* contents of defaults from server */
+ /* there is more to this structure, but it is private to Xlib */
+}
+#ifdef XLIB_ILLEGAL_ACCESS
+Display,
+#endif
+*_XPrivDisplay;
+
+#undef _XEVENT_
+#ifndef _XEVENT_
+/*
+ * Definitions of specific events.
+ */
+typedef struct {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* "event" window it is reported relative to */
+ Window root; /* root window that the event occurred on */
+ Window subwindow; /* child window */
+ Time time; /* milliseconds */
+ int x, y; /* pointer x, y coordinates in event window */
+ int x_root, y_root; /* coordinates relative to root */
+ unsigned int state; /* key or button mask */
+ unsigned int keycode; /* detail */
+ Bool same_screen; /* same screen flag */
+} XKeyEvent;
+typedef XKeyEvent XKeyPressedEvent;
+typedef XKeyEvent XKeyReleasedEvent;
+
+typedef struct {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* "event" window it is reported relative to */
+ Window root; /* root window that the event occurred on */
+ Window subwindow; /* child window */
+ Time time; /* milliseconds */
+ int x, y; /* pointer x, y coordinates in event window */
+ int x_root, y_root; /* coordinates relative to root */
+ unsigned int state; /* key or button mask */
+ unsigned int button; /* detail */
+ Bool same_screen; /* same screen flag */
+} XButtonEvent;
+typedef XButtonEvent XButtonPressedEvent;
+typedef XButtonEvent XButtonReleasedEvent;
+
+typedef struct {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* "event" window reported relative to */
+ Window root; /* root window that the event occurred on */
+ Window subwindow; /* child window */
+ Time time; /* milliseconds */
+ int x, y; /* pointer x, y coordinates in event window */
+ int x_root, y_root; /* coordinates relative to root */
+ unsigned int state; /* key or button mask */
+ char is_hint; /* detail */
+ Bool same_screen; /* same screen flag */
+} XMotionEvent;
+typedef XMotionEvent XPointerMovedEvent;
+
+typedef struct {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* "event" window reported relative to */
+ Window root; /* root window that the event occurred on */
+ Window subwindow; /* child window */
+ Time time; /* milliseconds */
+ int x, y; /* pointer x, y coordinates in event window */
+ int x_root, y_root; /* coordinates relative to root */
+ int mode; /* NotifyNormal, NotifyGrab, NotifyUngrab */
+ int detail;
+ /*
+ * NotifyAncestor, NotifyVirtual, NotifyInferior,
+ * NotifyNonlinear,NotifyNonlinearVirtual
+ */
+ Bool same_screen; /* same screen flag */
+ Bool focus; /* boolean focus */
+ unsigned int state; /* key or button mask */
+} XCrossingEvent;
+typedef XCrossingEvent XEnterWindowEvent;
+typedef XCrossingEvent XLeaveWindowEvent;
+
+typedef struct {
+ int type; /* FocusIn or FocusOut */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* window of event */
+ int mode; /* NotifyNormal, NotifyWhileGrabbed,
+ NotifyGrab, NotifyUngrab */
+ int detail;
+ /*
+ * NotifyAncestor, NotifyVirtual, NotifyInferior,
+ * NotifyNonlinear,NotifyNonlinearVirtual, NotifyPointer,
+ * NotifyPointerRoot, NotifyDetailNone
+ */
+} XFocusChangeEvent;
+typedef XFocusChangeEvent XFocusInEvent;
+typedef XFocusChangeEvent XFocusOutEvent;
+
+/* generated on EnterWindow and FocusIn when KeyMapState selected */
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ char key_vector[32];
+} XKeymapEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ int x, y;
+ int width, height;
+ int count; /* if non-zero, at least this many more */
+} XExposeEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Drawable drawable;
+ int x, y;
+ int width, height;
+ int count; /* if non-zero, at least this many more */
+ int major_code; /* core is CopyArea or CopyPlane */
+ int minor_code; /* not defined in the core */
+} XGraphicsExposeEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Drawable drawable;
+ int major_code; /* core is CopyArea or CopyPlane */
+ int minor_code; /* not defined in the core */
+} XNoExposeEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ int state; /* Visibility state */
+} XVisibilityEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window parent; /* parent of the window */
+ Window window; /* window id of window created */
+ int x, y; /* window location */
+ int width, height; /* size of window */
+ int border_width; /* border width */
+ Bool override_redirect; /* creation should be overridden */
+} XCreateWindowEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+} XDestroyWindowEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+ Bool from_configure;
+} XUnmapEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+ Bool override_redirect; /* boolean, is override set... */
+} XMapEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window parent;
+ Window window;
+} XMapRequestEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+ Window parent;
+ int x, y;
+ Bool override_redirect;
+} XReparentEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+ int x, y;
+ int width, height;
+ int border_width;
+ Window above;
+ Bool override_redirect;
+} XConfigureEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+ int x, y;
+} XGravityEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ int width, height;
+} XResizeRequestEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window parent;
+ Window window;
+ int x, y;
+ int width, height;
+ int border_width;
+ Window above;
+ int detail; /* Above, Below, TopIf, BottomIf, Opposite */
+ unsigned long value_mask;
+} XConfigureRequestEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+ int place; /* PlaceOnTop, PlaceOnBottom */
+} XCirculateEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window parent;
+ Window window;
+ int place; /* PlaceOnTop, PlaceOnBottom */
+} XCirculateRequestEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ Atom atom;
+ Time time;
+ int state; /* NewValue, Deleted */
+} XPropertyEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ Atom selection;
+ Time time;
+} XSelectionClearEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window owner;
+ Window requestor;
+ Atom selection;
+ Atom target;
+ Atom property;
+ Time time;
+} XSelectionRequestEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window requestor;
+ Atom selection;
+ Atom target;
+ Atom property; /* ATOM or None */
+ Time time;
+} XSelectionEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ Colormap colormap; /* COLORMAP or None */
+#if defined(__cplusplus) || defined(c_plusplus)
+ Bool c_new; /* C++ */
+#else
+ Bool new;
+#endif
+ int state; /* ColormapInstalled, ColormapUninstalled */
+} XColormapEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ Atom message_type;
+ int format;
+ union {
+ char b[20];
+ short s[10];
+ long l[5];
+ } data;
+} XClientMessageEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* unused */
+ int request; /* one of MappingModifier, MappingKeyboard,
+ MappingPointer */
+ int first_keycode; /* first keycode */
+ int count; /* defines range of change w. first_keycode*/
+} XMappingEvent;
+
+typedef struct {
+ int type;
+ Display *display; /* Display the event was read from */
+ XID resourceid; /* resource id */
+ unsigned long serial; /* serial number of failed request */
+ unsigned char error_code; /* error code of failed request */
+ unsigned char request_code; /* Major op-code of failed request */
+ unsigned char minor_code; /* Minor op-code of failed request */
+} XErrorEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display;/* Display the event was read from */
+ Window window; /* window on which event was requested in event mask */
+} XAnyEvent;
+
+
+/***************************************************************
+ *
+ * GenericEvent. This event is the standard event for all newer extensions.
+ */
+
+typedef struct
+ {
+ int type; /* of event. Always GenericEvent */
+ unsigned long serial; /* # of last request processed */
+ Bool send_event; /* true if from SendEvent request */
+ Display *display; /* Display the event was read from */
+ int extension; /* major opcode of extension that caused the event */
+ int evtype; /* actual event type. */
+ } XGenericEvent;
+
+typedef struct {
+ int type; /* of event. Always GenericEvent */
+ unsigned long serial; /* # of last request processed */
+ Bool send_event; /* true if from SendEvent request */
+ Display *display; /* Display the event was read from */
+ int extension; /* major opcode of extension that caused the event */
+ int evtype; /* actual event type. */
+ unsigned int cookie;
+ void *data;
+} XGenericEventCookie;
+
+/*
+ * this union is defined so Xlib can always use the same sized
+ * event structure internally, to avoid memory fragmentation.
+ */
+typedef union _XEvent {
+ int type; /* must not be changed; first element */
+ XAnyEvent xany;
+ XKeyEvent xkey;
+ XButtonEvent xbutton;
+ XMotionEvent xmotion;
+ XCrossingEvent xcrossing;
+ XFocusChangeEvent xfocus;
+ XExposeEvent xexpose;
+ XGraphicsExposeEvent xgraphicsexpose;
+ XNoExposeEvent xnoexpose;
+ XVisibilityEvent xvisibility;
+ XCreateWindowEvent xcreatewindow;
+ XDestroyWindowEvent xdestroywindow;
+ XUnmapEvent xunmap;
+ XMapEvent xmap;
+ XMapRequestEvent xmaprequest;
+ XReparentEvent xreparent;
+ XConfigureEvent xconfigure;
+ XGravityEvent xgravity;
+ XResizeRequestEvent xresizerequest;
+ XConfigureRequestEvent xconfigurerequest;
+ XCirculateEvent xcirculate;
+ XCirculateRequestEvent xcirculaterequest;
+ XPropertyEvent xproperty;
+ XSelectionClearEvent xselectionclear;
+ XSelectionRequestEvent xselectionrequest;
+ XSelectionEvent xselection;
+ XColormapEvent xcolormap;
+ XClientMessageEvent xclient;
+ XMappingEvent xmapping;
+ XErrorEvent xerror;
+ XKeymapEvent xkeymap;
+ XGenericEvent xgeneric;
+ XGenericEventCookie xcookie;
+ long pad[24];
+} XEvent;
+#endif
+
+#define XAllocID(dpy) ((*((_XPrivDisplay)dpy)->resource_alloc)((dpy)))
+
+/*
+ * per character font metric information.
+ */
+typedef struct {
+ short lbearing; /* origin to left edge of raster */
+ short rbearing; /* origin to right edge of raster */
+ short width; /* advance to next char's origin */
+ short ascent; /* baseline to top edge of raster */
+ short descent; /* baseline to bottom edge of raster */
+ unsigned short attributes; /* per char flags (not predefined) */
+} XCharStruct;
+
+/*
+ * To allow arbitrary information with fonts, there are additional properties
+ * returned.
+ */
+typedef struct {
+ Atom name;
+ unsigned long card32;
+} XFontProp;
+
+typedef struct {
+ XExtData *ext_data; /* hook for extension to hang data */
+ Font fid; /* Font id for this font */
+ unsigned direction; /* hint about direction the font is painted */
+ unsigned min_char_or_byte2;/* first character */
+ unsigned max_char_or_byte2;/* last character */
+ unsigned min_byte1; /* first row that exists */
+ unsigned max_byte1; /* last row that exists */
+ Bool all_chars_exist;/* flag if all characters have non-zero size*/
+ unsigned default_char; /* char to print for undefined character */
+ int n_properties; /* how many properties there are */
+ XFontProp *properties; /* pointer to array of additional properties*/
+ XCharStruct min_bounds; /* minimum bounds over all existing char*/
+ XCharStruct max_bounds; /* maximum bounds over all existing char*/
+ XCharStruct *per_char; /* first_char to last_char information */
+ int ascent; /* log. extent above baseline for spacing */
+ int descent; /* log. descent below baseline for spacing */
+} XFontStruct;
+
+/*
+ * PolyText routines take these as arguments.
+ */
+typedef struct {
+ char *chars; /* pointer to string */
+ int nchars; /* number of characters */
+ int delta; /* delta between strings */
+ Font font; /* font to print it in, None don't change */
+} XTextItem;
+
+typedef struct { /* normal 16 bit characters are two bytes */
+ unsigned char byte1;
+ unsigned char byte2;
+} XChar2b;
+
+typedef struct {
+ XChar2b *chars; /* two byte characters */
+ int nchars; /* number of characters */
+ int delta; /* delta between strings */
+ Font font; /* font to print it in, None don't change */
+} XTextItem16;
+
+
+typedef union { Display *display;
+ GC gc;
+ Visual *visual;
+ Screen *screen;
+ ScreenFormat *pixmap_format;
+ XFontStruct *font; } XEDataObject;
+
+typedef struct {
+ XRectangle max_ink_extent;
+ XRectangle max_logical_extent;
+} XFontSetExtents;
+
+/* unused:
+typedef void (*XOMProc)();
+ */
+
+typedef struct _XOM *XOM;
+typedef struct _XOC *XOC, *XFontSet;
+
+typedef struct {
+ char *chars;
+ int nchars;
+ int delta;
+ XFontSet font_set;
+} XmbTextItem;
+
+typedef struct {
+ wchar_t *chars;
+ int nchars;
+ int delta;
+ XFontSet font_set;
+} XwcTextItem;
+
+#define XNRequiredCharSet "requiredCharSet"
+#define XNQueryOrientation "queryOrientation"
+#define XNBaseFontName "baseFontName"
+#define XNOMAutomatic "omAutomatic"
+#define XNMissingCharSet "missingCharSet"
+#define XNDefaultString "defaultString"
+#define XNOrientation "orientation"
+#define XNDirectionalDependentDrawing "directionalDependentDrawing"
+#define XNContextualDrawing "contextualDrawing"
+#define XNFontInfo "fontInfo"
+
+typedef struct {
+ int charset_count;
+ char **charset_list;
+} XOMCharSetList;
+
+typedef enum {
+ XOMOrientation_LTR_TTB,
+ XOMOrientation_RTL_TTB,
+ XOMOrientation_TTB_LTR,
+ XOMOrientation_TTB_RTL,
+ XOMOrientation_Context
+} XOrientation;
+
+typedef struct {
+ int num_orientation;
+ XOrientation *orientation; /* Input Text description */
+} XOMOrientation;
+
+typedef struct {
+ int num_font;
+ XFontStruct **font_struct_list;
+ char **font_name_list;
+} XOMFontInfo;
+
+typedef struct _XIM *XIM;
+typedef struct _XIC *XIC;
+
+typedef void (*XIMProc)(
+ XIM,
+ XPointer,
+ XPointer
+);
+
+typedef Bool (*XICProc)(
+ XIC,
+ XPointer,
+ XPointer
+);
+
+typedef void (*XIDProc)(
+ Display*,
+ XPointer,
+ XPointer
+);
+
+typedef unsigned long XIMStyle;
+
+typedef struct {
+ unsigned short count_styles;
+ XIMStyle *supported_styles;
+} XIMStyles;
+
+#define XIMPreeditArea 0x0001L
+#define XIMPreeditCallbacks 0x0002L
+#define XIMPreeditPosition 0x0004L
+#define XIMPreeditNothing 0x0008L
+#define XIMPreeditNone 0x0010L
+#define XIMStatusArea 0x0100L
+#define XIMStatusCallbacks 0x0200L
+#define XIMStatusNothing 0x0400L
+#define XIMStatusNone 0x0800L
+
+#define XNVaNestedList "XNVaNestedList"
+#define XNQueryInputStyle "queryInputStyle"
+#define XNClientWindow "clientWindow"
+#define XNInputStyle "inputStyle"
+#define XNFocusWindow "focusWindow"
+#define XNResourceName "resourceName"
+#define XNResourceClass "resourceClass"
+#define XNGeometryCallback "geometryCallback"
+#define XNDestroyCallback "destroyCallback"
+#define XNFilterEvents "filterEvents"
+#define XNPreeditStartCallback "preeditStartCallback"
+#define XNPreeditDoneCallback "preeditDoneCallback"
+#define XNPreeditDrawCallback "preeditDrawCallback"
+#define XNPreeditCaretCallback "preeditCaretCallback"
+#define XNPreeditStateNotifyCallback "preeditStateNotifyCallback"
+#define XNPreeditAttributes "preeditAttributes"
+#define XNStatusStartCallback "statusStartCallback"
+#define XNStatusDoneCallback "statusDoneCallback"
+#define XNStatusDrawCallback "statusDrawCallback"
+#define XNStatusAttributes "statusAttributes"
+#define XNArea "area"
+#define XNAreaNeeded "areaNeeded"
+#define XNSpotLocation "spotLocation"
+#define XNColormap "colorMap"
+#define XNStdColormap "stdColorMap"
+#define XNForeground "foreground"
+#define XNBackground "background"
+#define XNBackgroundPixmap "backgroundPixmap"
+#define XNFontSet "fontSet"
+#define XNLineSpace "lineSpace"
+#define XNCursor "cursor"
+
+#define XNQueryIMValuesList "queryIMValuesList"
+#define XNQueryICValuesList "queryICValuesList"
+#define XNVisiblePosition "visiblePosition"
+#define XNR6PreeditCallback "r6PreeditCallback"
+#define XNStringConversionCallback "stringConversionCallback"
+#define XNStringConversion "stringConversion"
+#define XNResetState "resetState"
+#define XNHotKey "hotKey"
+#define XNHotKeyState "hotKeyState"
+#define XNPreeditState "preeditState"
+#define XNSeparatorofNestedList "separatorofNestedList"
+
+#define XBufferOverflow -1
+#define XLookupNone 1
+#define XLookupChars 2
+#define XLookupKeySym 3
+#define XLookupBoth 4
+
+typedef void *XVaNestedList;
+
+typedef struct {
+ XPointer client_data;
+ XIMProc callback;
+} XIMCallback;
+
+typedef struct {
+ XPointer client_data;
+ XICProc callback;
+} XICCallback;
+
+typedef unsigned long XIMFeedback;
+
+#define XIMReverse 1L
+#define XIMUnderline (1L<<1)
+#define XIMHighlight (1L<<2)
+#define XIMPrimary (1L<<5)
+#define XIMSecondary (1L<<6)
+#define XIMTertiary (1L<<7)
+#define XIMVisibleToForward (1L<<8)
+#define XIMVisibleToBackword (1L<<9)
+#define XIMVisibleToCenter (1L<<10)
+
+typedef struct _XIMText {
+ unsigned short length;
+ XIMFeedback *feedback;
+ Bool encoding_is_wchar;
+ union {
+ char *multi_byte;
+ wchar_t *wide_char;
+ } string;
+} XIMText;
+
+typedef unsigned long XIMPreeditState;
+
+#define XIMPreeditUnKnown 0L
+#define XIMPreeditEnable 1L
+#define XIMPreeditDisable (1L<<1)
+
+typedef struct _XIMPreeditStateNotifyCallbackStruct {
+ XIMPreeditState state;
+} XIMPreeditStateNotifyCallbackStruct;
+
+typedef unsigned long XIMResetState;
+
+#define XIMInitialState 1L
+#define XIMPreserveState (1L<<1)
+
+typedef unsigned long XIMStringConversionFeedback;
+
+#define XIMStringConversionLeftEdge (0x00000001)
+#define XIMStringConversionRightEdge (0x00000002)
+#define XIMStringConversionTopEdge (0x00000004)
+#define XIMStringConversionBottomEdge (0x00000008)
+#define XIMStringConversionConcealed (0x00000010)
+#define XIMStringConversionWrapped (0x00000020)
+
+typedef struct _XIMStringConversionText {
+ unsigned short length;
+ XIMStringConversionFeedback *feedback;
+ Bool encoding_is_wchar;
+ union {
+ char *mbs;
+ wchar_t *wcs;
+ } string;
+} XIMStringConversionText;
+
+typedef unsigned short XIMStringConversionPosition;
+
+typedef unsigned short XIMStringConversionType;
+
+#define XIMStringConversionBuffer (0x0001)
+#define XIMStringConversionLine (0x0002)
+#define XIMStringConversionWord (0x0003)
+#define XIMStringConversionChar (0x0004)
+
+typedef unsigned short XIMStringConversionOperation;
+
+#define XIMStringConversionSubstitution (0x0001)
+#define XIMStringConversionRetrieval (0x0002)
+
+typedef enum {
+ XIMForwardChar, XIMBackwardChar,
+ XIMForwardWord, XIMBackwardWord,
+ XIMCaretUp, XIMCaretDown,
+ XIMNextLine, XIMPreviousLine,
+ XIMLineStart, XIMLineEnd,
+ XIMAbsolutePosition,
+ XIMDontChange
+} XIMCaretDirection;
+
+typedef struct _XIMStringConversionCallbackStruct {
+ XIMStringConversionPosition position;
+ XIMCaretDirection direction;
+ XIMStringConversionOperation operation;
+ unsigned short factor;
+ XIMStringConversionText *text;
+} XIMStringConversionCallbackStruct;
+
+typedef struct _XIMPreeditDrawCallbackStruct {
+ int caret; /* Cursor offset within pre-edit string */
+ int chg_first; /* Starting change position */
+ int chg_length; /* Length of the change in character count */
+ XIMText *text;
+} XIMPreeditDrawCallbackStruct;
+
+typedef enum {
+ XIMIsInvisible, /* Disable caret feedback */
+ XIMIsPrimary, /* UI defined caret feedback */
+ XIMIsSecondary /* UI defined caret feedback */
+} XIMCaretStyle;
+
+typedef struct _XIMPreeditCaretCallbackStruct {
+ int position; /* Caret offset within pre-edit string */
+ XIMCaretDirection direction; /* Caret moves direction */
+ XIMCaretStyle style; /* Feedback of the caret */
+} XIMPreeditCaretCallbackStruct;
+
+typedef enum {
+ XIMTextType,
+ XIMBitmapType
+} XIMStatusDataType;
+
+typedef struct _XIMStatusDrawCallbackStruct {
+ XIMStatusDataType type;
+ union {
+ XIMText *text;
+ Pixmap bitmap;
+ } data;
+} XIMStatusDrawCallbackStruct;
+
+typedef struct _XIMHotKeyTrigger {
+ KeySym keysym;
+ int modifier;
+ int modifier_mask;
+} XIMHotKeyTrigger;
+
+typedef struct _XIMHotKeyTriggers {
+ int num_hot_key;
+ XIMHotKeyTrigger *key;
+} XIMHotKeyTriggers;
+
+typedef unsigned long XIMHotKeyState;
+
+#define XIMHotKeyStateON (0x0001L)
+#define XIMHotKeyStateOFF (0x0002L)
+
+typedef struct {
+ unsigned short count_values;
+ char **supported_values;
+} XIMValuesList;
+
+_XFUNCPROTOBEGIN
+
+#if defined(WIN32) && !defined(_XLIBINT_)
+#define _Xdebug (*_Xdebug_p)
+#endif
+
+extern int _Xdebug;
+
+extern XFontStruct *XLoadQueryFont(
+ Display* /* display */,
+ _Xconst char* /* name */
+);
+
+extern XFontStruct *XQueryFont(
+ Display* /* display */,
+ XID /* font_ID */
+);
+
+
+extern XTimeCoord *XGetMotionEvents(
+ Display* /* display */,
+ Window /* w */,
+ Time /* start */,
+ Time /* stop */,
+ int* /* nevents_return */
+);
+
+extern XModifierKeymap *XDeleteModifiermapEntry(
+ XModifierKeymap* /* modmap */,
+#if NeedWidePrototypes
+ unsigned int /* keycode_entry */,
+#else
+ KeyCode /* keycode_entry */,
+#endif
+ int /* modifier */
+);
+
+extern XModifierKeymap *XGetModifierMapping(
+ Display* /* display */
+);
+
+extern XModifierKeymap *XInsertModifiermapEntry(
+ XModifierKeymap* /* modmap */,
+#if NeedWidePrototypes
+ unsigned int /* keycode_entry */,
+#else
+ KeyCode /* keycode_entry */,
+#endif
+ int /* modifier */
+);
+
+extern XModifierKeymap *XNewModifiermap(
+ int /* max_keys_per_mod */
+);
+
+extern XImage *XCreateImage(
+ Display* /* display */,
+ Visual* /* visual */,
+ unsigned int /* depth */,
+ int /* format */,
+ int /* offset */,
+ char* /* data */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* bitmap_pad */,
+ int /* bytes_per_line */
+);
+extern Status XInitImage(
+ XImage* /* image */
+);
+extern XImage *XGetImage(
+ Display* /* display */,
+ Drawable /* d */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned long /* plane_mask */,
+ int /* format */
+);
+extern XImage *XGetSubImage(
+ Display* /* display */,
+ Drawable /* d */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned long /* plane_mask */,
+ int /* format */,
+ XImage* /* dest_image */,
+ int /* dest_x */,
+ int /* dest_y */
+);
+
+/*
+ * X function declarations.
+ */
+extern Display *XOpenDisplay(
+ _Xconst char* /* display_name */
+);
+
+extern void XrmInitialize(
+ void
+);
+
+extern char *XFetchBytes(
+ Display* /* display */,
+ int* /* nbytes_return */
+);
+extern char *XFetchBuffer(
+ Display* /* display */,
+ int* /* nbytes_return */,
+ int /* buffer */
+);
+extern char *XGetAtomName(
+ Display* /* display */,
+ Atom /* atom */
+);
+extern Status XGetAtomNames(
+ Display* /* dpy */,
+ Atom* /* atoms */,
+ int /* count */,
+ char** /* names_return */
+);
+extern char *XGetDefault(
+ Display* /* display */,
+ _Xconst char* /* program */,
+ _Xconst char* /* option */
+);
+extern char *XDisplayName(
+ _Xconst char* /* string */
+);
+extern char *XKeysymToString(
+ KeySym /* keysym */
+);
+
+extern int (*XSynchronize(
+ Display* /* display */,
+ Bool /* onoff */
+))(
+ Display* /* display */
+);
+extern int (*XSetAfterFunction(
+ Display* /* display */,
+ int (*) (
+ Display* /* display */
+ ) /* procedure */
+))(
+ Display* /* display */
+);
+extern Atom XInternAtom(
+ Display* /* display */,
+ _Xconst char* /* atom_name */,
+ Bool /* only_if_exists */
+);
+extern Status XInternAtoms(
+ Display* /* dpy */,
+ char** /* names */,
+ int /* count */,
+ Bool /* onlyIfExists */,
+ Atom* /* atoms_return */
+);
+extern Colormap XCopyColormapAndFree(
+ Display* /* display */,
+ Colormap /* colormap */
+);
+extern Colormap XCreateColormap(
+ Display* /* display */,
+ Window /* w */,
+ Visual* /* visual */,
+ int /* alloc */
+);
+extern Cursor XCreatePixmapCursor(
+ Display* /* display */,
+ Pixmap /* source */,
+ Pixmap /* mask */,
+ XColor* /* foreground_color */,
+ XColor* /* background_color */,
+ unsigned int /* x */,
+ unsigned int /* y */
+);
+extern Cursor XCreateGlyphCursor(
+ Display* /* display */,
+ Font /* source_font */,
+ Font /* mask_font */,
+ unsigned int /* source_char */,
+ unsigned int /* mask_char */,
+ XColor _Xconst * /* foreground_color */,
+ XColor _Xconst * /* background_color */
+);
+extern Cursor XCreateFontCursor(
+ Display* /* display */,
+ unsigned int /* shape */
+);
+extern Font XLoadFont(
+ Display* /* display */,
+ _Xconst char* /* name */
+);
+extern GC XCreateGC(
+ Display* /* display */,
+ Drawable /* d */,
+ unsigned long /* valuemask */,
+ XGCValues* /* values */
+);
+extern GContext XGContextFromGC(
+ GC /* gc */
+);
+extern void XFlushGC(
+ Display* /* display */,
+ GC /* gc */
+);
+extern Pixmap XCreatePixmap(
+ Display* /* display */,
+ Drawable /* d */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int /* depth */
+);
+extern Pixmap XCreateBitmapFromData(
+ Display* /* display */,
+ Drawable /* d */,
+ _Xconst char* /* data */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+extern Pixmap XCreatePixmapFromBitmapData(
+ Display* /* display */,
+ Drawable /* d */,
+ char* /* data */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned long /* fg */,
+ unsigned long /* bg */,
+ unsigned int /* depth */
+);
+extern Window XCreateSimpleWindow(
+ Display* /* display */,
+ Window /* parent */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int /* border_width */,
+ unsigned long /* border */,
+ unsigned long /* background */
+);
+extern Window XGetSelectionOwner(
+ Display* /* display */,
+ Atom /* selection */
+);
+extern Window XCreateWindow(
+ Display* /* display */,
+ Window /* parent */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int /* border_width */,
+ int /* depth */,
+ unsigned int /* class */,
+ Visual* /* visual */,
+ unsigned long /* valuemask */,
+ XSetWindowAttributes* /* attributes */
+);
+extern Colormap *XListInstalledColormaps(
+ Display* /* display */,
+ Window /* w */,
+ int* /* num_return */
+);
+extern char **XListFonts(
+ Display* /* display */,
+ _Xconst char* /* pattern */,
+ int /* maxnames */,
+ int* /* actual_count_return */
+);
+extern char **XListFontsWithInfo(
+ Display* /* display */,
+ _Xconst char* /* pattern */,
+ int /* maxnames */,
+ int* /* count_return */,
+ XFontStruct** /* info_return */
+);
+extern char **XGetFontPath(
+ Display* /* display */,
+ int* /* npaths_return */
+);
+extern char **XListExtensions(
+ Display* /* display */,
+ int* /* nextensions_return */
+);
+extern Atom *XListProperties(
+ Display* /* display */,
+ Window /* w */,
+ int* /* num_prop_return */
+);
+extern XHostAddress *XListHosts(
+ Display* /* display */,
+ int* /* nhosts_return */,
+ Bool* /* state_return */
+);
+extern KeySym XKeycodeToKeysym(
+ Display* /* display */,
+#if NeedWidePrototypes
+ unsigned int /* keycode */,
+#else
+ KeyCode /* keycode */,
+#endif
+ int /* index */
+);
+extern KeySym XLookupKeysym(
+ XKeyEvent* /* key_event */,
+ int /* index */
+);
+extern KeySym *XGetKeyboardMapping(
+ Display* /* display */,
+#if NeedWidePrototypes
+ unsigned int /* first_keycode */,
+#else
+ KeyCode /* first_keycode */,
+#endif
+ int /* keycode_count */,
+ int* /* keysyms_per_keycode_return */
+);
+extern KeySym XStringToKeysym(
+ _Xconst char* /* string */
+);
+extern long XMaxRequestSize(
+ Display* /* display */
+);
+extern long XExtendedMaxRequestSize(
+ Display* /* display */
+);
+extern char *XResourceManagerString(
+ Display* /* display */
+);
+extern char *XScreenResourceString(
+ Screen* /* screen */
+);
+extern unsigned long XDisplayMotionBufferSize(
+ Display* /* display */
+);
+extern VisualID XVisualIDFromVisual(
+ Visual* /* visual */
+);
+
+/* multithread routines */
+
+extern Status XInitThreads(
+ void
+);
+
+extern void XLockDisplay(
+ Display* /* display */
+);
+
+extern void XUnlockDisplay(
+ Display* /* display */
+);
+
+/* routines for dealing with extensions */
+
+extern XExtCodes *XInitExtension(
+ Display* /* display */,
+ _Xconst char* /* name */
+);
+
+extern XExtCodes *XAddExtension(
+ Display* /* display */
+);
+extern XExtData *XFindOnExtensionList(
+ XExtData** /* structure */,
+ int /* number */
+);
+extern XExtData **XEHeadOfExtensionList(
+ XEDataObject /* object */
+);
+
+/* these are routines for which there are also macros */
+extern Window XRootWindow(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern Window XDefaultRootWindow(
+ Display* /* display */
+);
+extern Window XRootWindowOfScreen(
+ Screen* /* screen */
+);
+extern Visual *XDefaultVisual(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern Visual *XDefaultVisualOfScreen(
+ Screen* /* screen */
+);
+extern GC XDefaultGC(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern GC XDefaultGCOfScreen(
+ Screen* /* screen */
+);
+extern unsigned long XBlackPixel(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern unsigned long XWhitePixel(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern unsigned long XAllPlanes(
+ void
+);
+extern unsigned long XBlackPixelOfScreen(
+ Screen* /* screen */
+);
+extern unsigned long XWhitePixelOfScreen(
+ Screen* /* screen */
+);
+extern unsigned long XNextRequest(
+ Display* /* display */
+);
+extern unsigned long XLastKnownRequestProcessed(
+ Display* /* display */
+);
+extern char *XServerVendor(
+ Display* /* display */
+);
+extern char *XDisplayString(
+ Display* /* display */
+);
+extern Colormap XDefaultColormap(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern Colormap XDefaultColormapOfScreen(
+ Screen* /* screen */
+);
+extern Display *XDisplayOfScreen(
+ Screen* /* screen */
+);
+extern Screen *XScreenOfDisplay(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern Screen *XDefaultScreenOfDisplay(
+ Display* /* display */
+);
+extern long XEventMaskOfScreen(
+ Screen* /* screen */
+);
+
+extern int XScreenNumberOfScreen(
+ Screen* /* screen */
+);
+
+typedef int (*XErrorHandler) ( /* WARNING, this type not in Xlib spec */
+ Display* /* display */,
+ XErrorEvent* /* error_event */
+);
+
+extern XErrorHandler XSetErrorHandler (
+ XErrorHandler /* handler */
+);
+
+
+typedef int (*XIOErrorHandler) ( /* WARNING, this type not in Xlib spec */
+ Display* /* display */
+);
+
+extern XIOErrorHandler XSetIOErrorHandler (
+ XIOErrorHandler /* handler */
+);
+
+
+extern XPixmapFormatValues *XListPixmapFormats(
+ Display* /* display */,
+ int* /* count_return */
+);
+extern int *XListDepths(
+ Display* /* display */,
+ int /* screen_number */,
+ int* /* count_return */
+);
+
+/* ICCCM routines for things that don't require special include files; */
+/* other declarations are given in Xutil.h */
+extern Status XReconfigureWMWindow(
+ Display* /* display */,
+ Window /* w */,
+ int /* screen_number */,
+ unsigned int /* mask */,
+ XWindowChanges* /* changes */
+);
+
+extern Status XGetWMProtocols(
+ Display* /* display */,
+ Window /* w */,
+ Atom** /* protocols_return */,
+ int* /* count_return */
+);
+extern Status XSetWMProtocols(
+ Display* /* display */,
+ Window /* w */,
+ Atom* /* protocols */,
+ int /* count */
+);
+extern Status XIconifyWindow(
+ Display* /* display */,
+ Window /* w */,
+ int /* screen_number */
+);
+extern Status XWithdrawWindow(
+ Display* /* display */,
+ Window /* w */,
+ int /* screen_number */
+);
+extern Status XGetCommand(
+ Display* /* display */,
+ Window /* w */,
+ char*** /* argv_return */,
+ int* /* argc_return */
+);
+extern Status XGetWMColormapWindows(
+ Display* /* display */,
+ Window /* w */,
+ Window** /* windows_return */,
+ int* /* count_return */
+);
+extern Status XSetWMColormapWindows(
+ Display* /* display */,
+ Window /* w */,
+ Window* /* colormap_windows */,
+ int /* count */
+);
+extern void XFreeStringList(
+ char** /* list */
+);
+extern int XSetTransientForHint(
+ Display* /* display */,
+ Window /* w */,
+ Window /* prop_window */
+);
+
+/* The following are given in alphabetical order */
+
+extern int XActivateScreenSaver(
+ Display* /* display */
+);
+
+extern int XAddHost(
+ Display* /* display */,
+ XHostAddress* /* host */
+);
+
+extern int XAddHosts(
+ Display* /* display */,
+ XHostAddress* /* hosts */,
+ int /* num_hosts */
+);
+
+extern int XAddToExtensionList(
+ struct _XExtData** /* structure */,
+ XExtData* /* ext_data */
+);
+
+extern int XAddToSaveSet(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern Status XAllocColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ XColor* /* screen_in_out */
+);
+
+extern Status XAllocColorCells(
+ Display* /* display */,
+ Colormap /* colormap */,
+ Bool /* contig */,
+ unsigned long* /* plane_masks_return */,
+ unsigned int /* nplanes */,
+ unsigned long* /* pixels_return */,
+ unsigned int /* npixels */
+);
+
+extern Status XAllocColorPlanes(
+ Display* /* display */,
+ Colormap /* colormap */,
+ Bool /* contig */,
+ unsigned long* /* pixels_return */,
+ int /* ncolors */,
+ int /* nreds */,
+ int /* ngreens */,
+ int /* nblues */,
+ unsigned long* /* rmask_return */,
+ unsigned long* /* gmask_return */,
+ unsigned long* /* bmask_return */
+);
+
+extern Status XAllocNamedColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ _Xconst char* /* color_name */,
+ XColor* /* screen_def_return */,
+ XColor* /* exact_def_return */
+);
+
+extern int XAllowEvents(
+ Display* /* display */,
+ int /* event_mode */,
+ Time /* time */
+);
+
+extern int XAutoRepeatOff(
+ Display* /* display */
+);
+
+extern int XAutoRepeatOn(
+ Display* /* display */
+);
+
+extern int XBell(
+ Display* /* display */,
+ int /* percent */
+);
+
+extern int XBitmapBitOrder(
+ Display* /* display */
+);
+
+extern int XBitmapPad(
+ Display* /* display */
+);
+
+extern int XBitmapUnit(
+ Display* /* display */
+);
+
+extern int XCellsOfScreen(
+ Screen* /* screen */
+);
+
+extern int XChangeActivePointerGrab(
+ Display* /* display */,
+ unsigned int /* event_mask */,
+ Cursor /* cursor */,
+ Time /* time */
+);
+
+extern int XChangeGC(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned long /* valuemask */,
+ XGCValues* /* values */
+);
+
+extern int XChangeKeyboardControl(
+ Display* /* display */,
+ unsigned long /* value_mask */,
+ XKeyboardControl* /* values */
+);
+
+extern int XChangeKeyboardMapping(
+ Display* /* display */,
+ int /* first_keycode */,
+ int /* keysyms_per_keycode */,
+ KeySym* /* keysyms */,
+ int /* num_codes */
+);
+
+extern int XChangePointerControl(
+ Display* /* display */,
+ Bool /* do_accel */,
+ Bool /* do_threshold */,
+ int /* accel_numerator */,
+ int /* accel_denominator */,
+ int /* threshold */
+);
+
+extern int XChangeProperty(
+ Display* /* display */,
+ Window /* w */,
+ Atom /* property */,
+ Atom /* type */,
+ int /* format */,
+ int /* mode */,
+ _Xconst unsigned char* /* data */,
+ int /* nelements */
+);
+
+extern int XChangeSaveSet(
+ Display* /* display */,
+ Window /* w */,
+ int /* change_mode */
+);
+
+extern int XChangeWindowAttributes(
+ Display* /* display */,
+ Window /* w */,
+ unsigned long /* valuemask */,
+ XSetWindowAttributes* /* attributes */
+);
+
+extern Bool XCheckIfEvent(
+ Display* /* display */,
+ XEvent* /* event_return */,
+ Bool (*) (
+ Display* /* display */,
+ XEvent* /* event */,
+ XPointer /* arg */
+ ) /* predicate */,
+ XPointer /* arg */
+);
+
+extern Bool XCheckMaskEvent(
+ Display* /* display */,
+ long /* event_mask */,
+ XEvent* /* event_return */
+);
+
+extern Bool XCheckTypedEvent(
+ Display* /* display */,
+ int /* event_type */,
+ XEvent* /* event_return */
+);
+
+extern Bool XCheckTypedWindowEvent(
+ Display* /* display */,
+ Window /* w */,
+ int /* event_type */,
+ XEvent* /* event_return */
+);
+
+extern Bool XCheckWindowEvent(
+ Display* /* display */,
+ Window /* w */,
+ long /* event_mask */,
+ XEvent* /* event_return */
+);
+
+extern int XCirculateSubwindows(
+ Display* /* display */,
+ Window /* w */,
+ int /* direction */
+);
+
+extern int XCirculateSubwindowsDown(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XCirculateSubwindowsUp(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XClearArea(
+ Display* /* display */,
+ Window /* w */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ Bool /* exposures */
+);
+
+extern int XClearWindow(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XCloseDisplay(
+ Display* /* display */
+);
+
+extern int XConfigureWindow(
+ Display* /* display */,
+ Window /* w */,
+ unsigned int /* value_mask */,
+ XWindowChanges* /* values */
+);
+
+extern int XConnectionNumber(
+ Display* /* display */
+);
+
+extern int XConvertSelection(
+ Display* /* display */,
+ Atom /* selection */,
+ Atom /* target */,
+ Atom /* property */,
+ Window /* requestor */,
+ Time /* time */
+);
+
+extern int XCopyArea(
+ Display* /* display */,
+ Drawable /* src */,
+ Drawable /* dest */,
+ GC /* gc */,
+ int /* src_x */,
+ int /* src_y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* dest_x */,
+ int /* dest_y */
+);
+
+extern int XCopyGC(
+ Display* /* display */,
+ GC /* src */,
+ unsigned long /* valuemask */,
+ GC /* dest */
+);
+
+extern int XCopyPlane(
+ Display* /* display */,
+ Drawable /* src */,
+ Drawable /* dest */,
+ GC /* gc */,
+ int /* src_x */,
+ int /* src_y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* dest_x */,
+ int /* dest_y */,
+ unsigned long /* plane */
+);
+
+extern int XDefaultDepth(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDefaultDepthOfScreen(
+ Screen* /* screen */
+);
+
+extern int XDefaultScreen(
+ Display* /* display */
+);
+
+extern int XDefineCursor(
+ Display* /* display */,
+ Window /* w */,
+ Cursor /* cursor */
+);
+
+extern int XDeleteProperty(
+ Display* /* display */,
+ Window /* w */,
+ Atom /* property */
+);
+
+extern int XDestroyWindow(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XDestroySubwindows(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XDoesBackingStore(
+ Screen* /* screen */
+);
+
+extern Bool XDoesSaveUnders(
+ Screen* /* screen */
+);
+
+extern int XDisableAccessControl(
+ Display* /* display */
+);
+
+
+extern int XDisplayCells(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDisplayHeight(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDisplayHeightMM(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDisplayKeycodes(
+ Display* /* display */,
+ int* /* min_keycodes_return */,
+ int* /* max_keycodes_return */
+);
+
+extern int XDisplayPlanes(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDisplayWidth(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDisplayWidthMM(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDrawArc(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* angle1 */,
+ int /* angle2 */
+);
+
+extern int XDrawArcs(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XArc* /* arcs */,
+ int /* narcs */
+);
+
+extern int XDrawImageString(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst char* /* string */,
+ int /* length */
+);
+
+extern int XDrawImageString16(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst XChar2b* /* string */,
+ int /* length */
+);
+
+extern int XDrawLine(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x1 */,
+ int /* y1 */,
+ int /* x2 */,
+ int /* y2 */
+);
+
+extern int XDrawLines(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XPoint* /* points */,
+ int /* npoints */,
+ int /* mode */
+);
+
+extern int XDrawPoint(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */
+);
+
+extern int XDrawPoints(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XPoint* /* points */,
+ int /* npoints */,
+ int /* mode */
+);
+
+extern int XDrawRectangle(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+extern int XDrawRectangles(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XRectangle* /* rectangles */,
+ int /* nrectangles */
+);
+
+extern int XDrawSegments(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XSegment* /* segments */,
+ int /* nsegments */
+);
+
+extern int XDrawString(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst char* /* string */,
+ int /* length */
+);
+
+extern int XDrawString16(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst XChar2b* /* string */,
+ int /* length */
+);
+
+extern int XDrawText(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ XTextItem* /* items */,
+ int /* nitems */
+);
+
+extern int XDrawText16(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ XTextItem16* /* items */,
+ int /* nitems */
+);
+
+extern int XEnableAccessControl(
+ Display* /* display */
+);
+
+extern int XEventsQueued(
+ Display* /* display */,
+ int /* mode */
+);
+
+extern Status XFetchName(
+ Display* /* display */,
+ Window /* w */,
+ char** /* window_name_return */
+);
+
+extern int XFillArc(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* angle1 */,
+ int /* angle2 */
+);
+
+extern int XFillArcs(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XArc* /* arcs */,
+ int /* narcs */
+);
+
+extern int XFillPolygon(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XPoint* /* points */,
+ int /* npoints */,
+ int /* shape */,
+ int /* mode */
+);
+
+extern int XFillRectangle(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+extern int XFillRectangles(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XRectangle* /* rectangles */,
+ int /* nrectangles */
+);
+
+extern int XFlush(
+ Display* /* display */
+);
+
+extern int XForceScreenSaver(
+ Display* /* display */,
+ int /* mode */
+);
+
+extern int XFree(
+ void* /* data */
+);
+
+extern int XFreeColormap(
+ Display* /* display */,
+ Colormap /* colormap */
+);
+
+extern int XFreeColors(
+ Display* /* display */,
+ Colormap /* colormap */,
+ unsigned long* /* pixels */,
+ int /* npixels */,
+ unsigned long /* planes */
+);
+
+extern int XFreeCursor(
+ Display* /* display */,
+ Cursor /* cursor */
+);
+
+extern int XFreeExtensionList(
+ char** /* list */
+);
+
+extern int XFreeFont(
+ Display* /* display */,
+ XFontStruct* /* font_struct */
+);
+
+extern int XFreeFontInfo(
+ char** /* names */,
+ XFontStruct* /* free_info */,
+ int /* actual_count */
+);
+
+extern int XFreeFontNames(
+ char** /* list */
+);
+
+extern int XFreeFontPath(
+ char** /* list */
+);
+
+extern int XFreeGC(
+ Display* /* display */,
+ GC /* gc */
+);
+
+extern int XFreeModifiermap(
+ XModifierKeymap* /* modmap */
+);
+
+extern int XFreePixmap(
+ Display* /* display */,
+ Pixmap /* pixmap */
+);
+
+extern int XGeometry(
+ Display* /* display */,
+ int /* screen */,
+ _Xconst char* /* position */,
+ _Xconst char* /* default_position */,
+ unsigned int /* bwidth */,
+ unsigned int /* fwidth */,
+ unsigned int /* fheight */,
+ int /* xadder */,
+ int /* yadder */,
+ int* /* x_return */,
+ int* /* y_return */,
+ int* /* width_return */,
+ int* /* height_return */
+);
+
+extern int XGetErrorDatabaseText(
+ Display* /* display */,
+ _Xconst char* /* name */,
+ _Xconst char* /* message */,
+ _Xconst char* /* default_string */,
+ char* /* buffer_return */,
+ int /* length */
+);
+
+extern int XGetErrorText(
+ Display* /* display */,
+ int /* code */,
+ char* /* buffer_return */,
+ int /* length */
+);
+
+extern Bool XGetFontProperty(
+ XFontStruct* /* font_struct */,
+ Atom /* atom */,
+ unsigned long* /* value_return */
+);
+
+extern Status XGetGCValues(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned long /* valuemask */,
+ XGCValues* /* values_return */
+);
+
+extern Status XGetGeometry(
+ Display* /* display */,
+ Drawable /* d */,
+ Window* /* root_return */,
+ int* /* x_return */,
+ int* /* y_return */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */,
+ unsigned int* /* border_width_return */,
+ unsigned int* /* depth_return */
+);
+
+extern Status XGetIconName(
+ Display* /* display */,
+ Window /* w */,
+ char** /* icon_name_return */
+);
+
+extern int XGetInputFocus(
+ Display* /* display */,
+ Window* /* focus_return */,
+ int* /* revert_to_return */
+);
+
+extern int XGetKeyboardControl(
+ Display* /* display */,
+ XKeyboardState* /* values_return */
+);
+
+extern int XGetPointerControl(
+ Display* /* display */,
+ int* /* accel_numerator_return */,
+ int* /* accel_denominator_return */,
+ int* /* threshold_return */
+);
+
+extern int XGetPointerMapping(
+ Display* /* display */,
+ unsigned char* /* map_return */,
+ int /* nmap */
+);
+
+extern int XGetScreenSaver(
+ Display* /* display */,
+ int* /* timeout_return */,
+ int* /* interval_return */,
+ int* /* prefer_blanking_return */,
+ int* /* allow_exposures_return */
+);
+
+extern Status XGetTransientForHint(
+ Display* /* display */,
+ Window /* w */,
+ Window* /* prop_window_return */
+);
+
+extern int XGetWindowProperty(
+ Display* /* display */,
+ Window /* w */,
+ Atom /* property */,
+ long /* long_offset */,
+ long /* long_length */,
+ Bool /* delete */,
+ Atom /* req_type */,
+ Atom* /* actual_type_return */,
+ int* /* actual_format_return */,
+ unsigned long* /* nitems_return */,
+ unsigned long* /* bytes_after_return */,
+ unsigned char** /* prop_return */
+);
+
+extern Status XGetWindowAttributes(
+ Display* /* display */,
+ Window /* w */,
+ XWindowAttributes* /* window_attributes_return */
+);
+
+extern int XGrabButton(
+ Display* /* display */,
+ unsigned int /* button */,
+ unsigned int /* modifiers */,
+ Window /* grab_window */,
+ Bool /* owner_events */,
+ unsigned int /* event_mask */,
+ int /* pointer_mode */,
+ int /* keyboard_mode */,
+ Window /* confine_to */,
+ Cursor /* cursor */
+);
+
+extern int XGrabKey(
+ Display* /* display */,
+ int /* keycode */,
+ unsigned int /* modifiers */,
+ Window /* grab_window */,
+ Bool /* owner_events */,
+ int /* pointer_mode */,
+ int /* keyboard_mode */
+);
+
+extern int XGrabKeyboard(
+ Display* /* display */,
+ Window /* grab_window */,
+ Bool /* owner_events */,
+ int /* pointer_mode */,
+ int /* keyboard_mode */,
+ Time /* time */
+);
+
+extern int XGrabPointer(
+ Display* /* display */,
+ Window /* grab_window */,
+ Bool /* owner_events */,
+ unsigned int /* event_mask */,
+ int /* pointer_mode */,
+ int /* keyboard_mode */,
+ Window /* confine_to */,
+ Cursor /* cursor */,
+ Time /* time */
+);
+
+extern int XGrabServer(
+ Display* /* display */
+);
+
+extern int XHeightMMOfScreen(
+ Screen* /* screen */
+);
+
+extern int XHeightOfScreen(
+ Screen* /* screen */
+);
+
+extern int XIfEvent(
+ Display* /* display */,
+ XEvent* /* event_return */,
+ Bool (*) (
+ Display* /* display */,
+ XEvent* /* event */,
+ XPointer /* arg */
+ ) /* predicate */,
+ XPointer /* arg */
+);
+
+extern int XImageByteOrder(
+ Display* /* display */
+);
+
+extern int XInstallColormap(
+ Display* /* display */,
+ Colormap /* colormap */
+);
+
+extern KeyCode XKeysymToKeycode(
+ Display* /* display */,
+ KeySym /* keysym */
+);
+
+extern int XKillClient(
+ Display* /* display */,
+ XID /* resource */
+);
+
+extern Status XLookupColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ _Xconst char* /* color_name */,
+ XColor* /* exact_def_return */,
+ XColor* /* screen_def_return */
+);
+
+extern int XLowerWindow(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XMapRaised(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XMapSubwindows(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XMapWindow(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XMaskEvent(
+ Display* /* display */,
+ long /* event_mask */,
+ XEvent* /* event_return */
+);
+
+extern int XMaxCmapsOfScreen(
+ Screen* /* screen */
+);
+
+extern int XMinCmapsOfScreen(
+ Screen* /* screen */
+);
+
+extern int XMoveResizeWindow(
+ Display* /* display */,
+ Window /* w */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+extern int XMoveWindow(
+ Display* /* display */,
+ Window /* w */,
+ int /* x */,
+ int /* y */
+);
+
+extern int XNextEvent(
+ Display* /* display */,
+ XEvent* /* event_return */
+);
+
+extern int XNoOp(
+ Display* /* display */
+);
+
+extern Status XParseColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ _Xconst char* /* spec */,
+ XColor* /* exact_def_return */
+);
+
+extern int XParseGeometry(
+ _Xconst char* /* parsestring */,
+ int* /* x_return */,
+ int* /* y_return */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */
+);
+
+extern int XPeekEvent(
+ Display* /* display */,
+ XEvent* /* event_return */
+);
+
+extern int XPeekIfEvent(
+ Display* /* display */,
+ XEvent* /* event_return */,
+ Bool (*) (
+ Display* /* display */,
+ XEvent* /* event */,
+ XPointer /* arg */
+ ) /* predicate */,
+ XPointer /* arg */
+);
+
+extern int XPending(
+ Display* /* display */
+);
+
+extern int XPlanesOfScreen(
+ Screen* /* screen */
+);
+
+extern int XProtocolRevision(
+ Display* /* display */
+);
+
+extern int XProtocolVersion(
+ Display* /* display */
+);
+
+
+extern int XPutBackEvent(
+ Display* /* display */,
+ XEvent* /* event */
+);
+
+extern int XPutImage(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XImage* /* image */,
+ int /* src_x */,
+ int /* src_y */,
+ int /* dest_x */,
+ int /* dest_y */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+extern int XQLength(
+ Display* /* display */
+);
+
+extern Status XQueryBestCursor(
+ Display* /* display */,
+ Drawable /* d */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */
+);
+
+extern Status XQueryBestSize(
+ Display* /* display */,
+ int /* class */,
+ Drawable /* which_screen */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */
+);
+
+extern Status XQueryBestStipple(
+ Display* /* display */,
+ Drawable /* which_screen */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */
+);
+
+extern Status XQueryBestTile(
+ Display* /* display */,
+ Drawable /* which_screen */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */
+);
+
+extern int XQueryColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ XColor* /* def_in_out */
+);
+
+extern int XQueryColors(
+ Display* /* display */,
+ Colormap /* colormap */,
+ XColor* /* defs_in_out */,
+ int /* ncolors */
+);
+
+extern Bool XQueryExtension(
+ Display* /* display */,
+ _Xconst char* /* name */,
+ int* /* major_opcode_return */,
+ int* /* first_event_return */,
+ int* /* first_error_return */
+);
+
+extern int XQueryKeymap(
+ Display* /* display */,
+ char [32] /* keys_return */
+);
+
+extern Bool XQueryPointer(
+ Display* /* display */,
+ Window /* w */,
+ Window* /* root_return */,
+ Window* /* child_return */,
+ int* /* root_x_return */,
+ int* /* root_y_return */,
+ int* /* win_x_return */,
+ int* /* win_y_return */,
+ unsigned int* /* mask_return */
+);
+
+extern int XQueryTextExtents(
+ Display* /* display */,
+ XID /* font_ID */,
+ _Xconst char* /* string */,
+ int /* nchars */,
+ int* /* direction_return */,
+ int* /* font_ascent_return */,
+ int* /* font_descent_return */,
+ XCharStruct* /* overall_return */
+);
+
+extern int XQueryTextExtents16(
+ Display* /* display */,
+ XID /* font_ID */,
+ _Xconst XChar2b* /* string */,
+ int /* nchars */,
+ int* /* direction_return */,
+ int* /* font_ascent_return */,
+ int* /* font_descent_return */,
+ XCharStruct* /* overall_return */
+);
+
+extern Status XQueryTree(
+ Display* /* display */,
+ Window /* w */,
+ Window* /* root_return */,
+ Window* /* parent_return */,
+ Window** /* children_return */,
+ unsigned int* /* nchildren_return */
+);
+
+extern int XRaiseWindow(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XReadBitmapFile(
+ Display* /* display */,
+ Drawable /* d */,
+ _Xconst char* /* filename */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */,
+ Pixmap* /* bitmap_return */,
+ int* /* x_hot_return */,
+ int* /* y_hot_return */
+);
+
+extern int XReadBitmapFileData(
+ _Xconst char* /* filename */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */,
+ unsigned char** /* data_return */,
+ int* /* x_hot_return */,
+ int* /* y_hot_return */
+);
+
+extern int XRebindKeysym(
+ Display* /* display */,
+ KeySym /* keysym */,
+ KeySym* /* list */,
+ int /* mod_count */,
+ _Xconst unsigned char* /* string */,
+ int /* bytes_string */
+);
+
+extern int XRecolorCursor(
+ Display* /* display */,
+ Cursor /* cursor */,
+ XColor* /* foreground_color */,
+ XColor* /* background_color */
+);
+
+extern int XRefreshKeyboardMapping(
+ XMappingEvent* /* event_map */
+);
+
+extern int XRemoveFromSaveSet(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XRemoveHost(
+ Display* /* display */,
+ XHostAddress* /* host */
+);
+
+extern int XRemoveHosts(
+ Display* /* display */,
+ XHostAddress* /* hosts */,
+ int /* num_hosts */
+);
+
+extern int XReparentWindow(
+ Display* /* display */,
+ Window /* w */,
+ Window /* parent */,
+ int /* x */,
+ int /* y */
+);
+
+extern int XResetScreenSaver(
+ Display* /* display */
+);
+
+extern int XResizeWindow(
+ Display* /* display */,
+ Window /* w */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+extern int XRestackWindows(
+ Display* /* display */,
+ Window* /* windows */,
+ int /* nwindows */
+);
+
+extern int XRotateBuffers(
+ Display* /* display */,
+ int /* rotate */
+);
+
+extern int XRotateWindowProperties(
+ Display* /* display */,
+ Window /* w */,
+ Atom* /* properties */,
+ int /* num_prop */,
+ int /* npositions */
+);
+
+extern int XScreenCount(
+ Display* /* display */
+);
+
+extern int XSelectInput(
+ Display* /* display */,
+ Window /* w */,
+ long /* event_mask */
+);
+
+extern Status XSendEvent(
+ Display* /* display */,
+ Window /* w */,
+ Bool /* propagate */,
+ long /* event_mask */,
+ XEvent* /* event_send */
+);
+
+extern int XSetAccessControl(
+ Display* /* display */,
+ int /* mode */
+);
+
+extern int XSetArcMode(
+ Display* /* display */,
+ GC /* gc */,
+ int /* arc_mode */
+);
+
+extern int XSetBackground(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned long /* background */
+);
+
+extern int XSetClipMask(
+ Display* /* display */,
+ GC /* gc */,
+ Pixmap /* pixmap */
+);
+
+extern int XSetClipOrigin(
+ Display* /* display */,
+ GC /* gc */,
+ int /* clip_x_origin */,
+ int /* clip_y_origin */
+);
+
+extern int XSetClipRectangles(
+ Display* /* display */,
+ GC /* gc */,
+ int /* clip_x_origin */,
+ int /* clip_y_origin */,
+ XRectangle* /* rectangles */,
+ int /* n */,
+ int /* ordering */
+);
+
+extern int XSetCloseDownMode(
+ Display* /* display */,
+ int /* close_mode */
+);
+
+extern int XSetCommand(
+ Display* /* display */,
+ Window /* w */,
+ char** /* argv */,
+ int /* argc */
+);
+
+extern int XSetDashes(
+ Display* /* display */,
+ GC /* gc */,
+ int /* dash_offset */,
+ _Xconst char* /* dash_list */,
+ int /* n */
+);
+
+extern int XSetFillRule(
+ Display* /* display */,
+ GC /* gc */,
+ int /* fill_rule */
+);
+
+extern int XSetFillStyle(
+ Display* /* display */,
+ GC /* gc */,
+ int /* fill_style */
+);
+
+extern int XSetFont(
+ Display* /* display */,
+ GC /* gc */,
+ Font /* font */
+);
+
+extern int XSetFontPath(
+ Display* /* display */,
+ char** /* directories */,
+ int /* ndirs */
+);
+
+extern int XSetForeground(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned long /* foreground */
+);
+
+extern int XSetFunction(
+ Display* /* display */,
+ GC /* gc */,
+ int /* function */
+);
+
+extern int XSetGraphicsExposures(
+ Display* /* display */,
+ GC /* gc */,
+ Bool /* graphics_exposures */
+);
+
+extern int XSetIconName(
+ Display* /* display */,
+ Window /* w */,
+ _Xconst char* /* icon_name */
+);
+
+extern int XSetInputFocus(
+ Display* /* display */,
+ Window /* focus */,
+ int /* revert_to */,
+ Time /* time */
+);
+
+extern int XSetLineAttributes(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned int /* line_width */,
+ int /* line_style */,
+ int /* cap_style */,
+ int /* join_style */
+);
+
+extern int XSetModifierMapping(
+ Display* /* display */,
+ XModifierKeymap* /* modmap */
+);
+
+extern int XSetPlaneMask(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned long /* plane_mask */
+);
+
+extern int XSetPointerMapping(
+ Display* /* display */,
+ _Xconst unsigned char* /* map */,
+ int /* nmap */
+);
+
+extern int XSetScreenSaver(
+ Display* /* display */,
+ int /* timeout */,
+ int /* interval */,
+ int /* prefer_blanking */,
+ int /* allow_exposures */
+);
+
+extern int XSetSelectionOwner(
+ Display* /* display */,
+ Atom /* selection */,
+ Window /* owner */,
+ Time /* time */
+);
+
+extern int XSetState(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned long /* foreground */,
+ unsigned long /* background */,
+ int /* function */,
+ unsigned long /* plane_mask */
+);
+
+extern int XSetStipple(
+ Display* /* display */,
+ GC /* gc */,
+ Pixmap /* stipple */
+);
+
+extern int XSetSubwindowMode(
+ Display* /* display */,
+ GC /* gc */,
+ int /* subwindow_mode */
+);
+
+extern int XSetTSOrigin(
+ Display* /* display */,
+ GC /* gc */,
+ int /* ts_x_origin */,
+ int /* ts_y_origin */
+);
+
+extern int XSetTile(
+ Display* /* display */,
+ GC /* gc */,
+ Pixmap /* tile */
+);
+
+extern int XSetWindowBackground(
+ Display* /* display */,
+ Window /* w */,
+ unsigned long /* background_pixel */
+);
+
+extern int XSetWindowBackgroundPixmap(
+ Display* /* display */,
+ Window /* w */,
+ Pixmap /* background_pixmap */
+);
+
+extern int XSetWindowBorder(
+ Display* /* display */,
+ Window /* w */,
+ unsigned long /* border_pixel */
+);
+
+extern int XSetWindowBorderPixmap(
+ Display* /* display */,
+ Window /* w */,
+ Pixmap /* border_pixmap */
+);
+
+extern int XSetWindowBorderWidth(
+ Display* /* display */,
+ Window /* w */,
+ unsigned int /* width */
+);
+
+extern int XSetWindowColormap(
+ Display* /* display */,
+ Window /* w */,
+ Colormap /* colormap */
+);
+
+extern int XStoreBuffer(
+ Display* /* display */,
+ _Xconst char* /* bytes */,
+ int /* nbytes */,
+ int /* buffer */
+);
+
+extern int XStoreBytes(
+ Display* /* display */,
+ _Xconst char* /* bytes */,
+ int /* nbytes */
+);
+
+extern int XStoreColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ XColor* /* color */
+);
+
+extern int XStoreColors(
+ Display* /* display */,
+ Colormap /* colormap */,
+ XColor* /* color */,
+ int /* ncolors */
+);
+
+extern int XStoreName(
+ Display* /* display */,
+ Window /* w */,
+ _Xconst char* /* window_name */
+);
+
+extern int XStoreNamedColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ _Xconst char* /* color */,
+ unsigned long /* pixel */,
+ int /* flags */
+);
+
+extern int XSync(
+ Display* /* display */,
+ Bool /* discard */
+);
+
+extern int XTextExtents(
+ XFontStruct* /* font_struct */,
+ _Xconst char* /* string */,
+ int /* nchars */,
+ int* /* direction_return */,
+ int* /* font_ascent_return */,
+ int* /* font_descent_return */,
+ XCharStruct* /* overall_return */
+);
+
+extern int XTextExtents16(
+ XFontStruct* /* font_struct */,
+ _Xconst XChar2b* /* string */,
+ int /* nchars */,
+ int* /* direction_return */,
+ int* /* font_ascent_return */,
+ int* /* font_descent_return */,
+ XCharStruct* /* overall_return */
+);
+
+extern int XTextWidth(
+ XFontStruct* /* font_struct */,
+ _Xconst char* /* string */,
+ int /* count */
+);
+
+extern int XTextWidth16(
+ XFontStruct* /* font_struct */,
+ _Xconst XChar2b* /* string */,
+ int /* count */
+);
+
+extern Bool XTranslateCoordinates(
+ Display* /* display */,
+ Window /* src_w */,
+ Window /* dest_w */,
+ int /* src_x */,
+ int /* src_y */,
+ int* /* dest_x_return */,
+ int* /* dest_y_return */,
+ Window* /* child_return */
+);
+
+extern int XUndefineCursor(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XUngrabButton(
+ Display* /* display */,
+ unsigned int /* button */,
+ unsigned int /* modifiers */,
+ Window /* grab_window */
+);
+
+extern int XUngrabKey(
+ Display* /* display */,
+ int /* keycode */,
+ unsigned int /* modifiers */,
+ Window /* grab_window */
+);
+
+extern int XUngrabKeyboard(
+ Display* /* display */,
+ Time /* time */
+);
+
+extern int XUngrabPointer(
+ Display* /* display */,
+ Time /* time */
+);
+
+extern int XUngrabServer(
+ Display* /* display */
+);
+
+extern int XUninstallColormap(
+ Display* /* display */,
+ Colormap /* colormap */
+);
+
+extern int XUnloadFont(
+ Display* /* display */,
+ Font /* font */
+);
+
+extern int XUnmapSubwindows(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XUnmapWindow(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XVendorRelease(
+ Display* /* display */
+);
+
+extern int XWarpPointer(
+ Display* /* display */,
+ Window /* src_w */,
+ Window /* dest_w */,
+ int /* src_x */,
+ int /* src_y */,
+ unsigned int /* src_width */,
+ unsigned int /* src_height */,
+ int /* dest_x */,
+ int /* dest_y */
+);
+
+extern int XWidthMMOfScreen(
+ Screen* /* screen */
+);
+
+extern int XWidthOfScreen(
+ Screen* /* screen */
+);
+
+extern int XWindowEvent(
+ Display* /* display */,
+ Window /* w */,
+ long /* event_mask */,
+ XEvent* /* event_return */
+);
+
+extern int XWriteBitmapFile(
+ Display* /* display */,
+ _Xconst char* /* filename */,
+ Pixmap /* bitmap */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* x_hot */,
+ int /* y_hot */
+);
+
+extern Bool XSupportsLocale (void);
+
+extern char *XSetLocaleModifiers(
+ const char* /* modifier_list */
+);
+
+extern XOM XOpenOM(
+ Display* /* display */,
+ struct _XrmHashBucketRec* /* rdb */,
+ _Xconst char* /* res_name */,
+ _Xconst char* /* res_class */
+);
+
+extern Status XCloseOM(
+ XOM /* om */
+);
+
+extern char *XSetOMValues(
+ XOM /* om */,
+ ...
+) _X_SENTINEL(0);
+
+extern char *XGetOMValues(
+ XOM /* om */,
+ ...
+) _X_SENTINEL(0);
+
+extern Display *XDisplayOfOM(
+ XOM /* om */
+);
+
+extern char *XLocaleOfOM(
+ XOM /* om */
+);
+
+extern XOC XCreateOC(
+ XOM /* om */,
+ ...
+) _X_SENTINEL(0);
+
+extern void XDestroyOC(
+ XOC /* oc */
+);
+
+extern XOM XOMOfOC(
+ XOC /* oc */
+);
+
+extern char *XSetOCValues(
+ XOC /* oc */,
+ ...
+) _X_SENTINEL(0);
+
+extern char *XGetOCValues(
+ XOC /* oc */,
+ ...
+) _X_SENTINEL(0);
+
+extern XFontSet XCreateFontSet(
+ Display* /* display */,
+ _Xconst char* /* base_font_name_list */,
+ char*** /* missing_charset_list */,
+ int* /* missing_charset_count */,
+ char** /* def_string */
+);
+
+extern void XFreeFontSet(
+ Display* /* display */,
+ XFontSet /* font_set */
+);
+
+extern int XFontsOfFontSet(
+ XFontSet /* font_set */,
+ XFontStruct*** /* font_struct_list */,
+ char*** /* font_name_list */
+);
+
+extern char *XBaseFontNameListOfFontSet(
+ XFontSet /* font_set */
+);
+
+extern char *XLocaleOfFontSet(
+ XFontSet /* font_set */
+);
+
+extern Bool XContextDependentDrawing(
+ XFontSet /* font_set */
+);
+
+extern Bool XDirectionalDependentDrawing(
+ XFontSet /* font_set */
+);
+
+extern Bool XContextualDrawing(
+ XFontSet /* font_set */
+);
+
+extern XFontSetExtents *XExtentsOfFontSet(
+ XFontSet /* font_set */
+);
+
+extern int XmbTextEscapement(
+ XFontSet /* font_set */,
+ _Xconst char* /* text */,
+ int /* bytes_text */
+);
+
+extern int XwcTextEscapement(
+ XFontSet /* font_set */,
+ _Xconst wchar_t* /* text */,
+ int /* num_wchars */
+);
+
+extern int Xutf8TextEscapement(
+ XFontSet /* font_set */,
+ _Xconst char* /* text */,
+ int /* bytes_text */
+);
+
+extern int XmbTextExtents(
+ XFontSet /* font_set */,
+ _Xconst char* /* text */,
+ int /* bytes_text */,
+ XRectangle* /* overall_ink_return */,
+ XRectangle* /* overall_logical_return */
+);
+
+extern int XwcTextExtents(
+ XFontSet /* font_set */,
+ _Xconst wchar_t* /* text */,
+ int /* num_wchars */,
+ XRectangle* /* overall_ink_return */,
+ XRectangle* /* overall_logical_return */
+);
+
+extern int Xutf8TextExtents(
+ XFontSet /* font_set */,
+ _Xconst char* /* text */,
+ int /* bytes_text */,
+ XRectangle* /* overall_ink_return */,
+ XRectangle* /* overall_logical_return */
+);
+
+extern Status XmbTextPerCharExtents(
+ XFontSet /* font_set */,
+ _Xconst char* /* text */,
+ int /* bytes_text */,
+ XRectangle* /* ink_extents_buffer */,
+ XRectangle* /* logical_extents_buffer */,
+ int /* buffer_size */,
+ int* /* num_chars */,
+ XRectangle* /* overall_ink_return */,
+ XRectangle* /* overall_logical_return */
+);
+
+extern Status XwcTextPerCharExtents(
+ XFontSet /* font_set */,
+ _Xconst wchar_t* /* text */,
+ int /* num_wchars */,
+ XRectangle* /* ink_extents_buffer */,
+ XRectangle* /* logical_extents_buffer */,
+ int /* buffer_size */,
+ int* /* num_chars */,
+ XRectangle* /* overall_ink_return */,
+ XRectangle* /* overall_logical_return */
+);
+
+extern Status Xutf8TextPerCharExtents(
+ XFontSet /* font_set */,
+ _Xconst char* /* text */,
+ int /* bytes_text */,
+ XRectangle* /* ink_extents_buffer */,
+ XRectangle* /* logical_extents_buffer */,
+ int /* buffer_size */,
+ int* /* num_chars */,
+ XRectangle* /* overall_ink_return */,
+ XRectangle* /* overall_logical_return */
+);
+
+extern void XmbDrawText(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ XmbTextItem* /* text_items */,
+ int /* nitems */
+);
+
+extern void XwcDrawText(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ XwcTextItem* /* text_items */,
+ int /* nitems */
+);
+
+extern void Xutf8DrawText(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ XmbTextItem* /* text_items */,
+ int /* nitems */
+);
+
+extern void XmbDrawString(
+ Display* /* display */,
+ Drawable /* d */,
+ XFontSet /* font_set */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst char* /* text */,
+ int /* bytes_text */
+);
+
+extern void XwcDrawString(
+ Display* /* display */,
+ Drawable /* d */,
+ XFontSet /* font_set */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst wchar_t* /* text */,
+ int /* num_wchars */
+);
+
+extern void Xutf8DrawString(
+ Display* /* display */,
+ Drawable /* d */,
+ XFontSet /* font_set */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst char* /* text */,
+ int /* bytes_text */
+);
+
+extern void XmbDrawImageString(
+ Display* /* display */,
+ Drawable /* d */,
+ XFontSet /* font_set */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst char* /* text */,
+ int /* bytes_text */
+);
+
+extern void XwcDrawImageString(
+ Display* /* display */,
+ Drawable /* d */,
+ XFontSet /* font_set */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst wchar_t* /* text */,
+ int /* num_wchars */
+);
+
+extern void Xutf8DrawImageString(
+ Display* /* display */,
+ Drawable /* d */,
+ XFontSet /* font_set */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst char* /* text */,
+ int /* bytes_text */
+);
+
+extern XIM XOpenIM(
+ Display* /* dpy */,
+ struct _XrmHashBucketRec* /* rdb */,
+ char* /* res_name */,
+ char* /* res_class */
+);
+
+extern Status XCloseIM(
+ XIM /* im */
+);
+
+extern char *XGetIMValues(
+ XIM /* im */, ...
+) _X_SENTINEL(0);
+
+extern char *XSetIMValues(
+ XIM /* im */, ...
+) _X_SENTINEL(0);
+
+extern Display *XDisplayOfIM(
+ XIM /* im */
+);
+
+extern char *XLocaleOfIM(
+ XIM /* im*/
+);
+
+extern XIC XCreateIC(
+ XIM /* im */, ...
+) _X_SENTINEL(0);
+
+extern void XDestroyIC(
+ XIC /* ic */
+);
+
+extern void XSetICFocus(
+ XIC /* ic */
+);
+
+extern void XUnsetICFocus(
+ XIC /* ic */
+);
+
+extern wchar_t *XwcResetIC(
+ XIC /* ic */
+);
+
+extern char *XmbResetIC(
+ XIC /* ic */
+);
+
+extern char *Xutf8ResetIC(
+ XIC /* ic */
+);
+
+extern char *XSetICValues(
+ XIC /* ic */, ...
+) _X_SENTINEL(0);
+
+extern char *XGetICValues(
+ XIC /* ic */, ...
+) _X_SENTINEL(0);
+
+extern XIM XIMOfIC(
+ XIC /* ic */
+);
+
+extern Bool XFilterEvent(
+ XEvent* /* event */,
+ Window /* window */
+);
+
+extern int XmbLookupString(
+ XIC /* ic */,
+ XKeyPressedEvent* /* event */,
+ char* /* buffer_return */,
+ int /* bytes_buffer */,
+ KeySym* /* keysym_return */,
+ Status* /* status_return */
+);
+
+extern int XwcLookupString(
+ XIC /* ic */,
+ XKeyPressedEvent* /* event */,
+ wchar_t* /* buffer_return */,
+ int /* wchars_buffer */,
+ KeySym* /* keysym_return */,
+ Status* /* status_return */
+);
+
+extern int Xutf8LookupString(
+ XIC /* ic */,
+ XKeyPressedEvent* /* event */,
+ char* /* buffer_return */,
+ int /* bytes_buffer */,
+ KeySym* /* keysym_return */,
+ Status* /* status_return */
+);
+
+extern XVaNestedList XVaCreateNestedList(
+ int /*unused*/, ...
+) _X_SENTINEL(0);
+
+/* internal connections for IMs */
+
+extern Bool XRegisterIMInstantiateCallback(
+ Display* /* dpy */,
+ struct _XrmHashBucketRec* /* rdb */,
+ char* /* res_name */,
+ char* /* res_class */,
+ XIDProc /* callback */,
+ XPointer /* client_data */
+);
+
+extern Bool XUnregisterIMInstantiateCallback(
+ Display* /* dpy */,
+ struct _XrmHashBucketRec* /* rdb */,
+ char* /* res_name */,
+ char* /* res_class */,
+ XIDProc /* callback */,
+ XPointer /* client_data */
+);
+
+typedef void (*XConnectionWatchProc)(
+ Display* /* dpy */,
+ XPointer /* client_data */,
+ int /* fd */,
+ Bool /* opening */, /* open or close flag */
+ XPointer* /* watch_data */ /* open sets, close uses */
+);
+
+
+extern Status XInternalConnectionNumbers(
+ Display* /* dpy */,
+ int** /* fd_return */,
+ int* /* count_return */
+);
+
+extern void XProcessInternalConnection(
+ Display* /* dpy */,
+ int /* fd */
+);
+
+extern Status XAddConnectionWatch(
+ Display* /* dpy */,
+ XConnectionWatchProc /* callback */,
+ XPointer /* client_data */
+);
+
+extern void XRemoveConnectionWatch(
+ Display* /* dpy */,
+ XConnectionWatchProc /* callback */,
+ XPointer /* client_data */
+);
+
+extern void XSetAuthorization(
+ char * /* name */,
+ int /* namelen */,
+ char * /* data */,
+ int /* datalen */
+);
+
+extern int _Xmbtowc(
+ wchar_t * /* wstr */,
+#ifdef ISC
+ char const * /* str */,
+ size_t /* len */
+#else
+ char * /* str */,
+ int /* len */
+#endif
+);
+
+extern int _Xwctomb(
+ char * /* str */,
+ wchar_t /* wc */
+);
+
+extern Bool XGetEventData(
+ Display* /* dpy */,
+ XGenericEventCookie* /* cookie*/
+);
+
+extern void XFreeEventData(
+ Display* /* dpy */,
+ XGenericEventCookie* /* cookie*/
+);
+
+_XFUNCPROTOEND
+
+#endif /* _X11_XLIB_H_ */
diff --git a/X11/Xlibint.h b/X11/Xlibint.h
index 8a06f6d6a..2bd83a357 100644
--- a/X11/Xlibint.h
+++ b/X11/Xlibint.h
@@ -27,8 +27,8 @@ from The Open Group.
*/
-#ifndef _XLIBINT_H_
-#define _XLIBINT_H_ 1
+#ifndef _X11_XLIBINT_H_
+#define _X11_XLIBINT_H_ 1
/*
* Xlibint.h - Header definition and support file for the internal
@@ -1394,4 +1394,4 @@ extern void xlocaledir(
_XFUNCPROTOEND
-#endif /* _XLIBINT_H_ */
+#endif /* _X11_XLIBINT_H_ */
diff --git a/X11/Xlocale.h b/X11/Xlocale.h
index baa13353b..dfb004c32 100644
--- a/X11/Xlocale.h
+++ b/X11/Xlocale.h
@@ -1,59 +1,59 @@
-/*
-
-Copyright 1991, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
-OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall
-not be used in advertising or otherwise to promote the sale, use or
-other dealings in this Software without prior written authorization
-from The Open Group.
-
-*/
-
-#ifndef _XLOCALE_H_
-#define _XLOCALE_H_
-
-#include <X11/Xfuncproto.h>
-#include <X11/Xosdefs.h>
-
-#ifndef X_LOCALE
-#include <locale.h>
-#else
-
-#define LC_ALL 0
-#define LC_COLLATE 1
-#define LC_CTYPE 2
-#define LC_MONETARY 3
-#define LC_NUMERIC 4
-#define LC_TIME 5
-
-_XFUNCPROTOBEGIN
-extern char *_Xsetlocale(
- int /* category */,
- _Xconst char* /* name */
-);
-_XFUNCPROTOEND
-
-#define setlocale _Xsetlocale
-
-#include <stddef.h>
-
-#endif /* X_LOCALE */
-
-#endif /* _XLOCALE_H_ */
+/*
+
+Copyright 1991, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+
+#ifndef _X11_XLOCALE_H_
+#define _X11_XLOCALE_H_
+
+#include <X11/Xfuncproto.h>
+#include <X11/Xosdefs.h>
+
+#ifndef X_LOCALE
+#include <locale.h>
+#else
+
+#define LC_ALL 0
+#define LC_COLLATE 1
+#define LC_CTYPE 2
+#define LC_MONETARY 3
+#define LC_NUMERIC 4
+#define LC_TIME 5
+
+_XFUNCPROTOBEGIN
+extern char *_Xsetlocale(
+ int /* category */,
+ _Xconst char* /* name */
+);
+_XFUNCPROTOEND
+
+#define setlocale _Xsetlocale
+
+#include <stddef.h>
+
+#endif /* X_LOCALE */
+
+#endif /* _X11_XLOCALE_H_ */
diff --git a/X11/Xregion.h b/X11/Xregion.h
index 31199688c..1ae16c487 100644
--- a/X11/Xregion.h
+++ b/X11/Xregion.h
@@ -1,191 +1,191 @@
-/************************************************************************
-
-Copyright 1987, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
- All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the name of Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
-ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-SOFTWARE.
-
-************************************************************************/
-
-#ifndef _XREGION_H
-#define _XREGION_H
-
-typedef struct {
- short x1, x2, y1, y2;
-} Box, BOX, BoxRec, *BoxPtr;
-
-typedef struct {
- short x, y, width, height;
-}RECTANGLE, RectangleRec, *RectanglePtr;
-
-#define TRUE 1
-#define FALSE 0
-#ifndef MAXSHORT
-#define MAXSHORT 32767
-#define MINSHORT -MAXSHORT
-#endif
-#ifndef MAX
-#define MAX(a,b) (((a) > (b)) ? (a) : (b))
-#endif
-#ifndef MIN
-#define MIN(a,b) (((a) < (b)) ? (a) : (b))
-#endif
-
-
-/*
- * clip region
- */
-
-typedef struct _XRegion {
- long size;
- long numRects;
- BOX *rects;
- BOX extents;
-} REGION;
-
-/* Xutil.h contains the declaration:
- * typedef struct _XRegion *Region;
- */
-
-/* 1 if two BOXs overlap.
- * 0 if two BOXs do not overlap.
- * Remember, x2 and y2 are not in the region
- */
-#define EXTENTCHECK(r1, r2) \
- ((r1)->x2 > (r2)->x1 && \
- (r1)->x1 < (r2)->x2 && \
- (r1)->y2 > (r2)->y1 && \
- (r1)->y1 < (r2)->y2)
-
-/*
- * update region extents
- */
-#define EXTENTS(r,idRect){\
- if((r)->x1 < (idRect)->extents.x1)\
- (idRect)->extents.x1 = (r)->x1;\
- if((r)->y1 < (idRect)->extents.y1)\
- (idRect)->extents.y1 = (r)->y1;\
- if((r)->x2 > (idRect)->extents.x2)\
- (idRect)->extents.x2 = (r)->x2;\
- if((r)->y2 > (idRect)->extents.y2)\
- (idRect)->extents.y2 = (r)->y2;\
- }
-
-/*
- * Check to see if there is enough memory in the present region.
- */
-#define MEMCHECK(reg, rect, firstrect){\
- if ((reg)->numRects >= ((reg)->size - 1)){\
- (firstrect) = (BOX *) Xrealloc \
- ((char *)(firstrect), (unsigned) (2 * (sizeof(BOX)) * ((reg)->size)));\
- if ((firstrect) == 0)\
- return(0);\
- (reg)->size *= 2;\
- (rect) = &(firstrect)[(reg)->numRects];\
- }\
- }
-
-/* this routine checks to see if the previous rectangle is the same
- * or subsumes the new rectangle to add.
- */
-
-#define CHECK_PREVIOUS(Reg, R, Rx1, Ry1, Rx2, Ry2)\
- (!(((Reg)->numRects > 0)&&\
- ((R-1)->y1 == (Ry1)) &&\
- ((R-1)->y2 == (Ry2)) &&\
- ((R-1)->x1 <= (Rx1)) &&\
- ((R-1)->x2 >= (Rx2))))
-
-/* add a rectangle to the given Region */
-#define ADDRECT(reg, r, rx1, ry1, rx2, ry2){\
- if (((rx1) < (rx2)) && ((ry1) < (ry2)) &&\
- CHECK_PREVIOUS((reg), (r), (rx1), (ry1), (rx2), (ry2))){\
- (r)->x1 = (rx1);\
- (r)->y1 = (ry1);\
- (r)->x2 = (rx2);\
- (r)->y2 = (ry2);\
- EXTENTS((r), (reg));\
- (reg)->numRects++;\
- (r)++;\
- }\
- }
-
-
-
-/* add a rectangle to the given Region */
-#define ADDRECTNOX(reg, r, rx1, ry1, rx2, ry2){\
- if ((rx1 < rx2) && (ry1 < ry2) &&\
- CHECK_PREVIOUS((reg), (r), (rx1), (ry1), (rx2), (ry2))){\
- (r)->x1 = (rx1);\
- (r)->y1 = (ry1);\
- (r)->x2 = (rx2);\
- (r)->y2 = (ry2);\
- (reg)->numRects++;\
- (r)++;\
- }\
- }
-
-#define EMPTY_REGION(pReg) pReg->numRects = 0
-
-#define REGION_NOT_EMPTY(pReg) pReg->numRects
-
-#define INBOX(r, x, y) \
- ( ( ((r).x2 > x)) && \
- ( ((r).x1 <= x)) && \
- ( ((r).y2 > y)) && \
- ( ((r).y1 <= y)) )
-
-/*
- * number of points to buffer before sending them off
- * to scanlines() : Must be an even number
- */
-#define NUMPTSTOBUFFER 200
-
-/*
- * used to allocate buffers for points and link
- * the buffers together
- */
-typedef struct _POINTBLOCK {
- XPoint pts[NUMPTSTOBUFFER];
- struct _POINTBLOCK *next;
-} POINTBLOCK;
-
-#endif
+/************************************************************************
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+************************************************************************/
+
+#ifndef _X11_XREGION_H_
+#define _X11_XREGION_H_
+
+typedef struct {
+ short x1, x2, y1, y2;
+} Box, BOX, BoxRec, *BoxPtr;
+
+typedef struct {
+ short x, y, width, height;
+}RECTANGLE, RectangleRec, *RectanglePtr;
+
+#define TRUE 1
+#define FALSE 0
+#ifndef MAXSHORT
+#define MAXSHORT 32767
+#define MINSHORT -MAXSHORT
+#endif
+#ifndef MAX
+#define MAX(a,b) (((a) > (b)) ? (a) : (b))
+#endif
+#ifndef MIN
+#define MIN(a,b) (((a) < (b)) ? (a) : (b))
+#endif
+
+
+/*
+ * clip region
+ */
+
+typedef struct _XRegion {
+ long size;
+ long numRects;
+ BOX *rects;
+ BOX extents;
+} REGION;
+
+/* Xutil.h contains the declaration:
+ * typedef struct _XRegion *Region;
+ */
+
+/* 1 if two BOXs overlap.
+ * 0 if two BOXs do not overlap.
+ * Remember, x2 and y2 are not in the region
+ */
+#define EXTENTCHECK(r1, r2) \
+ ((r1)->x2 > (r2)->x1 && \
+ (r1)->x1 < (r2)->x2 && \
+ (r1)->y2 > (r2)->y1 && \
+ (r1)->y1 < (r2)->y2)
+
+/*
+ * update region extents
+ */
+#define EXTENTS(r,idRect){\
+ if((r)->x1 < (idRect)->extents.x1)\
+ (idRect)->extents.x1 = (r)->x1;\
+ if((r)->y1 < (idRect)->extents.y1)\
+ (idRect)->extents.y1 = (r)->y1;\
+ if((r)->x2 > (idRect)->extents.x2)\
+ (idRect)->extents.x2 = (r)->x2;\
+ if((r)->y2 > (idRect)->extents.y2)\
+ (idRect)->extents.y2 = (r)->y2;\
+ }
+
+/*
+ * Check to see if there is enough memory in the present region.
+ */
+#define MEMCHECK(reg, rect, firstrect){\
+ if ((reg)->numRects >= ((reg)->size - 1)){\
+ (firstrect) = (BOX *) Xrealloc \
+ ((char *)(firstrect), (unsigned) (2 * (sizeof(BOX)) * ((reg)->size)));\
+ if ((firstrect) == 0)\
+ return(0);\
+ (reg)->size *= 2;\
+ (rect) = &(firstrect)[(reg)->numRects];\
+ }\
+ }
+
+/* this routine checks to see if the previous rectangle is the same
+ * or subsumes the new rectangle to add.
+ */
+
+#define CHECK_PREVIOUS(Reg, R, Rx1, Ry1, Rx2, Ry2)\
+ (!(((Reg)->numRects > 0)&&\
+ ((R-1)->y1 == (Ry1)) &&\
+ ((R-1)->y2 == (Ry2)) &&\
+ ((R-1)->x1 <= (Rx1)) &&\
+ ((R-1)->x2 >= (Rx2))))
+
+/* add a rectangle to the given Region */
+#define ADDRECT(reg, r, rx1, ry1, rx2, ry2){\
+ if (((rx1) < (rx2)) && ((ry1) < (ry2)) &&\
+ CHECK_PREVIOUS((reg), (r), (rx1), (ry1), (rx2), (ry2))){\
+ (r)->x1 = (rx1);\
+ (r)->y1 = (ry1);\
+ (r)->x2 = (rx2);\
+ (r)->y2 = (ry2);\
+ EXTENTS((r), (reg));\
+ (reg)->numRects++;\
+ (r)++;\
+ }\
+ }
+
+
+
+/* add a rectangle to the given Region */
+#define ADDRECTNOX(reg, r, rx1, ry1, rx2, ry2){\
+ if ((rx1 < rx2) && (ry1 < ry2) &&\
+ CHECK_PREVIOUS((reg), (r), (rx1), (ry1), (rx2), (ry2))){\
+ (r)->x1 = (rx1);\
+ (r)->y1 = (ry1);\
+ (r)->x2 = (rx2);\
+ (r)->y2 = (ry2);\
+ (reg)->numRects++;\
+ (r)++;\
+ }\
+ }
+
+#define EMPTY_REGION(pReg) pReg->numRects = 0
+
+#define REGION_NOT_EMPTY(pReg) pReg->numRects
+
+#define INBOX(r, x, y) \
+ ( ( ((r).x2 > x)) && \
+ ( ((r).x1 <= x)) && \
+ ( ((r).y2 > y)) && \
+ ( ((r).y1 <= y)) )
+
+/*
+ * number of points to buffer before sending them off
+ * to scanlines() : Must be an even number
+ */
+#define NUMPTSTOBUFFER 200
+
+/*
+ * used to allocate buffers for points and link
+ * the buffers together
+ */
+typedef struct _POINTBLOCK {
+ XPoint pts[NUMPTSTOBUFFER];
+ struct _POINTBLOCK *next;
+} POINTBLOCK;
+
+#endif /* _X11_XREGION_H_ */
diff --git a/X11/Xresource.h b/X11/Xresource.h
index dbb144c27..113f732a5 100644
--- a/X11/Xresource.h
+++ b/X11/Xresource.h
@@ -1,358 +1,358 @@
-
-/***********************************************************
-
-Copyright 1987, 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-
-Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
-
- All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the name of Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
-ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-SOFTWARE.
-
-******************************************************************/
-
-#ifndef _XRESOURCE_H_
-#define _XRESOURCE_H_
-
-#ifndef _XP_PRINT_SERVER_
-#include <X11/Xlib.h>
-#endif
-
-/****************************************************************
- ****************************************************************
- *** ***
- *** ***
- *** X Resource Manager Intrinsics ***
- *** ***
- *** ***
- ****************************************************************
- ****************************************************************/
-
-_XFUNCPROTOBEGIN
-
-/****************************************************************
- *
- * Memory Management
- *
- ****************************************************************/
-
-extern char *Xpermalloc(
- unsigned int /* size */
-);
-
-/****************************************************************
- *
- * Quark Management
- *
- ****************************************************************/
-
-typedef int XrmQuark, *XrmQuarkList;
-#define NULLQUARK ((XrmQuark) 0)
-
-typedef char *XrmString;
-#define NULLSTRING ((XrmString) 0)
-
-/* find quark for string, create new quark if none already exists */
-extern XrmQuark XrmStringToQuark(
- _Xconst char* /* string */
-);
-
-extern XrmQuark XrmPermStringToQuark(
- _Xconst char* /* string */
-);
-
-/* find string for quark */
-extern XrmString XrmQuarkToString(
- XrmQuark /* quark */
-);
-
-extern XrmQuark XrmUniqueQuark(
- void
-);
-
-#define XrmStringsEqual(a1, a2) (strcmp(a1, a2) == 0)
-
-
-/****************************************************************
- *
- * Conversion of Strings to Lists
- *
- ****************************************************************/
-
-typedef enum {XrmBindTightly, XrmBindLoosely} XrmBinding, *XrmBindingList;
-
-extern void XrmStringToQuarkList(
- _Xconst char* /* string */,
- XrmQuarkList /* quarks_return */
-);
-
-extern void XrmStringToBindingQuarkList(
- _Xconst char* /* string */,
- XrmBindingList /* bindings_return */,
- XrmQuarkList /* quarks_return */
-);
-
-/****************************************************************
- *
- * Name and Class lists.
- *
- ****************************************************************/
-
-typedef XrmQuark XrmName;
-typedef XrmQuarkList XrmNameList;
-#define XrmNameToString(name) XrmQuarkToString(name)
-#define XrmStringToName(string) XrmStringToQuark(string)
-#define XrmStringToNameList(str, name) XrmStringToQuarkList(str, name)
-
-typedef XrmQuark XrmClass;
-typedef XrmQuarkList XrmClassList;
-#define XrmClassToString(c_class) XrmQuarkToString(c_class)
-#define XrmStringToClass(c_class) XrmStringToQuark(c_class)
-#define XrmStringToClassList(str,c_class) XrmStringToQuarkList(str, c_class)
-
-
-
-/****************************************************************
- *
- * Resource Representation Types and Values
- *
- ****************************************************************/
-
-typedef XrmQuark XrmRepresentation;
-#define XrmStringToRepresentation(string) XrmStringToQuark(string)
-#define XrmRepresentationToString(type) XrmQuarkToString(type)
-
-typedef struct {
- unsigned int size;
- XPointer addr;
-} XrmValue, *XrmValuePtr;
-
-
-/****************************************************************
- *
- * Resource Manager Functions
- *
- ****************************************************************/
-
-typedef struct _XrmHashBucketRec *XrmHashBucket;
-typedef XrmHashBucket *XrmHashTable;
-typedef XrmHashTable XrmSearchList[];
-typedef struct _XrmHashBucketRec *XrmDatabase;
-
-
-extern void XrmDestroyDatabase(
- XrmDatabase /* database */
-);
-
-extern void XrmQPutResource(
- XrmDatabase* /* database */,
- XrmBindingList /* bindings */,
- XrmQuarkList /* quarks */,
- XrmRepresentation /* type */,
- XrmValue* /* value */
-);
-
-extern void XrmPutResource(
- XrmDatabase* /* database */,
- _Xconst char* /* specifier */,
- _Xconst char* /* type */,
- XrmValue* /* value */
-);
-
-extern void XrmQPutStringResource(
- XrmDatabase* /* database */,
- XrmBindingList /* bindings */,
- XrmQuarkList /* quarks */,
- _Xconst char* /* value */
-);
-
-extern void XrmPutStringResource(
- XrmDatabase* /* database */,
- _Xconst char* /* specifier */,
- _Xconst char* /* value */
-);
-
-extern void XrmPutLineResource(
- XrmDatabase* /* database */,
- _Xconst char* /* line */
-);
-
-extern Bool XrmQGetResource(
- XrmDatabase /* database */,
- XrmNameList /* quark_name */,
- XrmClassList /* quark_class */,
- XrmRepresentation* /* quark_type_return */,
- XrmValue* /* value_return */
-);
-
-extern Bool XrmGetResource(
- XrmDatabase /* database */,
- _Xconst char* /* str_name */,
- _Xconst char* /* str_class */,
- char** /* str_type_return */,
- XrmValue* /* value_return */
-);
-
-extern Bool XrmQGetSearchList(
- XrmDatabase /* database */,
- XrmNameList /* names */,
- XrmClassList /* classes */,
- XrmSearchList /* list_return */,
- int /* list_length */
-);
-
-extern Bool XrmQGetSearchResource(
- XrmSearchList /* list */,
- XrmName /* name */,
- XrmClass /* class */,
- XrmRepresentation* /* type_return */,
- XrmValue* /* value_return */
-);
-
-/****************************************************************
- *
- * Resource Database Management
- *
- ****************************************************************/
-
-#ifndef _XP_PRINT_SERVER_
-
-extern void XrmSetDatabase(
- Display* /* display */,
- XrmDatabase /* database */
-);
-
-extern XrmDatabase XrmGetDatabase(
- Display* /* display */
-);
-
-#endif /* !_XP_PRINT_SERVER_ */
-
-extern XrmDatabase XrmGetFileDatabase(
- _Xconst char* /* filename */
-);
-
-extern Status XrmCombineFileDatabase(
- _Xconst char* /* filename */,
- XrmDatabase* /* target */,
- Bool /* override */
-);
-
-extern XrmDatabase XrmGetStringDatabase(
- _Xconst char* /* data */ /* null terminated string */
-);
-
-extern void XrmPutFileDatabase(
- XrmDatabase /* database */,
- _Xconst char* /* filename */
-);
-
-extern void XrmMergeDatabases(
- XrmDatabase /* source_db */,
- XrmDatabase* /* target_db */
-);
-
-extern void XrmCombineDatabase(
- XrmDatabase /* source_db */,
- XrmDatabase* /* target_db */,
- Bool /* override */
-);
-
-#define XrmEnumAllLevels 0
-#define XrmEnumOneLevel 1
-
-extern Bool XrmEnumerateDatabase(
- XrmDatabase /* db */,
- XrmNameList /* name_prefix */,
- XrmClassList /* class_prefix */,
- int /* mode */,
- Bool (*)(
- XrmDatabase* /* db */,
- XrmBindingList /* bindings */,
- XrmQuarkList /* quarks */,
- XrmRepresentation* /* type */,
- XrmValue* /* value */,
- XPointer /* closure */
- ) /* proc */,
- XPointer /* closure */
-);
-
-extern const char *XrmLocaleOfDatabase(
- XrmDatabase /* database */
-);
-
-
-/****************************************************************
- *
- * Command line option mapping to resource entries
- *
- ****************************************************************/
-
-typedef enum {
- XrmoptionNoArg, /* Value is specified in OptionDescRec.value */
- XrmoptionIsArg, /* Value is the option string itself */
- XrmoptionStickyArg, /* Value is characters immediately following option */
- XrmoptionSepArg, /* Value is next argument in argv */
- XrmoptionResArg, /* Resource and value in next argument in argv */
- XrmoptionSkipArg, /* Ignore this option and the next argument in argv */
- XrmoptionSkipLine, /* Ignore this option and the rest of argv */
- XrmoptionSkipNArgs /* Ignore this option and the next
- OptionDescRes.value arguments in argv */
-} XrmOptionKind;
-
-typedef struct {
- char *option; /* Option abbreviation in argv */
- char *specifier; /* Resource specifier */
- XrmOptionKind argKind; /* Which style of option it is */
- XPointer value; /* Value to provide if XrmoptionNoArg */
-} XrmOptionDescRec, *XrmOptionDescList;
-
-
-extern void XrmParseCommand(
- XrmDatabase* /* database */,
- XrmOptionDescList /* table */,
- int /* table_count */,
- _Xconst char* /* name */,
- int* /* argc_in_out */,
- char** /* argv_in_out */
-);
-
-_XFUNCPROTOEND
-
-#endif /* _XRESOURCE_H_ */
-/* DON'T ADD STUFF AFTER THIS #endif */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _X11_XRESOURCE_H_
+#define _X11_XRESOURCE_H_
+
+#ifndef _XP_PRINT_SERVER_
+#include <X11/Xlib.h>
+#endif
+
+/****************************************************************
+ ****************************************************************
+ *** ***
+ *** ***
+ *** X Resource Manager Intrinsics ***
+ *** ***
+ *** ***
+ ****************************************************************
+ ****************************************************************/
+
+_XFUNCPROTOBEGIN
+
+/****************************************************************
+ *
+ * Memory Management
+ *
+ ****************************************************************/
+
+extern char *Xpermalloc(
+ unsigned int /* size */
+);
+
+/****************************************************************
+ *
+ * Quark Management
+ *
+ ****************************************************************/
+
+typedef int XrmQuark, *XrmQuarkList;
+#define NULLQUARK ((XrmQuark) 0)
+
+typedef char *XrmString;
+#define NULLSTRING ((XrmString) 0)
+
+/* find quark for string, create new quark if none already exists */
+extern XrmQuark XrmStringToQuark(
+ _Xconst char* /* string */
+);
+
+extern XrmQuark XrmPermStringToQuark(
+ _Xconst char* /* string */
+);
+
+/* find string for quark */
+extern XrmString XrmQuarkToString(
+ XrmQuark /* quark */
+);
+
+extern XrmQuark XrmUniqueQuark(
+ void
+);
+
+#define XrmStringsEqual(a1, a2) (strcmp(a1, a2) == 0)
+
+
+/****************************************************************
+ *
+ * Conversion of Strings to Lists
+ *
+ ****************************************************************/
+
+typedef enum {XrmBindTightly, XrmBindLoosely} XrmBinding, *XrmBindingList;
+
+extern void XrmStringToQuarkList(
+ _Xconst char* /* string */,
+ XrmQuarkList /* quarks_return */
+);
+
+extern void XrmStringToBindingQuarkList(
+ _Xconst char* /* string */,
+ XrmBindingList /* bindings_return */,
+ XrmQuarkList /* quarks_return */
+);
+
+/****************************************************************
+ *
+ * Name and Class lists.
+ *
+ ****************************************************************/
+
+typedef XrmQuark XrmName;
+typedef XrmQuarkList XrmNameList;
+#define XrmNameToString(name) XrmQuarkToString(name)
+#define XrmStringToName(string) XrmStringToQuark(string)
+#define XrmStringToNameList(str, name) XrmStringToQuarkList(str, name)
+
+typedef XrmQuark XrmClass;
+typedef XrmQuarkList XrmClassList;
+#define XrmClassToString(c_class) XrmQuarkToString(c_class)
+#define XrmStringToClass(c_class) XrmStringToQuark(c_class)
+#define XrmStringToClassList(str,c_class) XrmStringToQuarkList(str, c_class)
+
+
+
+/****************************************************************
+ *
+ * Resource Representation Types and Values
+ *
+ ****************************************************************/
+
+typedef XrmQuark XrmRepresentation;
+#define XrmStringToRepresentation(string) XrmStringToQuark(string)
+#define XrmRepresentationToString(type) XrmQuarkToString(type)
+
+typedef struct {
+ unsigned int size;
+ XPointer addr;
+} XrmValue, *XrmValuePtr;
+
+
+/****************************************************************
+ *
+ * Resource Manager Functions
+ *
+ ****************************************************************/
+
+typedef struct _XrmHashBucketRec *XrmHashBucket;
+typedef XrmHashBucket *XrmHashTable;
+typedef XrmHashTable XrmSearchList[];
+typedef struct _XrmHashBucketRec *XrmDatabase;
+
+
+extern void XrmDestroyDatabase(
+ XrmDatabase /* database */
+);
+
+extern void XrmQPutResource(
+ XrmDatabase* /* database */,
+ XrmBindingList /* bindings */,
+ XrmQuarkList /* quarks */,
+ XrmRepresentation /* type */,
+ XrmValue* /* value */
+);
+
+extern void XrmPutResource(
+ XrmDatabase* /* database */,
+ _Xconst char* /* specifier */,
+ _Xconst char* /* type */,
+ XrmValue* /* value */
+);
+
+extern void XrmQPutStringResource(
+ XrmDatabase* /* database */,
+ XrmBindingList /* bindings */,
+ XrmQuarkList /* quarks */,
+ _Xconst char* /* value */
+);
+
+extern void XrmPutStringResource(
+ XrmDatabase* /* database */,
+ _Xconst char* /* specifier */,
+ _Xconst char* /* value */
+);
+
+extern void XrmPutLineResource(
+ XrmDatabase* /* database */,
+ _Xconst char* /* line */
+);
+
+extern Bool XrmQGetResource(
+ XrmDatabase /* database */,
+ XrmNameList /* quark_name */,
+ XrmClassList /* quark_class */,
+ XrmRepresentation* /* quark_type_return */,
+ XrmValue* /* value_return */
+);
+
+extern Bool XrmGetResource(
+ XrmDatabase /* database */,
+ _Xconst char* /* str_name */,
+ _Xconst char* /* str_class */,
+ char** /* str_type_return */,
+ XrmValue* /* value_return */
+);
+
+extern Bool XrmQGetSearchList(
+ XrmDatabase /* database */,
+ XrmNameList /* names */,
+ XrmClassList /* classes */,
+ XrmSearchList /* list_return */,
+ int /* list_length */
+);
+
+extern Bool XrmQGetSearchResource(
+ XrmSearchList /* list */,
+ XrmName /* name */,
+ XrmClass /* class */,
+ XrmRepresentation* /* type_return */,
+ XrmValue* /* value_return */
+);
+
+/****************************************************************
+ *
+ * Resource Database Management
+ *
+ ****************************************************************/
+
+#ifndef _XP_PRINT_SERVER_
+
+extern void XrmSetDatabase(
+ Display* /* display */,
+ XrmDatabase /* database */
+);
+
+extern XrmDatabase XrmGetDatabase(
+ Display* /* display */
+);
+
+#endif /* !_XP_PRINT_SERVER_ */
+
+extern XrmDatabase XrmGetFileDatabase(
+ _Xconst char* /* filename */
+);
+
+extern Status XrmCombineFileDatabase(
+ _Xconst char* /* filename */,
+ XrmDatabase* /* target */,
+ Bool /* override */
+);
+
+extern XrmDatabase XrmGetStringDatabase(
+ _Xconst char* /* data */ /* null terminated string */
+);
+
+extern void XrmPutFileDatabase(
+ XrmDatabase /* database */,
+ _Xconst char* /* filename */
+);
+
+extern void XrmMergeDatabases(
+ XrmDatabase /* source_db */,
+ XrmDatabase* /* target_db */
+);
+
+extern void XrmCombineDatabase(
+ XrmDatabase /* source_db */,
+ XrmDatabase* /* target_db */,
+ Bool /* override */
+);
+
+#define XrmEnumAllLevels 0
+#define XrmEnumOneLevel 1
+
+extern Bool XrmEnumerateDatabase(
+ XrmDatabase /* db */,
+ XrmNameList /* name_prefix */,
+ XrmClassList /* class_prefix */,
+ int /* mode */,
+ Bool (*)(
+ XrmDatabase* /* db */,
+ XrmBindingList /* bindings */,
+ XrmQuarkList /* quarks */,
+ XrmRepresentation* /* type */,
+ XrmValue* /* value */,
+ XPointer /* closure */
+ ) /* proc */,
+ XPointer /* closure */
+);
+
+extern const char *XrmLocaleOfDatabase(
+ XrmDatabase /* database */
+);
+
+
+/****************************************************************
+ *
+ * Command line option mapping to resource entries
+ *
+ ****************************************************************/
+
+typedef enum {
+ XrmoptionNoArg, /* Value is specified in OptionDescRec.value */
+ XrmoptionIsArg, /* Value is the option string itself */
+ XrmoptionStickyArg, /* Value is characters immediately following option */
+ XrmoptionSepArg, /* Value is next argument in argv */
+ XrmoptionResArg, /* Resource and value in next argument in argv */
+ XrmoptionSkipArg, /* Ignore this option and the next argument in argv */
+ XrmoptionSkipLine, /* Ignore this option and the rest of argv */
+ XrmoptionSkipNArgs /* Ignore this option and the next
+ OptionDescRes.value arguments in argv */
+} XrmOptionKind;
+
+typedef struct {
+ char *option; /* Option abbreviation in argv */
+ char *specifier; /* Resource specifier */
+ XrmOptionKind argKind; /* Which style of option it is */
+ XPointer value; /* Value to provide if XrmoptionNoArg */
+} XrmOptionDescRec, *XrmOptionDescList;
+
+
+extern void XrmParseCommand(
+ XrmDatabase* /* database */,
+ XrmOptionDescList /* table */,
+ int /* table_count */,
+ _Xconst char* /* name */,
+ int* /* argc_in_out */,
+ char** /* argv_in_out */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _X11_XRESOURCE_H_ */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/X11/Xutil.h b/X11/Xutil.h
index 8ff34d9f0..a97f489f1 100644
--- a/X11/Xutil.h
+++ b/X11/Xutil.h
@@ -1,826 +1,826 @@
-
-/***********************************************************
-
-Copyright 1987, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
- All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the name of Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
-ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-SOFTWARE.
-
-******************************************************************/
-
-#ifndef _XUTIL_H_
-#define _XUTIL_H_
-
-/* You must include <X11/Xlib.h> before including this file */
-#include <X11/Xlib.h>
-#include <X11/keysym.h>
-
-/*
- * Bitmask returned by XParseGeometry(). Each bit tells if the corresponding
- * value (x, y, width, height) was found in the parsed string.
- */
-#define NoValue 0x0000
-#define XValue 0x0001
-#define YValue 0x0002
-#define WidthValue 0x0004
-#define HeightValue 0x0008
-#define AllValues 0x000F
-#define XNegative 0x0010
-#define YNegative 0x0020
-
-/*
- * new version containing base_width, base_height, and win_gravity fields;
- * used with WM_NORMAL_HINTS.
- */
-typedef struct {
- long flags; /* marks which fields in this structure are defined */
- int x, y; /* obsolete for new window mgrs, but clients */
- int width, height; /* should set so old wm's don't mess up */
- int min_width, min_height;
- int max_width, max_height;
- int width_inc, height_inc;
- struct {
- int x; /* numerator */
- int y; /* denominator */
- } min_aspect, max_aspect;
- int base_width, base_height; /* added by ICCCM version 1 */
- int win_gravity; /* added by ICCCM version 1 */
-} XSizeHints;
-
-/*
- * The next block of definitions are for window manager properties that
- * clients and applications use for communication.
- */
-
-/* flags argument in size hints */
-#define USPosition (1L << 0) /* user specified x, y */
-#define USSize (1L << 1) /* user specified width, height */
-
-#define PPosition (1L << 2) /* program specified position */
-#define PSize (1L << 3) /* program specified size */
-#define PMinSize (1L << 4) /* program specified minimum size */
-#define PMaxSize (1L << 5) /* program specified maximum size */
-#define PResizeInc (1L << 6) /* program specified resize increments */
-#define PAspect (1L << 7) /* program specified min and max aspect ratios */
-#define PBaseSize (1L << 8) /* program specified base for incrementing */
-#define PWinGravity (1L << 9) /* program specified window gravity */
-
-/* obsolete */
-#define PAllHints (PPosition|PSize|PMinSize|PMaxSize|PResizeInc|PAspect)
-
-
-
-typedef struct {
- long flags; /* marks which fields in this structure are defined */
- Bool input; /* does this application rely on the window manager to
- get keyboard input? */
- int initial_state; /* see below */
- Pixmap icon_pixmap; /* pixmap to be used as icon */
- Window icon_window; /* window to be used as icon */
- int icon_x, icon_y; /* initial position of icon */
- Pixmap icon_mask; /* icon mask bitmap */
- XID window_group; /* id of related window group */
- /* this structure may be extended in the future */
-} XWMHints;
-
-/* definition for flags of XWMHints */
-
-#define InputHint (1L << 0)
-#define StateHint (1L << 1)
-#define IconPixmapHint (1L << 2)
-#define IconWindowHint (1L << 3)
-#define IconPositionHint (1L << 4)
-#define IconMaskHint (1L << 5)
-#define WindowGroupHint (1L << 6)
-#define AllHints (InputHint|StateHint|IconPixmapHint|IconWindowHint| \
-IconPositionHint|IconMaskHint|WindowGroupHint)
-#define XUrgencyHint (1L << 8)
-
-/* definitions for initial window state */
-#define WithdrawnState 0 /* for windows that are not mapped */
-#define NormalState 1 /* most applications want to start this way */
-#define IconicState 3 /* application wants to start as an icon */
-
-/*
- * Obsolete states no longer defined by ICCCM
- */
-#define DontCareState 0 /* don't know or care */
-#define ZoomState 2 /* application wants to start zoomed */
-#define InactiveState 4 /* application believes it is seldom used; */
- /* some wm's may put it on inactive menu */
-
-
-/*
- * new structure for manipulating TEXT properties; used with WM_NAME,
- * WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND.
- */
-typedef struct {
- unsigned char *value; /* same as Property routines */
- Atom encoding; /* prop type */
- int format; /* prop data format: 8, 16, or 32 */
- unsigned long nitems; /* number of data items in value */
-} XTextProperty;
-
-#define XNoMemory -1
-#define XLocaleNotSupported -2
-#define XConverterNotFound -3
-
-typedef enum {
- XStringStyle, /* STRING */
- XCompoundTextStyle, /* COMPOUND_TEXT */
- XTextStyle, /* text in owner's encoding (current locale)*/
- XStdICCTextStyle, /* STRING, else COMPOUND_TEXT */
- /* The following is an XFree86 extension, introduced in November 2000 */
- XUTF8StringStyle /* UTF8_STRING */
-} XICCEncodingStyle;
-
-typedef struct {
- int min_width, min_height;
- int max_width, max_height;
- int width_inc, height_inc;
-} XIconSize;
-
-typedef struct {
- char *res_name;
- char *res_class;
-} XClassHint;
-
-#ifdef XUTIL_DEFINE_FUNCTIONS
-extern int XDestroyImage(
- XImage *ximage);
-extern unsigned long XGetPixel(
- XImage *ximage,
- int x, int y);
-extern int XPutPixel(
- XImage *ximage,
- int x, int y,
- unsigned long pixel);
-extern XImage *XSubImage(
- XImage *ximage,
- int x, int y,
- unsigned int width, unsigned int height);
-extern int XAddPixel(
- XImage *ximage,
- long value);
-#else
-/*
- * These macros are used to give some sugar to the image routines so that
- * naive people are more comfortable with them.
- */
-#define XDestroyImage(ximage) \
- ((*((ximage)->f.destroy_image))((ximage)))
-#define XGetPixel(ximage, x, y) \
- ((*((ximage)->f.get_pixel))((ximage), (x), (y)))
-#define XPutPixel(ximage, x, y, pixel) \
- ((*((ximage)->f.put_pixel))((ximage), (x), (y), (pixel)))
-#define XSubImage(ximage, x, y, width, height) \
- ((*((ximage)->f.sub_image))((ximage), (x), (y), (width), (height)))
-#define XAddPixel(ximage, value) \
- ((*((ximage)->f.add_pixel))((ximage), (value)))
-#endif
-
-/*
- * Compose sequence status structure, used in calling XLookupString.
- */
-typedef struct _XComposeStatus {
- XPointer compose_ptr; /* state table pointer */
- int chars_matched; /* match state */
-} XComposeStatus;
-
-/*
- * Keysym macros, used on Keysyms to test for classes of symbols
- */
-#define IsKeypadKey(keysym) \
- (((KeySym)(keysym) >= XK_KP_Space) && ((KeySym)(keysym) <= XK_KP_Equal))
-
-#define IsPrivateKeypadKey(keysym) \
- (((KeySym)(keysym) >= 0x11000000) && ((KeySym)(keysym) <= 0x1100FFFF))
-
-#define IsCursorKey(keysym) \
- (((KeySym)(keysym) >= XK_Home) && ((KeySym)(keysym) < XK_Select))
-
-#define IsPFKey(keysym) \
- (((KeySym)(keysym) >= XK_KP_F1) && ((KeySym)(keysym) <= XK_KP_F4))
-
-#define IsFunctionKey(keysym) \
- (((KeySym)(keysym) >= XK_F1) && ((KeySym)(keysym) <= XK_F35))
-
-#define IsMiscFunctionKey(keysym) \
- (((KeySym)(keysym) >= XK_Select) && ((KeySym)(keysym) <= XK_Break))
-
-#ifdef XK_XKB_KEYS
-#define IsModifierKey(keysym) \
- ((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \
- || (((KeySym)(keysym) >= XK_ISO_Lock) && \
- ((KeySym)(keysym) <= XK_ISO_Last_Group_Lock)) \
- || ((KeySym)(keysym) == XK_Mode_switch) \
- || ((KeySym)(keysym) == XK_Num_Lock))
-#else
-#define IsModifierKey(keysym) \
- ((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \
- || ((KeySym)(keysym) == XK_Mode_switch) \
- || ((KeySym)(keysym) == XK_Num_Lock))
-#endif
-/*
- * opaque reference to Region data type
- */
-typedef struct _XRegion *Region;
-
-/* Return values from XRectInRegion() */
-
-#define RectangleOut 0
-#define RectangleIn 1
-#define RectanglePart 2
-
-
-/*
- * Information used by the visual utility routines to find desired visual
- * type from the many visuals a display may support.
- */
-
-typedef struct {
- Visual *visual;
- VisualID visualid;
- int screen;
- int depth;
-#if defined(__cplusplus) || defined(c_plusplus)
- int c_class; /* C++ */
-#else
- int class;
-#endif
- unsigned long red_mask;
- unsigned long green_mask;
- unsigned long blue_mask;
- int colormap_size;
- int bits_per_rgb;
-} XVisualInfo;
-
-#define VisualNoMask 0x0
-#define VisualIDMask 0x1
-#define VisualScreenMask 0x2
-#define VisualDepthMask 0x4
-#define VisualClassMask 0x8
-#define VisualRedMaskMask 0x10
-#define VisualGreenMaskMask 0x20
-#define VisualBlueMaskMask 0x40
-#define VisualColormapSizeMask 0x80
-#define VisualBitsPerRGBMask 0x100
-#define VisualAllMask 0x1FF
-
-/*
- * This defines a window manager property that clients may use to
- * share standard color maps of type RGB_COLOR_MAP:
- */
-typedef struct {
- Colormap colormap;
- unsigned long red_max;
- unsigned long red_mult;
- unsigned long green_max;
- unsigned long green_mult;
- unsigned long blue_max;
- unsigned long blue_mult;
- unsigned long base_pixel;
- VisualID visualid; /* added by ICCCM version 1 */
- XID killid; /* added by ICCCM version 1 */
-} XStandardColormap;
-
-#define ReleaseByFreeingColormap ((XID) 1L) /* for killid field above */
-
-
-/*
- * return codes for XReadBitmapFile and XWriteBitmapFile
- */
-#define BitmapSuccess 0
-#define BitmapOpenFailed 1
-#define BitmapFileInvalid 2
-#define BitmapNoMemory 3
-
-/****************************************************************
- *
- * Context Management
- *
- ****************************************************************/
-
-
-/* Associative lookup table return codes */
-
-#define XCSUCCESS 0 /* No error. */
-#define XCNOMEM 1 /* Out of memory */
-#define XCNOENT 2 /* No entry in table */
-
-typedef int XContext;
-
-#define XUniqueContext() ((XContext) XrmUniqueQuark())
-#define XStringToContext(string) ((XContext) XrmStringToQuark(string))
-
-_XFUNCPROTOBEGIN
-
-/* The following declarations are alphabetized. */
-
-extern XClassHint *XAllocClassHint (
- void
-);
-
-extern XIconSize *XAllocIconSize (
- void
-);
-
-extern XSizeHints *XAllocSizeHints (
- void
-);
-
-extern XStandardColormap *XAllocStandardColormap (
- void
-);
-
-extern XWMHints *XAllocWMHints (
- void
-);
-
-extern int XClipBox(
- Region /* r */,
- XRectangle* /* rect_return */
-);
-
-extern Region XCreateRegion(
- void
-);
-
-extern const char *XDefaultString (void);
-
-extern int XDeleteContext(
- Display* /* display */,
- XID /* rid */,
- XContext /* context */
-);
-
-extern int XDestroyRegion(
- Region /* r */
-);
-
-extern int XEmptyRegion(
- Region /* r */
-);
-
-extern int XEqualRegion(
- Region /* r1 */,
- Region /* r2 */
-);
-
-extern int XFindContext(
- Display* /* display */,
- XID /* rid */,
- XContext /* context */,
- XPointer* /* data_return */
-);
-
-extern Status XGetClassHint(
- Display* /* display */,
- Window /* w */,
- XClassHint* /* class_hints_return */
-);
-
-extern Status XGetIconSizes(
- Display* /* display */,
- Window /* w */,
- XIconSize** /* size_list_return */,
- int* /* count_return */
-);
-
-extern Status XGetNormalHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* hints_return */
-);
-
-extern Status XGetRGBColormaps(
- Display* /* display */,
- Window /* w */,
- XStandardColormap** /* stdcmap_return */,
- int* /* count_return */,
- Atom /* property */
-);
-
-extern Status XGetSizeHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* hints_return */,
- Atom /* property */
-);
-
-extern Status XGetStandardColormap(
- Display* /* display */,
- Window /* w */,
- XStandardColormap* /* colormap_return */,
- Atom /* property */
-);
-
-extern Status XGetTextProperty(
- Display* /* display */,
- Window /* window */,
- XTextProperty* /* text_prop_return */,
- Atom /* property */
-);
-
-extern XVisualInfo *XGetVisualInfo(
- Display* /* display */,
- long /* vinfo_mask */,
- XVisualInfo* /* vinfo_template */,
- int* /* nitems_return */
-);
-
-extern Status XGetWMClientMachine(
- Display* /* display */,
- Window /* w */,
- XTextProperty* /* text_prop_return */
-);
-
-extern XWMHints *XGetWMHints(
- Display* /* display */,
- Window /* w */
-);
-
-extern Status XGetWMIconName(
- Display* /* display */,
- Window /* w */,
- XTextProperty* /* text_prop_return */
-);
-
-extern Status XGetWMName(
- Display* /* display */,
- Window /* w */,
- XTextProperty* /* text_prop_return */
-);
-
-extern Status XGetWMNormalHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* hints_return */,
- long* /* supplied_return */
-);
-
-extern Status XGetWMSizeHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* hints_return */,
- long* /* supplied_return */,
- Atom /* property */
-);
-
-extern Status XGetZoomHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* zhints_return */
-);
-
-extern int XIntersectRegion(
- Region /* sra */,
- Region /* srb */,
- Region /* dr_return */
-);
-
-extern void XConvertCase(
- KeySym /* sym */,
- KeySym* /* lower */,
- KeySym* /* upper */
-);
-
-extern int XLookupString(
- XKeyEvent* /* event_struct */,
- char* /* buffer_return */,
- int /* bytes_buffer */,
- KeySym* /* keysym_return */,
- XComposeStatus* /* status_in_out */
-);
-
-extern Status XMatchVisualInfo(
- Display* /* display */,
- int /* screen */,
- int /* depth */,
- int /* class */,
- XVisualInfo* /* vinfo_return */
-);
-
-extern int XOffsetRegion(
- Region /* r */,
- int /* dx */,
- int /* dy */
-);
-
-extern Bool XPointInRegion(
- Region /* r */,
- int /* x */,
- int /* y */
-);
-
-extern Region XPolygonRegion(
- XPoint* /* points */,
- int /* n */,
- int /* fill_rule */
-);
-
-extern int XRectInRegion(
- Region /* r */,
- int /* x */,
- int /* y */,
- unsigned int /* width */,
- unsigned int /* height */
-);
-
-extern int XSaveContext(
- Display* /* display */,
- XID /* rid */,
- XContext /* context */,
- _Xconst char* /* data */
-);
-
-extern int XSetClassHint(
- Display* /* display */,
- Window /* w */,
- XClassHint* /* class_hints */
-);
-
-extern int XSetIconSizes(
- Display* /* display */,
- Window /* w */,
- XIconSize* /* size_list */,
- int /* count */
-);
-
-extern int XSetNormalHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* hints */
-);
-
-extern void XSetRGBColormaps(
- Display* /* display */,
- Window /* w */,
- XStandardColormap* /* stdcmaps */,
- int /* count */,
- Atom /* property */
-);
-
-extern int XSetSizeHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* hints */,
- Atom /* property */
-);
-
-extern int XSetStandardProperties(
- Display* /* display */,
- Window /* w */,
- _Xconst char* /* window_name */,
- _Xconst char* /* icon_name */,
- Pixmap /* icon_pixmap */,
- char** /* argv */,
- int /* argc */,
- XSizeHints* /* hints */
-);
-
-extern void XSetTextProperty(
- Display* /* display */,
- Window /* w */,
- XTextProperty* /* text_prop */,
- Atom /* property */
-);
-
-extern void XSetWMClientMachine(
- Display* /* display */,
- Window /* w */,
- XTextProperty* /* text_prop */
-);
-
-extern int XSetWMHints(
- Display* /* display */,
- Window /* w */,
- XWMHints* /* wm_hints */
-);
-
-extern void XSetWMIconName(
- Display* /* display */,
- Window /* w */,
- XTextProperty* /* text_prop */
-);
-
-extern void XSetWMName(
- Display* /* display */,
- Window /* w */,
- XTextProperty* /* text_prop */
-);
-
-extern void XSetWMNormalHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* hints */
-);
-
-extern void XSetWMProperties(
- Display* /* display */,
- Window /* w */,
- XTextProperty* /* window_name */,
- XTextProperty* /* icon_name */,
- char** /* argv */,
- int /* argc */,
- XSizeHints* /* normal_hints */,
- XWMHints* /* wm_hints */,
- XClassHint* /* class_hints */
-);
-
-extern void XmbSetWMProperties(
- Display* /* display */,
- Window /* w */,
- _Xconst char* /* window_name */,
- _Xconst char* /* icon_name */,
- char** /* argv */,
- int /* argc */,
- XSizeHints* /* normal_hints */,
- XWMHints* /* wm_hints */,
- XClassHint* /* class_hints */
-);
-
-extern void Xutf8SetWMProperties(
- Display* /* display */,
- Window /* w */,
- _Xconst char* /* window_name */,
- _Xconst char* /* icon_name */,
- char** /* argv */,
- int /* argc */,
- XSizeHints* /* normal_hints */,
- XWMHints* /* wm_hints */,
- XClassHint* /* class_hints */
-);
-
-extern void XSetWMSizeHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* hints */,
- Atom /* property */
-);
-
-extern int XSetRegion(
- Display* /* display */,
- GC /* gc */,
- Region /* r */
-);
-
-extern void XSetStandardColormap(
- Display* /* display */,
- Window /* w */,
- XStandardColormap* /* colormap */,
- Atom /* property */
-);
-
-extern int XSetZoomHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* zhints */
-);
-
-extern int XShrinkRegion(
- Region /* r */,
- int /* dx */,
- int /* dy */
-);
-
-extern Status XStringListToTextProperty(
- char** /* list */,
- int /* count */,
- XTextProperty* /* text_prop_return */
-);
-
-extern int XSubtractRegion(
- Region /* sra */,
- Region /* srb */,
- Region /* dr_return */
-);
-
-extern int XmbTextListToTextProperty(
- Display* display,
- char** list,
- int count,
- XICCEncodingStyle style,
- XTextProperty* text_prop_return
-);
-
-extern int XwcTextListToTextProperty(
- Display* display,
- wchar_t** list,
- int count,
- XICCEncodingStyle style,
- XTextProperty* text_prop_return
-);
-
-extern int Xutf8TextListToTextProperty(
- Display* display,
- char** list,
- int count,
- XICCEncodingStyle style,
- XTextProperty* text_prop_return
-);
-
-extern void XwcFreeStringList(
- wchar_t** list
-);
-
-extern Status XTextPropertyToStringList(
- XTextProperty* /* text_prop */,
- char*** /* list_return */,
- int* /* count_return */
-);
-
-extern int XmbTextPropertyToTextList(
- Display* display,
- const XTextProperty* text_prop,
- char*** list_return,
- int* count_return
-);
-
-extern int XwcTextPropertyToTextList(
- Display* display,
- const XTextProperty* text_prop,
- wchar_t*** list_return,
- int* count_return
-);
-
-extern int Xutf8TextPropertyToTextList(
- Display* display,
- const XTextProperty* text_prop,
- char*** list_return,
- int* count_return
-);
-
-extern int XUnionRectWithRegion(
- XRectangle* /* rectangle */,
- Region /* src_region */,
- Region /* dest_region_return */
-);
-
-extern int XUnionRegion(
- Region /* sra */,
- Region /* srb */,
- Region /* dr_return */
-);
-
-extern int XWMGeometry(
- Display* /* display */,
- int /* screen_number */,
- _Xconst char* /* user_geometry */,
- _Xconst char* /* default_geometry */,
- unsigned int /* border_width */,
- XSizeHints* /* hints */,
- int* /* x_return */,
- int* /* y_return */,
- int* /* width_return */,
- int* /* height_return */,
- int* /* gravity_return */
-);
-
-extern int XXorRegion(
- Region /* sra */,
- Region /* srb */,
- Region /* dr_return */
-);
-
-_XFUNCPROTOEND
-
-#endif /* _XUTIL_H_ */
+
+/***********************************************************
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _X11_XUTIL_H_
+#define _X11_XUTIL_H_
+
+/* You must include <X11/Xlib.h> before including this file */
+#include <X11/Xlib.h>
+#include <X11/keysym.h>
+
+/*
+ * Bitmask returned by XParseGeometry(). Each bit tells if the corresponding
+ * value (x, y, width, height) was found in the parsed string.
+ */
+#define NoValue 0x0000
+#define XValue 0x0001
+#define YValue 0x0002
+#define WidthValue 0x0004
+#define HeightValue 0x0008
+#define AllValues 0x000F
+#define XNegative 0x0010
+#define YNegative 0x0020
+
+/*
+ * new version containing base_width, base_height, and win_gravity fields;
+ * used with WM_NORMAL_HINTS.
+ */
+typedef struct {
+ long flags; /* marks which fields in this structure are defined */
+ int x, y; /* obsolete for new window mgrs, but clients */
+ int width, height; /* should set so old wm's don't mess up */
+ int min_width, min_height;
+ int max_width, max_height;
+ int width_inc, height_inc;
+ struct {
+ int x; /* numerator */
+ int y; /* denominator */
+ } min_aspect, max_aspect;
+ int base_width, base_height; /* added by ICCCM version 1 */
+ int win_gravity; /* added by ICCCM version 1 */
+} XSizeHints;
+
+/*
+ * The next block of definitions are for window manager properties that
+ * clients and applications use for communication.
+ */
+
+/* flags argument in size hints */
+#define USPosition (1L << 0) /* user specified x, y */
+#define USSize (1L << 1) /* user specified width, height */
+
+#define PPosition (1L << 2) /* program specified position */
+#define PSize (1L << 3) /* program specified size */
+#define PMinSize (1L << 4) /* program specified minimum size */
+#define PMaxSize (1L << 5) /* program specified maximum size */
+#define PResizeInc (1L << 6) /* program specified resize increments */
+#define PAspect (1L << 7) /* program specified min and max aspect ratios */
+#define PBaseSize (1L << 8) /* program specified base for incrementing */
+#define PWinGravity (1L << 9) /* program specified window gravity */
+
+/* obsolete */
+#define PAllHints (PPosition|PSize|PMinSize|PMaxSize|PResizeInc|PAspect)
+
+
+
+typedef struct {
+ long flags; /* marks which fields in this structure are defined */
+ Bool input; /* does this application rely on the window manager to
+ get keyboard input? */
+ int initial_state; /* see below */
+ Pixmap icon_pixmap; /* pixmap to be used as icon */
+ Window icon_window; /* window to be used as icon */
+ int icon_x, icon_y; /* initial position of icon */
+ Pixmap icon_mask; /* icon mask bitmap */
+ XID window_group; /* id of related window group */
+ /* this structure may be extended in the future */
+} XWMHints;
+
+/* definition for flags of XWMHints */
+
+#define InputHint (1L << 0)
+#define StateHint (1L << 1)
+#define IconPixmapHint (1L << 2)
+#define IconWindowHint (1L << 3)
+#define IconPositionHint (1L << 4)
+#define IconMaskHint (1L << 5)
+#define WindowGroupHint (1L << 6)
+#define AllHints (InputHint|StateHint|IconPixmapHint|IconWindowHint| \
+IconPositionHint|IconMaskHint|WindowGroupHint)
+#define XUrgencyHint (1L << 8)
+
+/* definitions for initial window state */
+#define WithdrawnState 0 /* for windows that are not mapped */
+#define NormalState 1 /* most applications want to start this way */
+#define IconicState 3 /* application wants to start as an icon */
+
+/*
+ * Obsolete states no longer defined by ICCCM
+ */
+#define DontCareState 0 /* don't know or care */
+#define ZoomState 2 /* application wants to start zoomed */
+#define InactiveState 4 /* application believes it is seldom used; */
+ /* some wm's may put it on inactive menu */
+
+
+/*
+ * new structure for manipulating TEXT properties; used with WM_NAME,
+ * WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND.
+ */
+typedef struct {
+ unsigned char *value; /* same as Property routines */
+ Atom encoding; /* prop type */
+ int format; /* prop data format: 8, 16, or 32 */
+ unsigned long nitems; /* number of data items in value */
+} XTextProperty;
+
+#define XNoMemory -1
+#define XLocaleNotSupported -2
+#define XConverterNotFound -3
+
+typedef enum {
+ XStringStyle, /* STRING */
+ XCompoundTextStyle, /* COMPOUND_TEXT */
+ XTextStyle, /* text in owner's encoding (current locale)*/
+ XStdICCTextStyle, /* STRING, else COMPOUND_TEXT */
+ /* The following is an XFree86 extension, introduced in November 2000 */
+ XUTF8StringStyle /* UTF8_STRING */
+} XICCEncodingStyle;
+
+typedef struct {
+ int min_width, min_height;
+ int max_width, max_height;
+ int width_inc, height_inc;
+} XIconSize;
+
+typedef struct {
+ char *res_name;
+ char *res_class;
+} XClassHint;
+
+#ifdef XUTIL_DEFINE_FUNCTIONS
+extern int XDestroyImage(
+ XImage *ximage);
+extern unsigned long XGetPixel(
+ XImage *ximage,
+ int x, int y);
+extern int XPutPixel(
+ XImage *ximage,
+ int x, int y,
+ unsigned long pixel);
+extern XImage *XSubImage(
+ XImage *ximage,
+ int x, int y,
+ unsigned int width, unsigned int height);
+extern int XAddPixel(
+ XImage *ximage,
+ long value);
+#else
+/*
+ * These macros are used to give some sugar to the image routines so that
+ * naive people are more comfortable with them.
+ */
+#define XDestroyImage(ximage) \
+ ((*((ximage)->f.destroy_image))((ximage)))
+#define XGetPixel(ximage, x, y) \
+ ((*((ximage)->f.get_pixel))((ximage), (x), (y)))
+#define XPutPixel(ximage, x, y, pixel) \
+ ((*((ximage)->f.put_pixel))((ximage), (x), (y), (pixel)))
+#define XSubImage(ximage, x, y, width, height) \
+ ((*((ximage)->f.sub_image))((ximage), (x), (y), (width), (height)))
+#define XAddPixel(ximage, value) \
+ ((*((ximage)->f.add_pixel))((ximage), (value)))
+#endif
+
+/*
+ * Compose sequence status structure, used in calling XLookupString.
+ */
+typedef struct _XComposeStatus {
+ XPointer compose_ptr; /* state table pointer */
+ int chars_matched; /* match state */
+} XComposeStatus;
+
+/*
+ * Keysym macros, used on Keysyms to test for classes of symbols
+ */
+#define IsKeypadKey(keysym) \
+ (((KeySym)(keysym) >= XK_KP_Space) && ((KeySym)(keysym) <= XK_KP_Equal))
+
+#define IsPrivateKeypadKey(keysym) \
+ (((KeySym)(keysym) >= 0x11000000) && ((KeySym)(keysym) <= 0x1100FFFF))
+
+#define IsCursorKey(keysym) \
+ (((KeySym)(keysym) >= XK_Home) && ((KeySym)(keysym) < XK_Select))
+
+#define IsPFKey(keysym) \
+ (((KeySym)(keysym) >= XK_KP_F1) && ((KeySym)(keysym) <= XK_KP_F4))
+
+#define IsFunctionKey(keysym) \
+ (((KeySym)(keysym) >= XK_F1) && ((KeySym)(keysym) <= XK_F35))
+
+#define IsMiscFunctionKey(keysym) \
+ (((KeySym)(keysym) >= XK_Select) && ((KeySym)(keysym) <= XK_Break))
+
+#ifdef XK_XKB_KEYS
+#define IsModifierKey(keysym) \
+ ((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \
+ || (((KeySym)(keysym) >= XK_ISO_Lock) && \
+ ((KeySym)(keysym) <= XK_ISO_Last_Group_Lock)) \
+ || ((KeySym)(keysym) == XK_Mode_switch) \
+ || ((KeySym)(keysym) == XK_Num_Lock))
+#else
+#define IsModifierKey(keysym) \
+ ((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \
+ || ((KeySym)(keysym) == XK_Mode_switch) \
+ || ((KeySym)(keysym) == XK_Num_Lock))
+#endif
+/*
+ * opaque reference to Region data type
+ */
+typedef struct _XRegion *Region;
+
+/* Return values from XRectInRegion() */
+
+#define RectangleOut 0
+#define RectangleIn 1
+#define RectanglePart 2
+
+
+/*
+ * Information used by the visual utility routines to find desired visual
+ * type from the many visuals a display may support.
+ */
+
+typedef struct {
+ Visual *visual;
+ VisualID visualid;
+ int screen;
+ int depth;
+#if defined(__cplusplus) || defined(c_plusplus)
+ int c_class; /* C++ */
+#else
+ int class;
+#endif
+ unsigned long red_mask;
+ unsigned long green_mask;
+ unsigned long blue_mask;
+ int colormap_size;
+ int bits_per_rgb;
+} XVisualInfo;
+
+#define VisualNoMask 0x0
+#define VisualIDMask 0x1
+#define VisualScreenMask 0x2
+#define VisualDepthMask 0x4
+#define VisualClassMask 0x8
+#define VisualRedMaskMask 0x10
+#define VisualGreenMaskMask 0x20
+#define VisualBlueMaskMask 0x40
+#define VisualColormapSizeMask 0x80
+#define VisualBitsPerRGBMask 0x100
+#define VisualAllMask 0x1FF
+
+/*
+ * This defines a window manager property that clients may use to
+ * share standard color maps of type RGB_COLOR_MAP:
+ */
+typedef struct {
+ Colormap colormap;
+ unsigned long red_max;
+ unsigned long red_mult;
+ unsigned long green_max;
+ unsigned long green_mult;
+ unsigned long blue_max;
+ unsigned long blue_mult;
+ unsigned long base_pixel;
+ VisualID visualid; /* added by ICCCM version 1 */
+ XID killid; /* added by ICCCM version 1 */
+} XStandardColormap;
+
+#define ReleaseByFreeingColormap ((XID) 1L) /* for killid field above */
+
+
+/*
+ * return codes for XReadBitmapFile and XWriteBitmapFile
+ */
+#define BitmapSuccess 0
+#define BitmapOpenFailed 1
+#define BitmapFileInvalid 2
+#define BitmapNoMemory 3
+
+/****************************************************************
+ *
+ * Context Management
+ *
+ ****************************************************************/
+
+
+/* Associative lookup table return codes */
+
+#define XCSUCCESS 0 /* No error. */
+#define XCNOMEM 1 /* Out of memory */
+#define XCNOENT 2 /* No entry in table */
+
+typedef int XContext;
+
+#define XUniqueContext() ((XContext) XrmUniqueQuark())
+#define XStringToContext(string) ((XContext) XrmStringToQuark(string))
+
+_XFUNCPROTOBEGIN
+
+/* The following declarations are alphabetized. */
+
+extern XClassHint *XAllocClassHint (
+ void
+);
+
+extern XIconSize *XAllocIconSize (
+ void
+);
+
+extern XSizeHints *XAllocSizeHints (
+ void
+);
+
+extern XStandardColormap *XAllocStandardColormap (
+ void
+);
+
+extern XWMHints *XAllocWMHints (
+ void
+);
+
+extern int XClipBox(
+ Region /* r */,
+ XRectangle* /* rect_return */
+);
+
+extern Region XCreateRegion(
+ void
+);
+
+extern const char *XDefaultString (void);
+
+extern int XDeleteContext(
+ Display* /* display */,
+ XID /* rid */,
+ XContext /* context */
+);
+
+extern int XDestroyRegion(
+ Region /* r */
+);
+
+extern int XEmptyRegion(
+ Region /* r */
+);
+
+extern int XEqualRegion(
+ Region /* r1 */,
+ Region /* r2 */
+);
+
+extern int XFindContext(
+ Display* /* display */,
+ XID /* rid */,
+ XContext /* context */,
+ XPointer* /* data_return */
+);
+
+extern Status XGetClassHint(
+ Display* /* display */,
+ Window /* w */,
+ XClassHint* /* class_hints_return */
+);
+
+extern Status XGetIconSizes(
+ Display* /* display */,
+ Window /* w */,
+ XIconSize** /* size_list_return */,
+ int* /* count_return */
+);
+
+extern Status XGetNormalHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints_return */
+);
+
+extern Status XGetRGBColormaps(
+ Display* /* display */,
+ Window /* w */,
+ XStandardColormap** /* stdcmap_return */,
+ int* /* count_return */,
+ Atom /* property */
+);
+
+extern Status XGetSizeHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints_return */,
+ Atom /* property */
+);
+
+extern Status XGetStandardColormap(
+ Display* /* display */,
+ Window /* w */,
+ XStandardColormap* /* colormap_return */,
+ Atom /* property */
+);
+
+extern Status XGetTextProperty(
+ Display* /* display */,
+ Window /* window */,
+ XTextProperty* /* text_prop_return */,
+ Atom /* property */
+);
+
+extern XVisualInfo *XGetVisualInfo(
+ Display* /* display */,
+ long /* vinfo_mask */,
+ XVisualInfo* /* vinfo_template */,
+ int* /* nitems_return */
+);
+
+extern Status XGetWMClientMachine(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop_return */
+);
+
+extern XWMHints *XGetWMHints(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern Status XGetWMIconName(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop_return */
+);
+
+extern Status XGetWMName(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop_return */
+);
+
+extern Status XGetWMNormalHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints_return */,
+ long* /* supplied_return */
+);
+
+extern Status XGetWMSizeHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints_return */,
+ long* /* supplied_return */,
+ Atom /* property */
+);
+
+extern Status XGetZoomHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* zhints_return */
+);
+
+extern int XIntersectRegion(
+ Region /* sra */,
+ Region /* srb */,
+ Region /* dr_return */
+);
+
+extern void XConvertCase(
+ KeySym /* sym */,
+ KeySym* /* lower */,
+ KeySym* /* upper */
+);
+
+extern int XLookupString(
+ XKeyEvent* /* event_struct */,
+ char* /* buffer_return */,
+ int /* bytes_buffer */,
+ KeySym* /* keysym_return */,
+ XComposeStatus* /* status_in_out */
+);
+
+extern Status XMatchVisualInfo(
+ Display* /* display */,
+ int /* screen */,
+ int /* depth */,
+ int /* class */,
+ XVisualInfo* /* vinfo_return */
+);
+
+extern int XOffsetRegion(
+ Region /* r */,
+ int /* dx */,
+ int /* dy */
+);
+
+extern Bool XPointInRegion(
+ Region /* r */,
+ int /* x */,
+ int /* y */
+);
+
+extern Region XPolygonRegion(
+ XPoint* /* points */,
+ int /* n */,
+ int /* fill_rule */
+);
+
+extern int XRectInRegion(
+ Region /* r */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+extern int XSaveContext(
+ Display* /* display */,
+ XID /* rid */,
+ XContext /* context */,
+ _Xconst char* /* data */
+);
+
+extern int XSetClassHint(
+ Display* /* display */,
+ Window /* w */,
+ XClassHint* /* class_hints */
+);
+
+extern int XSetIconSizes(
+ Display* /* display */,
+ Window /* w */,
+ XIconSize* /* size_list */,
+ int /* count */
+);
+
+extern int XSetNormalHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints */
+);
+
+extern void XSetRGBColormaps(
+ Display* /* display */,
+ Window /* w */,
+ XStandardColormap* /* stdcmaps */,
+ int /* count */,
+ Atom /* property */
+);
+
+extern int XSetSizeHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints */,
+ Atom /* property */
+);
+
+extern int XSetStandardProperties(
+ Display* /* display */,
+ Window /* w */,
+ _Xconst char* /* window_name */,
+ _Xconst char* /* icon_name */,
+ Pixmap /* icon_pixmap */,
+ char** /* argv */,
+ int /* argc */,
+ XSizeHints* /* hints */
+);
+
+extern void XSetTextProperty(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop */,
+ Atom /* property */
+);
+
+extern void XSetWMClientMachine(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop */
+);
+
+extern int XSetWMHints(
+ Display* /* display */,
+ Window /* w */,
+ XWMHints* /* wm_hints */
+);
+
+extern void XSetWMIconName(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop */
+);
+
+extern void XSetWMName(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop */
+);
+
+extern void XSetWMNormalHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints */
+);
+
+extern void XSetWMProperties(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* window_name */,
+ XTextProperty* /* icon_name */,
+ char** /* argv */,
+ int /* argc */,
+ XSizeHints* /* normal_hints */,
+ XWMHints* /* wm_hints */,
+ XClassHint* /* class_hints */
+);
+
+extern void XmbSetWMProperties(
+ Display* /* display */,
+ Window /* w */,
+ _Xconst char* /* window_name */,
+ _Xconst char* /* icon_name */,
+ char** /* argv */,
+ int /* argc */,
+ XSizeHints* /* normal_hints */,
+ XWMHints* /* wm_hints */,
+ XClassHint* /* class_hints */
+);
+
+extern void Xutf8SetWMProperties(
+ Display* /* display */,
+ Window /* w */,
+ _Xconst char* /* window_name */,
+ _Xconst char* /* icon_name */,
+ char** /* argv */,
+ int /* argc */,
+ XSizeHints* /* normal_hints */,
+ XWMHints* /* wm_hints */,
+ XClassHint* /* class_hints */
+);
+
+extern void XSetWMSizeHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints */,
+ Atom /* property */
+);
+
+extern int XSetRegion(
+ Display* /* display */,
+ GC /* gc */,
+ Region /* r */
+);
+
+extern void XSetStandardColormap(
+ Display* /* display */,
+ Window /* w */,
+ XStandardColormap* /* colormap */,
+ Atom /* property */
+);
+
+extern int XSetZoomHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* zhints */
+);
+
+extern int XShrinkRegion(
+ Region /* r */,
+ int /* dx */,
+ int /* dy */
+);
+
+extern Status XStringListToTextProperty(
+ char** /* list */,
+ int /* count */,
+ XTextProperty* /* text_prop_return */
+);
+
+extern int XSubtractRegion(
+ Region /* sra */,
+ Region /* srb */,
+ Region /* dr_return */
+);
+
+extern int XmbTextListToTextProperty(
+ Display* display,
+ char** list,
+ int count,
+ XICCEncodingStyle style,
+ XTextProperty* text_prop_return
+);
+
+extern int XwcTextListToTextProperty(
+ Display* display,
+ wchar_t** list,
+ int count,
+ XICCEncodingStyle style,
+ XTextProperty* text_prop_return
+);
+
+extern int Xutf8TextListToTextProperty(
+ Display* display,
+ char** list,
+ int count,
+ XICCEncodingStyle style,
+ XTextProperty* text_prop_return
+);
+
+extern void XwcFreeStringList(
+ wchar_t** list
+);
+
+extern Status XTextPropertyToStringList(
+ XTextProperty* /* text_prop */,
+ char*** /* list_return */,
+ int* /* count_return */
+);
+
+extern int XmbTextPropertyToTextList(
+ Display* display,
+ const XTextProperty* text_prop,
+ char*** list_return,
+ int* count_return
+);
+
+extern int XwcTextPropertyToTextList(
+ Display* display,
+ const XTextProperty* text_prop,
+ wchar_t*** list_return,
+ int* count_return
+);
+
+extern int Xutf8TextPropertyToTextList(
+ Display* display,
+ const XTextProperty* text_prop,
+ char*** list_return,
+ int* count_return
+);
+
+extern int XUnionRectWithRegion(
+ XRectangle* /* rectangle */,
+ Region /* src_region */,
+ Region /* dest_region_return */
+);
+
+extern int XUnionRegion(
+ Region /* sra */,
+ Region /* srb */,
+ Region /* dr_return */
+);
+
+extern int XWMGeometry(
+ Display* /* display */,
+ int /* screen_number */,
+ _Xconst char* /* user_geometry */,
+ _Xconst char* /* default_geometry */,
+ unsigned int /* border_width */,
+ XSizeHints* /* hints */,
+ int* /* x_return */,
+ int* /* y_return */,
+ int* /* width_return */,
+ int* /* height_return */,
+ int* /* gravity_return */
+);
+
+extern int XXorRegion(
+ Region /* sra */,
+ Region /* srb */,
+ Region /* dr_return */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _X11_XUTIL_H_ */
diff --git a/X11/cursorfont.h b/X11/cursorfont.h
index 70d71259b..d6319b6fa 100644
--- a/X11/cursorfont.h
+++ b/X11/cursorfont.h
@@ -1,111 +1,111 @@
-/*
-
-Copyright 1987, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
-OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall
-not be used in advertising or otherwise to promote the sale, use or
-other dealings in this Software without prior written authorization
-from The Open Group.
-
-*/
-
-#ifndef _cursorfont_h_
-#define _cursorfont_h_
-
-#define XC_num_glyphs 154
-#define XC_X_cursor 0
-#define XC_arrow 2
-#define XC_based_arrow_down 4
-#define XC_based_arrow_up 6
-#define XC_boat 8
-#define XC_bogosity 10
-#define XC_bottom_left_corner 12
-#define XC_bottom_right_corner 14
-#define XC_bottom_side 16
-#define XC_bottom_tee 18
-#define XC_box_spiral 20
-#define XC_center_ptr 22
-#define XC_circle 24
-#define XC_clock 26
-#define XC_coffee_mug 28
-#define XC_cross 30
-#define XC_cross_reverse 32
-#define XC_crosshair 34
-#define XC_diamond_cross 36
-#define XC_dot 38
-#define XC_dotbox 40
-#define XC_double_arrow 42
-#define XC_draft_large 44
-#define XC_draft_small 46
-#define XC_draped_box 48
-#define XC_exchange 50
-#define XC_fleur 52
-#define XC_gobbler 54
-#define XC_gumby 56
-#define XC_hand1 58
-#define XC_hand2 60
-#define XC_heart 62
-#define XC_icon 64
-#define XC_iron_cross 66
-#define XC_left_ptr 68
-#define XC_left_side 70
-#define XC_left_tee 72
-#define XC_leftbutton 74
-#define XC_ll_angle 76
-#define XC_lr_angle 78
-#define XC_man 80
-#define XC_middlebutton 82
-#define XC_mouse 84
-#define XC_pencil 86
-#define XC_pirate 88
-#define XC_plus 90
-#define XC_question_arrow 92
-#define XC_right_ptr 94
-#define XC_right_side 96
-#define XC_right_tee 98
-#define XC_rightbutton 100
-#define XC_rtl_logo 102
-#define XC_sailboat 104
-#define XC_sb_down_arrow 106
-#define XC_sb_h_double_arrow 108
-#define XC_sb_left_arrow 110
-#define XC_sb_right_arrow 112
-#define XC_sb_up_arrow 114
-#define XC_sb_v_double_arrow 116
-#define XC_shuttle 118
-#define XC_sizing 120
-#define XC_spider 122
-#define XC_spraycan 124
-#define XC_star 126
-#define XC_target 128
-#define XC_tcross 130
-#define XC_top_left_arrow 132
-#define XC_top_left_corner 134
-#define XC_top_right_corner 136
-#define XC_top_side 138
-#define XC_top_tee 140
-#define XC_trek 142
-#define XC_ul_angle 144
-#define XC_umbrella 146
-#define XC_ur_angle 148
-#define XC_watch 150
-#define XC_xterm 152
-
-#endif /* _cursorfont_h_ */
+/*
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+
+#ifndef _X11_CURSORFONT_H_
+#define _X11_CURSORFONT_H_
+
+#define XC_num_glyphs 154
+#define XC_X_cursor 0
+#define XC_arrow 2
+#define XC_based_arrow_down 4
+#define XC_based_arrow_up 6
+#define XC_boat 8
+#define XC_bogosity 10
+#define XC_bottom_left_corner 12
+#define XC_bottom_right_corner 14
+#define XC_bottom_side 16
+#define XC_bottom_tee 18
+#define XC_box_spiral 20
+#define XC_center_ptr 22
+#define XC_circle 24
+#define XC_clock 26
+#define XC_coffee_mug 28
+#define XC_cross 30
+#define XC_cross_reverse 32
+#define XC_crosshair 34
+#define XC_diamond_cross 36
+#define XC_dot 38
+#define XC_dotbox 40
+#define XC_double_arrow 42
+#define XC_draft_large 44
+#define XC_draft_small 46
+#define XC_draped_box 48
+#define XC_exchange 50
+#define XC_fleur 52
+#define XC_gobbler 54
+#define XC_gumby 56
+#define XC_hand1 58
+#define XC_hand2 60
+#define XC_heart 62
+#define XC_icon 64
+#define XC_iron_cross 66
+#define XC_left_ptr 68
+#define XC_left_side 70
+#define XC_left_tee 72
+#define XC_leftbutton 74
+#define XC_ll_angle 76
+#define XC_lr_angle 78
+#define XC_man 80
+#define XC_middlebutton 82
+#define XC_mouse 84
+#define XC_pencil 86
+#define XC_pirate 88
+#define XC_plus 90
+#define XC_question_arrow 92
+#define XC_right_ptr 94
+#define XC_right_side 96
+#define XC_right_tee 98
+#define XC_rightbutton 100
+#define XC_rtl_logo 102
+#define XC_sailboat 104
+#define XC_sb_down_arrow 106
+#define XC_sb_h_double_arrow 108
+#define XC_sb_left_arrow 110
+#define XC_sb_right_arrow 112
+#define XC_sb_up_arrow 114
+#define XC_sb_v_double_arrow 116
+#define XC_shuttle 118
+#define XC_sizing 120
+#define XC_spider 122
+#define XC_spraycan 124
+#define XC_star 126
+#define XC_target 128
+#define XC_tcross 130
+#define XC_top_left_arrow 132
+#define XC_top_left_corner 134
+#define XC_top_right_corner 136
+#define XC_top_side 138
+#define XC_top_tee 140
+#define XC_trek 142
+#define XC_ul_angle 144
+#define XC_umbrella 146
+#define XC_ur_angle 148
+#define XC_watch 150
+#define XC_xterm 152
+
+#endif /* _X11_CURSORFONT_H_ */
diff --git a/libX11/include/X11/ImUtil.h b/libX11/include/X11/ImUtil.h
index 5b62571ac..b7f425c93 100644
--- a/libX11/include/X11/ImUtil.h
+++ b/libX11/include/X11/ImUtil.h
@@ -1,30 +1,30 @@
-
-#ifndef _IMUTIL_H_
-#define _IMUTIL_H_
-
-extern int
-_XGetScanlinePad(
- Display *dpy,
- int depth);
-
-extern int
-_XGetBitsPerPixel(
- Display *dpy,
- int depth);
-
-extern int
-_XSetImage(
- XImage *srcimg,
- register XImage *dstimg,
- register int x,
- register int y);
-
-extern int
-_XReverse_Bytes(
- register unsigned char *bpt,
- register int nb);
-extern void
-_XInitImageFuncPtrs(
- register XImage *image);
-
-#endif /* _IMUTIL_H_ */
+
+#ifndef _X11_IMUTIL_H_
+#define _X11_IMUTIL_H_
+
+extern int
+_XGetScanlinePad(
+ Display *dpy,
+ int depth);
+
+extern int
+_XGetBitsPerPixel(
+ Display *dpy,
+ int depth);
+
+extern int
+_XSetImage(
+ XImage *srcimg,
+ register XImage *dstimg,
+ register int x,
+ register int y);
+
+extern int
+_XReverse_Bytes(
+ register unsigned char *bpt,
+ register int nb);
+extern void
+_XInitImageFuncPtrs(
+ register XImage *image);
+
+#endif /* _X11_IMUTIL_H_ */
diff --git a/libX11/include/X11/XKBlib.h b/libX11/include/X11/XKBlib.h
index 291fc0515..33a24c1b4 100644
--- a/libX11/include/X11/XKBlib.h
+++ b/libX11/include/X11/XKBlib.h
@@ -1,1149 +1,1149 @@
-/************************************************************
-Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
-
-Permission to use, copy, modify, and distribute this
-software and its documentation for any purpose and without
-fee is hereby granted, provided that the above copyright
-notice appear in all copies and that both that copyright
-notice and this permission notice appear in supporting
-documentation, and that the name of Silicon Graphics not be
-used in advertising or publicity pertaining to distribution
-of the software without specific prior written permission.
-Silicon Graphics makes no representation about the suitability
-of this software for any purpose. It is provided "as is"
-without any express or implied warranty.
-
-SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
-SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
-GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
-DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
-DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
-OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
-THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-********************************************************/
-
-#ifndef _XKBLIB_H_
-#define _XKBLIB_H_
-
-#include <X11/Xlib.h>
-#include <X11/extensions/XKBstr.h>
-
-typedef struct _XkbAnyEvent {
- int type; /* XkbAnyEvent */
- unsigned long serial; /* # of last req processed by server */
- Bool send_event; /* is this from a SendEvent request? */
- Display * display; /* Display the event was read from */
- Time time; /* milliseconds */
- int xkb_type; /* XKB event minor code */
- unsigned int device; /* device ID */
-} XkbAnyEvent;
-
-typedef struct _XkbNewKeyboardNotify {
- int type; /* XkbAnyEvent */
- unsigned long serial; /* of last req processed by server */
- Bool send_event; /* is this from a SendEvent request? */
- Display * display; /* Display the event was read from */
- Time time; /* milliseconds */
- int xkb_type; /* XkbNewKeyboardNotify */
- int device; /* device ID */
- int old_device; /* device ID of previous keyboard */
- int min_key_code; /* minimum key code */
- int max_key_code; /* maximum key code */
- int old_min_key_code;/* min key code of previous kbd */
- int old_max_key_code;/* max key code of previous kbd */
- unsigned int changed; /* changed aspects of the keyboard */
- char req_major; /* major and minor opcode of req */
- char req_minor; /* that caused change, if applicable */
-} XkbNewKeyboardNotifyEvent;
-
-typedef struct _XkbMapNotifyEvent {
- int type; /* XkbAnyEvent */
- unsigned long serial; /* of last req processed by server */
- Bool send_event; /* is this from a SendEvent request */
- Display * display; /* Display the event was read from */
- Time time; /* milliseconds */
- int xkb_type; /* XkbMapNotify */
- int device; /* device ID */
- unsigned int changed; /* fields which have been changed */
- unsigned int flags; /* reserved */
- int first_type; /* first changed key type */
- int num_types; /* number of changed key types */
- KeyCode min_key_code;
- KeyCode max_key_code;
- KeyCode first_key_sym;
- KeyCode first_key_act;
- KeyCode first_key_behavior;
- KeyCode first_key_explicit;
- KeyCode first_modmap_key;
- KeyCode first_vmodmap_key;
- int num_key_syms;
- int num_key_acts;
- int num_key_behaviors;
- int num_key_explicit;
- int num_modmap_keys;
- int num_vmodmap_keys;
- unsigned int vmods; /* mask of changed virtual mods */
-} XkbMapNotifyEvent;
-
-typedef struct _XkbStateNotifyEvent {
- int type; /* XkbAnyEvent */
- unsigned long serial; /* # of last req processed by server */
- Bool send_event; /* is this from a SendEvent request? */
- Display * display; /* Display the event was read from */
- Time time; /* milliseconds */
- int xkb_type; /* XkbStateNotify */
- int device; /* device ID */
- unsigned int changed; /* mask of changed state components */
- int group; /* keyboard group */
- int base_group; /* base keyboard group */
- int latched_group; /* latched keyboard group */
- int locked_group; /* locked keyboard group */
- unsigned int mods; /* modifier state */
- unsigned int base_mods; /* base modifier state */
- unsigned int latched_mods; /* latched modifiers */
- unsigned int locked_mods; /* locked modifiers */
- int compat_state; /* compatibility state */
- unsigned char grab_mods; /* mods used for grabs */
- unsigned char compat_grab_mods;/* grab mods for non-XKB clients */
- unsigned char lookup_mods; /* mods sent to clients */
- unsigned char compat_lookup_mods; /* mods sent to non-XKB clients */
- int ptr_buttons; /* pointer button state */
- KeyCode keycode; /* keycode that caused the change */
- char event_type; /* KeyPress or KeyRelease */
- char req_major; /* Major opcode of request */
- char req_minor; /* Minor opcode of request */
-} XkbStateNotifyEvent;
-
-typedef struct _XkbControlsNotify {
- int type; /* XkbAnyEvent */
- unsigned long serial; /* of last req processed by server */
- Bool send_event; /* is this from a SendEvent request? */
- Display * display; /* Display the event was read from */
- Time time; /* milliseconds */
- int xkb_type; /* XkbControlsNotify */
- int device; /* device ID */
- unsigned int changed_ctrls; /* controls with changed sub-values */
- unsigned int enabled_ctrls; /* controls currently enabled */
- unsigned int enabled_ctrl_changes;/* controls just {en,dis}abled */
- int num_groups; /* total groups on keyboard */
- KeyCode keycode; /* key that caused change or 0 */
- char event_type; /* type of event that caused change */
- char req_major; /* if keycode==0, major and minor */
- char req_minor; /* opcode of req that caused change */
-} XkbControlsNotifyEvent;
-
-typedef struct _XkbIndicatorNotify {
- int type; /* XkbAnyEvent */
- unsigned long serial; /* of last req processed by server */
- Bool send_event; /* is this from a SendEvent request? */
- Display * display; /* Display the event was read from */
- Time time; /* milliseconds */
- int xkb_type; /* XkbIndicatorNotify */
- int device; /* device ID */
- unsigned int changed; /* indicators with new state or map */
- unsigned int state; /* current state of all indicators */
-} XkbIndicatorNotifyEvent;
-
-typedef struct _XkbNamesNotify {
- int type; /* XkbAnyEvent */
- unsigned long serial; /* of last req processed by server */
- Bool send_event; /* is this from a SendEvent request? */
- Display * display; /* Display the event was read from */
- Time time; /* milliseconds */
- int xkb_type; /* XkbNamesNotify */
- int device; /* device ID */
- unsigned int changed; /* names that have changed */
- int first_type; /* first key type with new name */
- int num_types; /* number of key types with new names */
- int first_lvl; /* first key type new new level names */
- int num_lvls; /* # of key types w/new level names */
- int num_aliases; /* total number of key aliases*/
- int num_radio_groups;/* total number of radio groups */
- unsigned int changed_vmods; /* virtual modifiers with new names */
- unsigned int changed_groups; /* groups with new names */
- unsigned int changed_indicators;/* indicators with new names */
- int first_key; /* first key with new name */
- int num_keys; /* number of keys with new names */
-} XkbNamesNotifyEvent;
-
-typedef struct _XkbCompatMapNotify {
- int type; /* XkbAnyEvent */
- unsigned long serial; /* of last req processed by server */
- Bool send_event; /* is this from a SendEvent request? */
- Display * display; /* Display the event was read from */
- Time time; /* milliseconds */
- int xkb_type; /* XkbCompatMapNotify */
- int device; /* device ID */
- unsigned int changed_groups; /* groups with new compat maps */
- int first_si; /* first new symbol interp */
- int num_si; /* number of new symbol interps */
- int num_total_si; /* total # of symbol interps */
-} XkbCompatMapNotifyEvent;
-
-typedef struct _XkbBellNotify {
- int type; /* XkbAnyEvent */
- unsigned long serial; /* of last req processed by server */
- Bool send_event; /* is this from a SendEvent request? */
- Display * display; /* Display the event was read from */
- Time time; /* milliseconds */
- int xkb_type; /* XkbBellNotify */
- int device; /* device ID */
- int percent; /* requested volume as a % of maximum */
- int pitch; /* requested pitch in Hz */
- int duration; /* requested duration in useconds */
- int bell_class; /* (input extension) feedback class */
- int bell_id; /* (input extension) ID of feedback */
- Atom name; /* "name" of requested bell */
- Window window; /* window associated with event */
- Bool event_only; /* "event only" requested */
-} XkbBellNotifyEvent;
-
-typedef struct _XkbActionMessage {
- int type; /* XkbAnyEvent */
- unsigned long serial; /* of last req processed by server */
- Bool send_event; /* is this from a SendEvent request? */
- Display * display; /* Display the event was read from */
- Time time; /* milliseconds */
- int xkb_type; /* XkbActionMessage */
- int device; /* device ID */
- KeyCode keycode; /* key that generated the event */
- Bool press; /* true if act caused by key press */
- Bool key_event_follows;/* true if key event also generated */
- int group; /* effective group */
- unsigned int mods; /* effective mods */
- char message[XkbActionMessageLength+1];
- /* message -- leave space for NUL */
-} XkbActionMessageEvent;
-
-typedef struct _XkbAccessXNotify {
- int type; /* XkbAnyEvent */
- unsigned long serial; /* of last req processed by server */
- Bool send_event; /* is this from a SendEvent request? */
- Display * display; /* Display the event was read from */
- Time time; /* milliseconds */
- int xkb_type; /* XkbAccessXNotify */
- int device; /* device ID */
- int detail; /* XkbAXN_* */
- int keycode; /* key of event */
- int sk_delay; /* current slow keys delay */
- int debounce_delay; /* current debounce delay */
-} XkbAccessXNotifyEvent;
-
-typedef struct _XkbExtensionDeviceNotify {
- int type; /* XkbAnyEvent */
- unsigned long serial; /* of last req processed by server */
- Bool send_event; /* is this from a SendEvent request? */
- Display * display; /* Display the event was read from */
- Time time; /* milliseconds */
- int xkb_type; /* XkbExtensionDeviceNotify */
- int device; /* device ID */
- unsigned int reason; /* reason for the event */
- unsigned int supported; /* mask of supported features */
- unsigned int unsupported; /* mask of unsupported features */
- /* that some app tried to use */
- int first_btn; /* first button that changed */
- int num_btns; /* range of buttons changed */
- unsigned int leds_defined; /* indicators with names or maps */
- unsigned int led_state; /* current state of the indicators */
- int led_class; /* feedback class for led changes */
- int led_id; /* feedback id for led changes */
-} XkbExtensionDeviceNotifyEvent;
-
-typedef union _XkbEvent {
- int type;
- XkbAnyEvent any;
- XkbNewKeyboardNotifyEvent new_kbd;
- XkbMapNotifyEvent map;
- XkbStateNotifyEvent state;
- XkbControlsNotifyEvent ctrls;
- XkbIndicatorNotifyEvent indicators;
- XkbNamesNotifyEvent names;
- XkbCompatMapNotifyEvent compat;
- XkbBellNotifyEvent bell;
- XkbActionMessageEvent message;
- XkbAccessXNotifyEvent accessx;
- XkbExtensionDeviceNotifyEvent device;
- XEvent core;
-} XkbEvent;
-
-typedef struct _XkbKbdDpyState XkbKbdDpyStateRec,*XkbKbdDpyStatePtr;
-
- /* XkbOpenDisplay error codes */
-#define XkbOD_Success 0
-#define XkbOD_BadLibraryVersion 1
-#define XkbOD_ConnectionRefused 2
-#define XkbOD_NonXkbServer 3
-#define XkbOD_BadServerVersion 4
-
- /* Values for XlibFlags */
-#define XkbLC_ForceLatin1Lookup (1<<0)
-#define XkbLC_ConsumeLookupMods (1<<1)
-#define XkbLC_AlwaysConsumeShiftAndLock (1<<2)
-#define XkbLC_IgnoreNewKeyboards (1<<3)
-#define XkbLC_ControlFallback (1<<4)
-#define XkbLC_ConsumeKeysOnComposeFail (1<<29)
-#define XkbLC_ComposeLED (1<<30)
-#define XkbLC_BeepOnComposeFail (1<<31)
-
-#define XkbLC_AllComposeControls (0xc0000000)
-#define XkbLC_AllControls (0xc000001f)
-
-_XFUNCPROTOBEGIN
-
-extern Bool XkbIgnoreExtension(
- Bool /* ignore */
-);
-
-extern Display *XkbOpenDisplay(
- char * /* name */,
- int * /* ev_rtrn */,
- int * /* err_rtrn */,
- int * /* major_rtrn */,
- int * /* minor_rtrn */,
- int * /* reason */
-);
-
-extern Bool XkbQueryExtension(
- Display * /* dpy */,
- int * /* opcodeReturn */,
- int * /* eventBaseReturn */,
- int * /* errorBaseReturn */,
- int * /* majorRtrn */,
- int * /* minorRtrn */
-);
-
-extern Bool XkbUseExtension(
- Display * /* dpy */,
- int * /* major_rtrn */,
- int * /* minor_rtrn */
-);
-
-extern Bool XkbLibraryVersion(
- int * /* libMajorRtrn */,
- int * /* libMinorRtrn */
-);
-
-extern unsigned int XkbSetXlibControls(
- Display* /* dpy */,
- unsigned int /* affect */,
- unsigned int /* values */
-);
-
-extern unsigned int XkbGetXlibControls(
- Display* /* dpy */
-);
-
-extern unsigned int XkbXlibControlsImplemented(void);
-
-typedef Atom (*XkbInternAtomFunc)(
- Display * /* dpy */,
- _Xconst char * /* name */,
- Bool /* only_if_exists */
-);
-
-typedef char * (*XkbGetAtomNameFunc)(
- Display * /* dpy */,
- Atom /* atom */
-);
-
-extern void XkbSetAtomFuncs(
- XkbInternAtomFunc /* getAtom */,
- XkbGetAtomNameFunc /* getName */
-);
-
-extern KeySym XkbKeycodeToKeysym(
- Display * /* dpy */,
-#if NeedWidePrototypes
- unsigned int /* kc */,
-#else
- KeyCode /* kc */,
-#endif
- int /* group */,
- int /* level */
-);
-
-extern unsigned int XkbKeysymToModifiers(
- Display * /* dpy */,
- KeySym /* ks */
-);
-
-extern Bool XkbLookupKeySym(
- Display * /* dpy */,
- KeyCode /* keycode */,
- unsigned int /* modifiers */,
- unsigned int * /* modifiers_return */,
- KeySym * /* keysym_return */
-);
-
-extern int XkbLookupKeyBinding(
- Display * /* dpy */,
- KeySym /* sym_rtrn */,
- unsigned int /* mods */,
- char * /* buffer */,
- int /* nbytes */,
- int * /* extra_rtrn */
-);
-
-extern Bool XkbTranslateKeyCode(
- XkbDescPtr /* xkb */,
- KeyCode /* keycode */,
- unsigned int /* modifiers */,
- unsigned int * /* modifiers_return */,
- KeySym * /* keysym_return */
-);
-
-extern int XkbTranslateKeySym(
- Display * /* dpy */,
- register KeySym * /* sym_return */,
- unsigned int /* modifiers */,
- char * /* buffer */,
- int /* nbytes */,
- int * /* extra_rtrn */
-);
-
-extern Bool XkbSetAutoRepeatRate(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int /* delay */,
- unsigned int /* interval */
-);
-
-extern Bool XkbGetAutoRepeatRate(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int * /* delayRtrn */,
- unsigned int * /* intervalRtrn */
-);
-
-extern Bool XkbChangeEnabledControls(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int /* affect */,
- unsigned int /* values */
-);
-
-extern Bool XkbDeviceBell(
- Display * /* dpy */,
- Window /* win */,
- int /* deviceSpec */,
- int /* bellClass */,
- int /* bellID */,
- int /* percent */,
- Atom /* name */
-);
-
-extern Bool XkbForceDeviceBell(
- Display * /* dpy */,
- int /* deviceSpec */,
- int /* bellClass */,
- int /* bellID */,
- int /* percent */
-);
-
-extern Bool XkbDeviceBellEvent(
- Display * /* dpy */,
- Window /* win */,
- int /* deviceSpec */,
- int /* bellClass */,
- int /* bellID */,
- int /* percent */,
- Atom /* name */
-);
-
-extern Bool XkbBell(
- Display * /* dpy */,
- Window /* win */,
- int /* percent */,
- Atom /* name */
-);
-
-extern Bool XkbForceBell(
- Display * /* dpy */,
- int /* percent */
-);
-
-extern Bool XkbBellEvent(
- Display * /* dpy */,
- Window /* win */,
- int /* percent */,
- Atom /* name */
-);
-
-extern Bool XkbSelectEvents(
- Display * /* dpy */,
- unsigned int /* deviceID */,
- unsigned int /* affect */,
- unsigned int /* values */
-);
-
-extern Bool XkbSelectEventDetails(
- Display * /* dpy */,
- unsigned int /* deviceID */,
- unsigned int /* eventType */,
- unsigned long /* affect */,
- unsigned long /* details */
-);
-
-extern void XkbNoteMapChanges(
- XkbMapChangesPtr /* old */,
- XkbMapNotifyEvent * /* new */,
- unsigned int /* wanted */
-);
-
-extern void XkbNoteNameChanges(
- XkbNameChangesPtr /* old */,
- XkbNamesNotifyEvent * /* new */,
- unsigned int /* wanted */
-);
-
-extern Status XkbGetIndicatorState(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int * /* pStateRtrn */
-);
-
-extern Status XkbGetDeviceIndicatorState(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int /* ledClass */,
- unsigned int /* ledID */,
- unsigned int * /* pStateRtrn */
-);
-
-extern Status XkbGetIndicatorMap(
- Display * /* dpy */,
- unsigned long /* which */,
- XkbDescPtr /* desc */
-);
-
-extern Bool XkbSetIndicatorMap(
- Display * /* dpy */,
- unsigned long /* which */,
- XkbDescPtr /* desc */
-);
-
-#define XkbNoteIndicatorMapChanges(o,n,w) \
- ((o)->map_changes|=((n)->map_changes&(w)))
-#define XkbNoteIndicatorStateChanges(o,n,w)\
- ((o)->state_changes|=((n)->state_changes&(w)))
-#define XkbGetIndicatorMapChanges(d,x,c) \
- (XkbGetIndicatorMap((d),(c)->map_changes,x))
-#define XkbChangeIndicatorMaps(d,x,c) \
- (XkbSetIndicatorMap((d),(c)->map_changes,x))
-
-extern Bool XkbGetNamedIndicator(
- Display * /* dpy */,
- Atom /* name */,
- int * /* pNdxRtrn */,
- Bool * /* pStateRtrn */,
- XkbIndicatorMapPtr /* pMapRtrn */,
- Bool * /* pRealRtrn */
-);
-
-extern Bool XkbGetNamedDeviceIndicator(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int /* ledClass */,
- unsigned int /* ledID */,
- Atom /* name */,
- int * /* pNdxRtrn */,
- Bool * /* pStateRtrn */,
- XkbIndicatorMapPtr /* pMapRtrn */,
- Bool * /* pRealRtrn */
-);
-
-extern Bool XkbSetNamedIndicator(
- Display * /* dpy */,
- Atom /* name */,
- Bool /* changeState */,
- Bool /* state */,
- Bool /* createNewMap */,
- XkbIndicatorMapPtr /* pMap */
-);
-
-extern Bool XkbSetNamedDeviceIndicator(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int /* ledClass */,
- unsigned int /* ledID */,
- Atom /* name */,
- Bool /* changeState */,
- Bool /* state */,
- Bool /* createNewMap */,
- XkbIndicatorMapPtr /* pMap */
-);
-
-extern Bool XkbLockModifiers(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int /* affect */,
- unsigned int /* values */
-);
-
-extern Bool XkbLatchModifiers(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int /* affect */,
- unsigned int /* values */
-);
-
-extern Bool XkbLockGroup(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int /* group */
-);
-
-extern Bool XkbLatchGroup(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int /* group */
-);
-
-extern Bool XkbSetServerInternalMods(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int /* affectReal */,
- unsigned int /* realValues */,
- unsigned int /* affectVirtual */,
- unsigned int /* virtualValues */
-);
-
-extern Bool XkbSetIgnoreLockMods(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- unsigned int /* affectReal */,
- unsigned int /* realValues */,
- unsigned int /* affectVirtual */,
- unsigned int /* virtualValues */
-);
-
-
-extern Bool XkbVirtualModsToReal(
- XkbDescPtr /* xkb */,
- unsigned int /* virtual_mask */,
- unsigned int * /* mask_rtrn */
-);
-
-extern Bool XkbComputeEffectiveMap(
- XkbDescPtr /* xkb */,
- XkbKeyTypePtr /* type */,
- unsigned char * /* map_rtrn */
-);
-
-extern Status XkbInitCanonicalKeyTypes(
- XkbDescPtr /* xkb */,
- unsigned int /* which */,
- int /* keypadVMod */
-);
-
-extern XkbDescPtr XkbAllocKeyboard(
- void
-);
-
-extern void XkbFreeKeyboard(
- XkbDescPtr /* xkb */,
- unsigned int /* which */,
- Bool /* freeDesc */
-);
-
-extern Status XkbAllocClientMap(
- XkbDescPtr /* xkb */,
- unsigned int /* which */,
- unsigned int /* nTypes */
-);
-
-extern Status XkbAllocServerMap(
- XkbDescPtr /* xkb */,
- unsigned int /* which */,
- unsigned int /* nActions */
-);
-
-extern void XkbFreeClientMap(
- XkbDescPtr /* xkb */,
- unsigned int /* what */,
- Bool /* freeMap */
-);
-
-extern void XkbFreeServerMap(
- XkbDescPtr /* xkb */,
- unsigned int /* what */,
- Bool /* freeMap */
-);
-
-extern XkbKeyTypePtr XkbAddKeyType(
- XkbDescPtr /* xkb */,
- Atom /* name */,
- int /* map_count */,
- Bool /* want_preserve */,
- int /* num_lvls */
-);
-
-extern Status XkbAllocIndicatorMaps(
- XkbDescPtr /* xkb */
-);
-
-extern void XkbFreeIndicatorMaps(
- XkbDescPtr /* xkb */
-);
-
-extern XkbDescPtr XkbGetMap(
- Display * /* dpy */,
- unsigned int /* which */,
- unsigned int /* deviceSpec */
-);
-
-extern Status XkbGetUpdatedMap(
- Display * /* dpy */,
- unsigned int /* which */,
- XkbDescPtr /* desc */
-);
-
-extern Status XkbGetMapChanges(
- Display * /* dpy */,
- XkbDescPtr /* xkb */,
- XkbMapChangesPtr /* changes */
-);
-
-
-extern Status XkbRefreshKeyboardMapping(
- XkbMapNotifyEvent * /* event */
-);
-
-extern Status XkbGetKeyTypes(
- Display * /* dpy */,
- unsigned int /* first */,
- unsigned int /* num */,
- XkbDescPtr /* xkb */
-);
-
-extern Status XkbGetKeySyms(
- Display * /* dpy */,
- unsigned int /* first */,
- unsigned int /* num */,
- XkbDescPtr /* xkb */
-);
-
-extern Status XkbGetKeyActions(
- Display * /* dpy */,
- unsigned int /* first */,
- unsigned int /* num */,
- XkbDescPtr /* xkb */
-);
-
-extern Status XkbGetKeyBehaviors(
- Display * /* dpy */,
- unsigned int /* firstKey */,
- unsigned int /* nKeys */,
- XkbDescPtr /* desc */
-);
-
-extern Status XkbGetVirtualMods(
- Display * /* dpy */,
- unsigned int /* which */,
- XkbDescPtr /* desc */
-);
-
-extern Status XkbGetKeyExplicitComponents(
- Display * /* dpy */,
- unsigned int /* firstKey */,
- unsigned int /* nKeys */,
- XkbDescPtr /* desc */
-);
-
-extern Status XkbGetKeyModifierMap(
- Display * /* dpy */,
- unsigned int /* firstKey */,
- unsigned int /* nKeys */,
- XkbDescPtr /* desc */
-);
-
-extern Status XkbGetKeyVirtualModMap(
- Display * /* dpy */,
- unsigned int /* first */,
- unsigned int /* num */,
- XkbDescPtr /* xkb */
-);
-
-extern Status XkbAllocControls(
- XkbDescPtr /* xkb */,
- unsigned int /* which*/
-);
-
-extern void XkbFreeControls(
- XkbDescPtr /* xkb */,
- unsigned int /* which */,
- Bool /* freeMap */
-);
-
-extern Status XkbGetControls(
- Display * /* dpy */,
- unsigned long /* which */,
- XkbDescPtr /* desc */
-);
-
-extern Bool XkbSetControls(
- Display * /* dpy */,
- unsigned long /* which */,
- XkbDescPtr /* desc */
-);
-
-extern void XkbNoteControlsChanges(
- XkbControlsChangesPtr /* old */,
- XkbControlsNotifyEvent * /* new */,
- unsigned int /* wanted */
-);
-
-#define XkbGetControlsChanges(d,x,c) XkbGetControls(d,(c)->changed_ctrls,x)
-#define XkbChangeControls(d,x,c) XkbSetControls(d,(c)->changed_ctrls,x)
-
-extern Status XkbAllocCompatMap(
- XkbDescPtr /* xkb */,
- unsigned int /* which */,
- unsigned int /* nInterpret */
-);
-
-extern void XkbFreeCompatMap(
- XkbDescPtr /* xkb */,
- unsigned int /* which */,
- Bool /* freeMap */
-);
-
-extern Status XkbGetCompatMap(
- Display * /* dpy */,
- unsigned int /* which */,
- XkbDescPtr /* xkb */
-);
-
-extern Bool XkbSetCompatMap(
- Display * /* dpy */,
- unsigned int /* which */,
- XkbDescPtr /* xkb */,
- Bool /* updateActions */
-);
-
-extern XkbSymInterpretPtr XkbAddSymInterpret(
- XkbDescPtr /* xkb */,
- XkbSymInterpretPtr /* si */,
- Bool /* updateMap */,
- XkbChangesPtr /* changes */
-);
-
-extern Status XkbAllocNames(
- XkbDescPtr /* xkb */,
- unsigned int /* which */,
- int /* nTotalRG */,
- int /* nTotalAliases */
-);
-
-extern Status XkbGetNames(
- Display * /* dpy */,
- unsigned int /* which */,
- XkbDescPtr /* desc */
-);
-
-extern Bool XkbSetNames(
- Display * /* dpy */,
- unsigned int /* which */,
- unsigned int /* firstType */,
- unsigned int /* nTypes */,
- XkbDescPtr /* desc */
-);
-
-extern Bool XkbChangeNames(
- Display * /* dpy */,
- XkbDescPtr /* xkb */,
- XkbNameChangesPtr /* changes */
-);
-
-extern void XkbFreeNames(
- XkbDescPtr /* xkb */,
- unsigned int /* which */,
- Bool /* freeMap */
-);
-
-
-extern Status XkbGetState(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- XkbStatePtr /* rtrnState */
-);
-
-extern Bool XkbSetMap(
- Display * /* dpy */,
- unsigned int /* which */,
- XkbDescPtr /* desc */
-);
-
-extern Bool XkbChangeMap(
- Display* /* dpy */,
- XkbDescPtr /* desc */,
- XkbMapChangesPtr /* changes */
-);
-
-extern Bool XkbSetDetectableAutoRepeat(
- Display * /* dpy */,
- Bool /* detectable */,
- Bool * /* supported */
-);
-
-extern Bool XkbGetDetectableAutoRepeat(
- Display * /* dpy */,
- Bool * /* supported */
-);
-
-extern Bool XkbSetAutoResetControls(
- Display * /* dpy */,
- unsigned int /* changes */,
- unsigned int * /* auto_ctrls */,
- unsigned int * /* auto_values */
-);
-
-extern Bool XkbGetAutoResetControls(
- Display * /* dpy */,
- unsigned int * /* auto_ctrls */,
- unsigned int * /* auto_ctrl_values */
-);
-
-extern Bool XkbSetPerClientControls(
- Display * /* dpy */,
- unsigned int /* change */,
- unsigned int * /* values */
-);
-
-extern Bool XkbGetPerClientControls(
- Display * /* dpy */,
- unsigned int * /* ctrls */
-);
-
-extern Status XkbCopyKeyType(
- XkbKeyTypePtr /* from */,
- XkbKeyTypePtr /* into */
-);
-
-extern Status XkbCopyKeyTypes(
- XkbKeyTypePtr /* from */,
- XkbKeyTypePtr /* into */,
- int /* num_types */
-);
-
-extern Status XkbResizeKeyType(
- XkbDescPtr /* xkb */,
- int /* type_ndx */,
- int /* map_count */,
- Bool /* want_preserve */,
- int /* new_num_lvls */
-);
-
-extern KeySym *XkbResizeKeySyms(
- XkbDescPtr /* desc */,
- int /* forKey */,
- int /* symsNeeded */
-);
-
-extern XkbAction *XkbResizeKeyActions(
- XkbDescPtr /* desc */,
- int /* forKey */,
- int /* actsNeeded */
-);
-
-extern Status XkbChangeTypesOfKey(
- XkbDescPtr /* xkb */,
- int /* key */,
- int /* num_groups */,
- unsigned int /* groups */,
- int * /* newTypes */,
- XkbMapChangesPtr /* pChanges */
-);
-
-extern Status XkbChangeKeycodeRange(
- XkbDescPtr /* xkb */,
- int /* minKC */,
- int /* maxKC */,
- XkbChangesPtr /* changes */
-);
-
-/***====================================================================***/
-
-extern XkbComponentListPtr XkbListComponents(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- XkbComponentNamesPtr /* ptrns */,
- int * /* max_inout */
-);
-
-extern void XkbFreeComponentList(
- XkbComponentListPtr /* list */
-);
-
-extern XkbDescPtr XkbGetKeyboard(
- Display * /* dpy */,
- unsigned int /* which */,
- unsigned int /* deviceSpec */
-);
-
-extern XkbDescPtr XkbGetKeyboardByName(
- Display * /* dpy */,
- unsigned int /* deviceSpec */,
- XkbComponentNamesPtr /* names */,
- unsigned int /* want */,
- unsigned int /* need */,
- Bool /* load */
-);
-
-/***====================================================================***/
-
-extern int XkbKeyTypesForCoreSymbols( /* returns # of groups */
- XkbDescPtr /* xkb */, /* keyboard device */
- int /* map_width */, /* width of core KeySym array */
- KeySym * /* core_syms */, /* always mapWidth symbols */
- unsigned int /* protected */, /* explicit key types */
- int * /* types_inout */, /* always four type indices */
- KeySym * /* xkb_syms_rtrn */ /* must have enough space */
-);
-
-extern Bool XkbApplyCompatMapToKey( /* False only on error */
- XkbDescPtr /* xkb */, /* keymap to be edited */
- KeyCode /* key */, /* key to be updated */
- XkbChangesPtr /* changes */ /* resulting changes to map */
-);
-
-extern Bool XkbUpdateMapFromCore( /* False only on error */
- XkbDescPtr /* xkb */, /* XKB keyboard to be edited */
- KeyCode /* first_key */, /* first changed key */
- int /* num_keys */, /* number of changed keys */
- int /* map_width */, /* width of core keymap */
- KeySym * /* core_keysyms */, /* symbols from core keymap */
- XkbChangesPtr /* changes */ /* resulting changes */
-);
-
-/***====================================================================***/
-
-extern XkbDeviceLedInfoPtr XkbAddDeviceLedInfo(
- XkbDeviceInfoPtr /* devi */,
- unsigned int /* ledClass */,
- unsigned int /* ledId */
-);
-
-extern Status XkbResizeDeviceButtonActions(
- XkbDeviceInfoPtr /* devi */,
- unsigned int /* newTotal */
-);
-
-extern XkbDeviceInfoPtr XkbAllocDeviceInfo(
- unsigned int /* deviceSpec */,
- unsigned int /* nButtons */,
- unsigned int /* szLeds */
-);
-
-extern void XkbFreeDeviceInfo(
- XkbDeviceInfoPtr /* devi */,
- unsigned int /* which */,
- Bool /* freeDevI */
-);
-
-extern void XkbNoteDeviceChanges(
- XkbDeviceChangesPtr /* old */,
- XkbExtensionDeviceNotifyEvent * /* new */,
- unsigned int /* wanted */
-);
-
-extern XkbDeviceInfoPtr XkbGetDeviceInfo(
- Display * /* dpy */,
- unsigned int /* which */,
- unsigned int /* deviceSpec */,
- unsigned int /* ledClass */,
- unsigned int /* ledID */
-);
-
-extern Status XkbGetDeviceInfoChanges(
- Display * /* dpy */,
- XkbDeviceInfoPtr /* devi */,
- XkbDeviceChangesPtr /* changes */
-);
-
-extern Status XkbGetDeviceButtonActions(
- Display * /* dpy */,
- XkbDeviceInfoPtr /* devi */,
- Bool /* all */,
- unsigned int /* first */,
- unsigned int /* nBtns */
-);
-
-extern Status XkbGetDeviceLedInfo(
- Display * /* dpy */,
- XkbDeviceInfoPtr /* devi */,
- unsigned int /* ledClass (class, XIDflt, XIAll) */,
- unsigned int /* ledId (id, XIDflt, XIAll) */,
- unsigned int /* which (XkbXI_Indicator{Names,Map}Mask */
-);
-
-extern Bool XkbSetDeviceInfo(
- Display * /* dpy */,
- unsigned int /* which */,
- XkbDeviceInfoPtr /* devi */
-);
-
-extern Bool XkbChangeDeviceInfo(
- Display* /* dpy */,
- XkbDeviceInfoPtr /* desc */,
- XkbDeviceChangesPtr /* changes */
-);
-
-extern Bool XkbSetDeviceLedInfo(
- Display * /* dpy */,
- XkbDeviceInfoPtr /* devi */,
- unsigned int /* ledClass */,
- unsigned int /* ledID */,
- unsigned int /* which */
-);
-
-extern Bool XkbSetDeviceButtonActions(
- Display * /* dpy */,
- XkbDeviceInfoPtr /* devi */,
- unsigned int /* first */,
- unsigned int /* nBtns */
-);
-
-/***====================================================================***/
-
-extern char XkbToControl(
- char /* c */
-);
-
-/***====================================================================***/
-
-extern Bool XkbSetDebuggingFlags(
- Display * /* dpy */,
- unsigned int /* mask */,
- unsigned int /* flags */,
- char * /* msg */,
- unsigned int /* ctrls_mask */,
- unsigned int /* ctrls */,
- unsigned int * /* rtrn_flags */,
- unsigned int * /* rtrn_ctrls */
-);
-
-extern Bool XkbApplyVirtualModChanges(
- XkbDescPtr /* xkb */,
- unsigned int /* changed */,
- XkbChangesPtr /* changes */
-);
-
-extern Bool XkbUpdateActionVirtualMods(
- XkbDescPtr /* xkb */,
- XkbAction * /* act */,
- unsigned int /* changed */
-);
-
-extern void XkbUpdateKeyTypeVirtualMods(
- XkbDescPtr /* xkb */,
- XkbKeyTypePtr /* type */,
- unsigned int /* changed */,
- XkbChangesPtr /* changes */
-);
-
-_XFUNCPROTOEND
-
-#endif /* _XKBLIB_H_ */
+/************************************************************
+Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Silicon Graphics not be
+used in advertising or publicity pertaining to distribution
+of the software without specific prior written permission.
+Silicon Graphics makes no representation about the suitability
+of this software for any purpose. It is provided "as is"
+without any express or implied warranty.
+
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+********************************************************/
+
+#ifndef _X11_XKBLIB_H_
+#define _X11_XKBLIB_H_
+
+#include <X11/Xlib.h>
+#include <X11/extensions/XKBstr.h>
+
+typedef struct _XkbAnyEvent {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* # of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XKB event minor code */
+ unsigned int device; /* device ID */
+} XkbAnyEvent;
+
+typedef struct _XkbNewKeyboardNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbNewKeyboardNotify */
+ int device; /* device ID */
+ int old_device; /* device ID of previous keyboard */
+ int min_key_code; /* minimum key code */
+ int max_key_code; /* maximum key code */
+ int old_min_key_code;/* min key code of previous kbd */
+ int old_max_key_code;/* max key code of previous kbd */
+ unsigned int changed; /* changed aspects of the keyboard */
+ char req_major; /* major and minor opcode of req */
+ char req_minor; /* that caused change, if applicable */
+} XkbNewKeyboardNotifyEvent;
+
+typedef struct _XkbMapNotifyEvent {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbMapNotify */
+ int device; /* device ID */
+ unsigned int changed; /* fields which have been changed */
+ unsigned int flags; /* reserved */
+ int first_type; /* first changed key type */
+ int num_types; /* number of changed key types */
+ KeyCode min_key_code;
+ KeyCode max_key_code;
+ KeyCode first_key_sym;
+ KeyCode first_key_act;
+ KeyCode first_key_behavior;
+ KeyCode first_key_explicit;
+ KeyCode first_modmap_key;
+ KeyCode first_vmodmap_key;
+ int num_key_syms;
+ int num_key_acts;
+ int num_key_behaviors;
+ int num_key_explicit;
+ int num_modmap_keys;
+ int num_vmodmap_keys;
+ unsigned int vmods; /* mask of changed virtual mods */
+} XkbMapNotifyEvent;
+
+typedef struct _XkbStateNotifyEvent {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* # of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbStateNotify */
+ int device; /* device ID */
+ unsigned int changed; /* mask of changed state components */
+ int group; /* keyboard group */
+ int base_group; /* base keyboard group */
+ int latched_group; /* latched keyboard group */
+ int locked_group; /* locked keyboard group */
+ unsigned int mods; /* modifier state */
+ unsigned int base_mods; /* base modifier state */
+ unsigned int latched_mods; /* latched modifiers */
+ unsigned int locked_mods; /* locked modifiers */
+ int compat_state; /* compatibility state */
+ unsigned char grab_mods; /* mods used for grabs */
+ unsigned char compat_grab_mods;/* grab mods for non-XKB clients */
+ unsigned char lookup_mods; /* mods sent to clients */
+ unsigned char compat_lookup_mods; /* mods sent to non-XKB clients */
+ int ptr_buttons; /* pointer button state */
+ KeyCode keycode; /* keycode that caused the change */
+ char event_type; /* KeyPress or KeyRelease */
+ char req_major; /* Major opcode of request */
+ char req_minor; /* Minor opcode of request */
+} XkbStateNotifyEvent;
+
+typedef struct _XkbControlsNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbControlsNotify */
+ int device; /* device ID */
+ unsigned int changed_ctrls; /* controls with changed sub-values */
+ unsigned int enabled_ctrls; /* controls currently enabled */
+ unsigned int enabled_ctrl_changes;/* controls just {en,dis}abled */
+ int num_groups; /* total groups on keyboard */
+ KeyCode keycode; /* key that caused change or 0 */
+ char event_type; /* type of event that caused change */
+ char req_major; /* if keycode==0, major and minor */
+ char req_minor; /* opcode of req that caused change */
+} XkbControlsNotifyEvent;
+
+typedef struct _XkbIndicatorNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbIndicatorNotify */
+ int device; /* device ID */
+ unsigned int changed; /* indicators with new state or map */
+ unsigned int state; /* current state of all indicators */
+} XkbIndicatorNotifyEvent;
+
+typedef struct _XkbNamesNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbNamesNotify */
+ int device; /* device ID */
+ unsigned int changed; /* names that have changed */
+ int first_type; /* first key type with new name */
+ int num_types; /* number of key types with new names */
+ int first_lvl; /* first key type new new level names */
+ int num_lvls; /* # of key types w/new level names */
+ int num_aliases; /* total number of key aliases*/
+ int num_radio_groups;/* total number of radio groups */
+ unsigned int changed_vmods; /* virtual modifiers with new names */
+ unsigned int changed_groups; /* groups with new names */
+ unsigned int changed_indicators;/* indicators with new names */
+ int first_key; /* first key with new name */
+ int num_keys; /* number of keys with new names */
+} XkbNamesNotifyEvent;
+
+typedef struct _XkbCompatMapNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbCompatMapNotify */
+ int device; /* device ID */
+ unsigned int changed_groups; /* groups with new compat maps */
+ int first_si; /* first new symbol interp */
+ int num_si; /* number of new symbol interps */
+ int num_total_si; /* total # of symbol interps */
+} XkbCompatMapNotifyEvent;
+
+typedef struct _XkbBellNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbBellNotify */
+ int device; /* device ID */
+ int percent; /* requested volume as a % of maximum */
+ int pitch; /* requested pitch in Hz */
+ int duration; /* requested duration in useconds */
+ int bell_class; /* (input extension) feedback class */
+ int bell_id; /* (input extension) ID of feedback */
+ Atom name; /* "name" of requested bell */
+ Window window; /* window associated with event */
+ Bool event_only; /* "event only" requested */
+} XkbBellNotifyEvent;
+
+typedef struct _XkbActionMessage {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbActionMessage */
+ int device; /* device ID */
+ KeyCode keycode; /* key that generated the event */
+ Bool press; /* true if act caused by key press */
+ Bool key_event_follows;/* true if key event also generated */
+ int group; /* effective group */
+ unsigned int mods; /* effective mods */
+ char message[XkbActionMessageLength+1];
+ /* message -- leave space for NUL */
+} XkbActionMessageEvent;
+
+typedef struct _XkbAccessXNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbAccessXNotify */
+ int device; /* device ID */
+ int detail; /* XkbAXN_* */
+ int keycode; /* key of event */
+ int sk_delay; /* current slow keys delay */
+ int debounce_delay; /* current debounce delay */
+} XkbAccessXNotifyEvent;
+
+typedef struct _XkbExtensionDeviceNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbExtensionDeviceNotify */
+ int device; /* device ID */
+ unsigned int reason; /* reason for the event */
+ unsigned int supported; /* mask of supported features */
+ unsigned int unsupported; /* mask of unsupported features */
+ /* that some app tried to use */
+ int first_btn; /* first button that changed */
+ int num_btns; /* range of buttons changed */
+ unsigned int leds_defined; /* indicators with names or maps */
+ unsigned int led_state; /* current state of the indicators */
+ int led_class; /* feedback class for led changes */
+ int led_id; /* feedback id for led changes */
+} XkbExtensionDeviceNotifyEvent;
+
+typedef union _XkbEvent {
+ int type;
+ XkbAnyEvent any;
+ XkbNewKeyboardNotifyEvent new_kbd;
+ XkbMapNotifyEvent map;
+ XkbStateNotifyEvent state;
+ XkbControlsNotifyEvent ctrls;
+ XkbIndicatorNotifyEvent indicators;
+ XkbNamesNotifyEvent names;
+ XkbCompatMapNotifyEvent compat;
+ XkbBellNotifyEvent bell;
+ XkbActionMessageEvent message;
+ XkbAccessXNotifyEvent accessx;
+ XkbExtensionDeviceNotifyEvent device;
+ XEvent core;
+} XkbEvent;
+
+typedef struct _XkbKbdDpyState XkbKbdDpyStateRec,*XkbKbdDpyStatePtr;
+
+ /* XkbOpenDisplay error codes */
+#define XkbOD_Success 0
+#define XkbOD_BadLibraryVersion 1
+#define XkbOD_ConnectionRefused 2
+#define XkbOD_NonXkbServer 3
+#define XkbOD_BadServerVersion 4
+
+ /* Values for XlibFlags */
+#define XkbLC_ForceLatin1Lookup (1<<0)
+#define XkbLC_ConsumeLookupMods (1<<1)
+#define XkbLC_AlwaysConsumeShiftAndLock (1<<2)
+#define XkbLC_IgnoreNewKeyboards (1<<3)
+#define XkbLC_ControlFallback (1<<4)
+#define XkbLC_ConsumeKeysOnComposeFail (1<<29)
+#define XkbLC_ComposeLED (1<<30)
+#define XkbLC_BeepOnComposeFail (1<<31)
+
+#define XkbLC_AllComposeControls (0xc0000000)
+#define XkbLC_AllControls (0xc000001f)
+
+_XFUNCPROTOBEGIN
+
+extern Bool XkbIgnoreExtension(
+ Bool /* ignore */
+);
+
+extern Display *XkbOpenDisplay(
+ char * /* name */,
+ int * /* ev_rtrn */,
+ int * /* err_rtrn */,
+ int * /* major_rtrn */,
+ int * /* minor_rtrn */,
+ int * /* reason */
+);
+
+extern Bool XkbQueryExtension(
+ Display * /* dpy */,
+ int * /* opcodeReturn */,
+ int * /* eventBaseReturn */,
+ int * /* errorBaseReturn */,
+ int * /* majorRtrn */,
+ int * /* minorRtrn */
+);
+
+extern Bool XkbUseExtension(
+ Display * /* dpy */,
+ int * /* major_rtrn */,
+ int * /* minor_rtrn */
+);
+
+extern Bool XkbLibraryVersion(
+ int * /* libMajorRtrn */,
+ int * /* libMinorRtrn */
+);
+
+extern unsigned int XkbSetXlibControls(
+ Display* /* dpy */,
+ unsigned int /* affect */,
+ unsigned int /* values */
+);
+
+extern unsigned int XkbGetXlibControls(
+ Display* /* dpy */
+);
+
+extern unsigned int XkbXlibControlsImplemented(void);
+
+typedef Atom (*XkbInternAtomFunc)(
+ Display * /* dpy */,
+ _Xconst char * /* name */,
+ Bool /* only_if_exists */
+);
+
+typedef char * (*XkbGetAtomNameFunc)(
+ Display * /* dpy */,
+ Atom /* atom */
+);
+
+extern void XkbSetAtomFuncs(
+ XkbInternAtomFunc /* getAtom */,
+ XkbGetAtomNameFunc /* getName */
+);
+
+extern KeySym XkbKeycodeToKeysym(
+ Display * /* dpy */,
+#if NeedWidePrototypes
+ unsigned int /* kc */,
+#else
+ KeyCode /* kc */,
+#endif
+ int /* group */,
+ int /* level */
+);
+
+extern unsigned int XkbKeysymToModifiers(
+ Display * /* dpy */,
+ KeySym /* ks */
+);
+
+extern Bool XkbLookupKeySym(
+ Display * /* dpy */,
+ KeyCode /* keycode */,
+ unsigned int /* modifiers */,
+ unsigned int * /* modifiers_return */,
+ KeySym * /* keysym_return */
+);
+
+extern int XkbLookupKeyBinding(
+ Display * /* dpy */,
+ KeySym /* sym_rtrn */,
+ unsigned int /* mods */,
+ char * /* buffer */,
+ int /* nbytes */,
+ int * /* extra_rtrn */
+);
+
+extern Bool XkbTranslateKeyCode(
+ XkbDescPtr /* xkb */,
+ KeyCode /* keycode */,
+ unsigned int /* modifiers */,
+ unsigned int * /* modifiers_return */,
+ KeySym * /* keysym_return */
+);
+
+extern int XkbTranslateKeySym(
+ Display * /* dpy */,
+ register KeySym * /* sym_return */,
+ unsigned int /* modifiers */,
+ char * /* buffer */,
+ int /* nbytes */,
+ int * /* extra_rtrn */
+);
+
+extern Bool XkbSetAutoRepeatRate(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* delay */,
+ unsigned int /* interval */
+);
+
+extern Bool XkbGetAutoRepeatRate(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int * /* delayRtrn */,
+ unsigned int * /* intervalRtrn */
+);
+
+extern Bool XkbChangeEnabledControls(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* affect */,
+ unsigned int /* values */
+);
+
+extern Bool XkbDeviceBell(
+ Display * /* dpy */,
+ Window /* win */,
+ int /* deviceSpec */,
+ int /* bellClass */,
+ int /* bellID */,
+ int /* percent */,
+ Atom /* name */
+);
+
+extern Bool XkbForceDeviceBell(
+ Display * /* dpy */,
+ int /* deviceSpec */,
+ int /* bellClass */,
+ int /* bellID */,
+ int /* percent */
+);
+
+extern Bool XkbDeviceBellEvent(
+ Display * /* dpy */,
+ Window /* win */,
+ int /* deviceSpec */,
+ int /* bellClass */,
+ int /* bellID */,
+ int /* percent */,
+ Atom /* name */
+);
+
+extern Bool XkbBell(
+ Display * /* dpy */,
+ Window /* win */,
+ int /* percent */,
+ Atom /* name */
+);
+
+extern Bool XkbForceBell(
+ Display * /* dpy */,
+ int /* percent */
+);
+
+extern Bool XkbBellEvent(
+ Display * /* dpy */,
+ Window /* win */,
+ int /* percent */,
+ Atom /* name */
+);
+
+extern Bool XkbSelectEvents(
+ Display * /* dpy */,
+ unsigned int /* deviceID */,
+ unsigned int /* affect */,
+ unsigned int /* values */
+);
+
+extern Bool XkbSelectEventDetails(
+ Display * /* dpy */,
+ unsigned int /* deviceID */,
+ unsigned int /* eventType */,
+ unsigned long /* affect */,
+ unsigned long /* details */
+);
+
+extern void XkbNoteMapChanges(
+ XkbMapChangesPtr /* old */,
+ XkbMapNotifyEvent * /* new */,
+ unsigned int /* wanted */
+);
+
+extern void XkbNoteNameChanges(
+ XkbNameChangesPtr /* old */,
+ XkbNamesNotifyEvent * /* new */,
+ unsigned int /* wanted */
+);
+
+extern Status XkbGetIndicatorState(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int * /* pStateRtrn */
+);
+
+extern Status XkbGetDeviceIndicatorState(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledID */,
+ unsigned int * /* pStateRtrn */
+);
+
+extern Status XkbGetIndicatorMap(
+ Display * /* dpy */,
+ unsigned long /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern Bool XkbSetIndicatorMap(
+ Display * /* dpy */,
+ unsigned long /* which */,
+ XkbDescPtr /* desc */
+);
+
+#define XkbNoteIndicatorMapChanges(o,n,w) \
+ ((o)->map_changes|=((n)->map_changes&(w)))
+#define XkbNoteIndicatorStateChanges(o,n,w)\
+ ((o)->state_changes|=((n)->state_changes&(w)))
+#define XkbGetIndicatorMapChanges(d,x,c) \
+ (XkbGetIndicatorMap((d),(c)->map_changes,x))
+#define XkbChangeIndicatorMaps(d,x,c) \
+ (XkbSetIndicatorMap((d),(c)->map_changes,x))
+
+extern Bool XkbGetNamedIndicator(
+ Display * /* dpy */,
+ Atom /* name */,
+ int * /* pNdxRtrn */,
+ Bool * /* pStateRtrn */,
+ XkbIndicatorMapPtr /* pMapRtrn */,
+ Bool * /* pRealRtrn */
+);
+
+extern Bool XkbGetNamedDeviceIndicator(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledID */,
+ Atom /* name */,
+ int * /* pNdxRtrn */,
+ Bool * /* pStateRtrn */,
+ XkbIndicatorMapPtr /* pMapRtrn */,
+ Bool * /* pRealRtrn */
+);
+
+extern Bool XkbSetNamedIndicator(
+ Display * /* dpy */,
+ Atom /* name */,
+ Bool /* changeState */,
+ Bool /* state */,
+ Bool /* createNewMap */,
+ XkbIndicatorMapPtr /* pMap */
+);
+
+extern Bool XkbSetNamedDeviceIndicator(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledID */,
+ Atom /* name */,
+ Bool /* changeState */,
+ Bool /* state */,
+ Bool /* createNewMap */,
+ XkbIndicatorMapPtr /* pMap */
+);
+
+extern Bool XkbLockModifiers(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* affect */,
+ unsigned int /* values */
+);
+
+extern Bool XkbLatchModifiers(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* affect */,
+ unsigned int /* values */
+);
+
+extern Bool XkbLockGroup(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* group */
+);
+
+extern Bool XkbLatchGroup(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* group */
+);
+
+extern Bool XkbSetServerInternalMods(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* affectReal */,
+ unsigned int /* realValues */,
+ unsigned int /* affectVirtual */,
+ unsigned int /* virtualValues */
+);
+
+extern Bool XkbSetIgnoreLockMods(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* affectReal */,
+ unsigned int /* realValues */,
+ unsigned int /* affectVirtual */,
+ unsigned int /* virtualValues */
+);
+
+
+extern Bool XkbVirtualModsToReal(
+ XkbDescPtr /* xkb */,
+ unsigned int /* virtual_mask */,
+ unsigned int * /* mask_rtrn */
+);
+
+extern Bool XkbComputeEffectiveMap(
+ XkbDescPtr /* xkb */,
+ XkbKeyTypePtr /* type */,
+ unsigned char * /* map_rtrn */
+);
+
+extern Status XkbInitCanonicalKeyTypes(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ int /* keypadVMod */
+);
+
+extern XkbDescPtr XkbAllocKeyboard(
+ void
+);
+
+extern void XkbFreeKeyboard(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ Bool /* freeDesc */
+);
+
+extern Status XkbAllocClientMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ unsigned int /* nTypes */
+);
+
+extern Status XkbAllocServerMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ unsigned int /* nActions */
+);
+
+extern void XkbFreeClientMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* what */,
+ Bool /* freeMap */
+);
+
+extern void XkbFreeServerMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* what */,
+ Bool /* freeMap */
+);
+
+extern XkbKeyTypePtr XkbAddKeyType(
+ XkbDescPtr /* xkb */,
+ Atom /* name */,
+ int /* map_count */,
+ Bool /* want_preserve */,
+ int /* num_lvls */
+);
+
+extern Status XkbAllocIndicatorMaps(
+ XkbDescPtr /* xkb */
+);
+
+extern void XkbFreeIndicatorMaps(
+ XkbDescPtr /* xkb */
+);
+
+extern XkbDescPtr XkbGetMap(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ unsigned int /* deviceSpec */
+);
+
+extern Status XkbGetUpdatedMap(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern Status XkbGetMapChanges(
+ Display * /* dpy */,
+ XkbDescPtr /* xkb */,
+ XkbMapChangesPtr /* changes */
+);
+
+
+extern Status XkbRefreshKeyboardMapping(
+ XkbMapNotifyEvent * /* event */
+);
+
+extern Status XkbGetKeyTypes(
+ Display * /* dpy */,
+ unsigned int /* first */,
+ unsigned int /* num */,
+ XkbDescPtr /* xkb */
+);
+
+extern Status XkbGetKeySyms(
+ Display * /* dpy */,
+ unsigned int /* first */,
+ unsigned int /* num */,
+ XkbDescPtr /* xkb */
+);
+
+extern Status XkbGetKeyActions(
+ Display * /* dpy */,
+ unsigned int /* first */,
+ unsigned int /* num */,
+ XkbDescPtr /* xkb */
+);
+
+extern Status XkbGetKeyBehaviors(
+ Display * /* dpy */,
+ unsigned int /* firstKey */,
+ unsigned int /* nKeys */,
+ XkbDescPtr /* desc */
+);
+
+extern Status XkbGetVirtualMods(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern Status XkbGetKeyExplicitComponents(
+ Display * /* dpy */,
+ unsigned int /* firstKey */,
+ unsigned int /* nKeys */,
+ XkbDescPtr /* desc */
+);
+
+extern Status XkbGetKeyModifierMap(
+ Display * /* dpy */,
+ unsigned int /* firstKey */,
+ unsigned int /* nKeys */,
+ XkbDescPtr /* desc */
+);
+
+extern Status XkbGetKeyVirtualModMap(
+ Display * /* dpy */,
+ unsigned int /* first */,
+ unsigned int /* num */,
+ XkbDescPtr /* xkb */
+);
+
+extern Status XkbAllocControls(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which*/
+);
+
+extern void XkbFreeControls(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ Bool /* freeMap */
+);
+
+extern Status XkbGetControls(
+ Display * /* dpy */,
+ unsigned long /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern Bool XkbSetControls(
+ Display * /* dpy */,
+ unsigned long /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern void XkbNoteControlsChanges(
+ XkbControlsChangesPtr /* old */,
+ XkbControlsNotifyEvent * /* new */,
+ unsigned int /* wanted */
+);
+
+#define XkbGetControlsChanges(d,x,c) XkbGetControls(d,(c)->changed_ctrls,x)
+#define XkbChangeControls(d,x,c) XkbSetControls(d,(c)->changed_ctrls,x)
+
+extern Status XkbAllocCompatMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ unsigned int /* nInterpret */
+);
+
+extern void XkbFreeCompatMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ Bool /* freeMap */
+);
+
+extern Status XkbGetCompatMap(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDescPtr /* xkb */
+);
+
+extern Bool XkbSetCompatMap(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDescPtr /* xkb */,
+ Bool /* updateActions */
+);
+
+extern XkbSymInterpretPtr XkbAddSymInterpret(
+ XkbDescPtr /* xkb */,
+ XkbSymInterpretPtr /* si */,
+ Bool /* updateMap */,
+ XkbChangesPtr /* changes */
+);
+
+extern Status XkbAllocNames(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ int /* nTotalRG */,
+ int /* nTotalAliases */
+);
+
+extern Status XkbGetNames(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern Bool XkbSetNames(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ unsigned int /* firstType */,
+ unsigned int /* nTypes */,
+ XkbDescPtr /* desc */
+);
+
+extern Bool XkbChangeNames(
+ Display * /* dpy */,
+ XkbDescPtr /* xkb */,
+ XkbNameChangesPtr /* changes */
+);
+
+extern void XkbFreeNames(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ Bool /* freeMap */
+);
+
+
+extern Status XkbGetState(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ XkbStatePtr /* rtrnState */
+);
+
+extern Bool XkbSetMap(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern Bool XkbChangeMap(
+ Display* /* dpy */,
+ XkbDescPtr /* desc */,
+ XkbMapChangesPtr /* changes */
+);
+
+extern Bool XkbSetDetectableAutoRepeat(
+ Display * /* dpy */,
+ Bool /* detectable */,
+ Bool * /* supported */
+);
+
+extern Bool XkbGetDetectableAutoRepeat(
+ Display * /* dpy */,
+ Bool * /* supported */
+);
+
+extern Bool XkbSetAutoResetControls(
+ Display * /* dpy */,
+ unsigned int /* changes */,
+ unsigned int * /* auto_ctrls */,
+ unsigned int * /* auto_values */
+);
+
+extern Bool XkbGetAutoResetControls(
+ Display * /* dpy */,
+ unsigned int * /* auto_ctrls */,
+ unsigned int * /* auto_ctrl_values */
+);
+
+extern Bool XkbSetPerClientControls(
+ Display * /* dpy */,
+ unsigned int /* change */,
+ unsigned int * /* values */
+);
+
+extern Bool XkbGetPerClientControls(
+ Display * /* dpy */,
+ unsigned int * /* ctrls */
+);
+
+extern Status XkbCopyKeyType(
+ XkbKeyTypePtr /* from */,
+ XkbKeyTypePtr /* into */
+);
+
+extern Status XkbCopyKeyTypes(
+ XkbKeyTypePtr /* from */,
+ XkbKeyTypePtr /* into */,
+ int /* num_types */
+);
+
+extern Status XkbResizeKeyType(
+ XkbDescPtr /* xkb */,
+ int /* type_ndx */,
+ int /* map_count */,
+ Bool /* want_preserve */,
+ int /* new_num_lvls */
+);
+
+extern KeySym *XkbResizeKeySyms(
+ XkbDescPtr /* desc */,
+ int /* forKey */,
+ int /* symsNeeded */
+);
+
+extern XkbAction *XkbResizeKeyActions(
+ XkbDescPtr /* desc */,
+ int /* forKey */,
+ int /* actsNeeded */
+);
+
+extern Status XkbChangeTypesOfKey(
+ XkbDescPtr /* xkb */,
+ int /* key */,
+ int /* num_groups */,
+ unsigned int /* groups */,
+ int * /* newTypes */,
+ XkbMapChangesPtr /* pChanges */
+);
+
+extern Status XkbChangeKeycodeRange(
+ XkbDescPtr /* xkb */,
+ int /* minKC */,
+ int /* maxKC */,
+ XkbChangesPtr /* changes */
+);
+
+/***====================================================================***/
+
+extern XkbComponentListPtr XkbListComponents(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ XkbComponentNamesPtr /* ptrns */,
+ int * /* max_inout */
+);
+
+extern void XkbFreeComponentList(
+ XkbComponentListPtr /* list */
+);
+
+extern XkbDescPtr XkbGetKeyboard(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ unsigned int /* deviceSpec */
+);
+
+extern XkbDescPtr XkbGetKeyboardByName(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ XkbComponentNamesPtr /* names */,
+ unsigned int /* want */,
+ unsigned int /* need */,
+ Bool /* load */
+);
+
+/***====================================================================***/
+
+extern int XkbKeyTypesForCoreSymbols( /* returns # of groups */
+ XkbDescPtr /* xkb */, /* keyboard device */
+ int /* map_width */, /* width of core KeySym array */
+ KeySym * /* core_syms */, /* always mapWidth symbols */
+ unsigned int /* protected */, /* explicit key types */
+ int * /* types_inout */, /* always four type indices */
+ KeySym * /* xkb_syms_rtrn */ /* must have enough space */
+);
+
+extern Bool XkbApplyCompatMapToKey( /* False only on error */
+ XkbDescPtr /* xkb */, /* keymap to be edited */
+ KeyCode /* key */, /* key to be updated */
+ XkbChangesPtr /* changes */ /* resulting changes to map */
+);
+
+extern Bool XkbUpdateMapFromCore( /* False only on error */
+ XkbDescPtr /* xkb */, /* XKB keyboard to be edited */
+ KeyCode /* first_key */, /* first changed key */
+ int /* num_keys */, /* number of changed keys */
+ int /* map_width */, /* width of core keymap */
+ KeySym * /* core_keysyms */, /* symbols from core keymap */
+ XkbChangesPtr /* changes */ /* resulting changes */
+);
+
+/***====================================================================***/
+
+extern XkbDeviceLedInfoPtr XkbAddDeviceLedInfo(
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledId */
+);
+
+extern Status XkbResizeDeviceButtonActions(
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* newTotal */
+);
+
+extern XkbDeviceInfoPtr XkbAllocDeviceInfo(
+ unsigned int /* deviceSpec */,
+ unsigned int /* nButtons */,
+ unsigned int /* szLeds */
+);
+
+extern void XkbFreeDeviceInfo(
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* which */,
+ Bool /* freeDevI */
+);
+
+extern void XkbNoteDeviceChanges(
+ XkbDeviceChangesPtr /* old */,
+ XkbExtensionDeviceNotifyEvent * /* new */,
+ unsigned int /* wanted */
+);
+
+extern XkbDeviceInfoPtr XkbGetDeviceInfo(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledID */
+);
+
+extern Status XkbGetDeviceInfoChanges(
+ Display * /* dpy */,
+ XkbDeviceInfoPtr /* devi */,
+ XkbDeviceChangesPtr /* changes */
+);
+
+extern Status XkbGetDeviceButtonActions(
+ Display * /* dpy */,
+ XkbDeviceInfoPtr /* devi */,
+ Bool /* all */,
+ unsigned int /* first */,
+ unsigned int /* nBtns */
+);
+
+extern Status XkbGetDeviceLedInfo(
+ Display * /* dpy */,
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* ledClass (class, XIDflt, XIAll) */,
+ unsigned int /* ledId (id, XIDflt, XIAll) */,
+ unsigned int /* which (XkbXI_Indicator{Names,Map}Mask */
+);
+
+extern Bool XkbSetDeviceInfo(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDeviceInfoPtr /* devi */
+);
+
+extern Bool XkbChangeDeviceInfo(
+ Display* /* dpy */,
+ XkbDeviceInfoPtr /* desc */,
+ XkbDeviceChangesPtr /* changes */
+);
+
+extern Bool XkbSetDeviceLedInfo(
+ Display * /* dpy */,
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledID */,
+ unsigned int /* which */
+);
+
+extern Bool XkbSetDeviceButtonActions(
+ Display * /* dpy */,
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* first */,
+ unsigned int /* nBtns */
+);
+
+/***====================================================================***/
+
+extern char XkbToControl(
+ char /* c */
+);
+
+/***====================================================================***/
+
+extern Bool XkbSetDebuggingFlags(
+ Display * /* dpy */,
+ unsigned int /* mask */,
+ unsigned int /* flags */,
+ char * /* msg */,
+ unsigned int /* ctrls_mask */,
+ unsigned int /* ctrls */,
+ unsigned int * /* rtrn_flags */,
+ unsigned int * /* rtrn_ctrls */
+);
+
+extern Bool XkbApplyVirtualModChanges(
+ XkbDescPtr /* xkb */,
+ unsigned int /* changed */,
+ XkbChangesPtr /* changes */
+);
+
+extern Bool XkbUpdateActionVirtualMods(
+ XkbDescPtr /* xkb */,
+ XkbAction * /* act */,
+ unsigned int /* changed */
+);
+
+extern void XkbUpdateKeyTypeVirtualMods(
+ XkbDescPtr /* xkb */,
+ XkbKeyTypePtr /* type */,
+ unsigned int /* changed */,
+ XkbChangesPtr /* changes */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _X11_XKBLIB_H_ */
diff --git a/libX11/include/X11/Xcms.h b/libX11/include/X11/Xcms.h
index cea11ab48..327fdc1f7 100644
--- a/libX11/include/X11/Xcms.h
+++ b/libX11/include/X11/Xcms.h
@@ -1,803 +1,803 @@
-
-/*
- * Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc.
- * All Rights Reserved
- *
- * This file is a component of an X Window System-specific implementation
- * of Xcms based on the TekColor Color Management System. Permission is
- * hereby granted to use, copy, modify, sell, and otherwise distribute this
- * software and its documentation for any purpose and without fee, provided
- * that this copyright, permission, and disclaimer notice is reproduced in
- * all copies of this software and in supporting documentation. TekColor
- * is a trademark of Tektronix, Inc.
- *
- * Tektronix makes no representation about the suitability of this software
- * for any purpose. It is provided "as is" and with all faults.
- *
- * TEKTRONIX DISCLAIMS ALL WARRANTIES APPLICABLE TO THIS SOFTWARE,
- * INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
- * PARTICULAR PURPOSE. IN NO EVENT SHALL TEKTRONIX BE LIABLE FOR ANY
- * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA, OR PROFITS, WHETHER IN AN ACTION OF
- * CONTRACT, NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- * CONNECTION WITH THE USE OR THE PERFORMANCE OF THIS SOFTWARE.
- *
- *
- * DESCRIPTION
- * Public include file for X Color Management System
- */
-#ifndef _XCMS_H_
-#define _XCMS_H_
-
-#include <X11/Xlib.h>
-
- /*
- * XCMS Status Values
- */
-#define XcmsFailure 0
-#define XcmsSuccess 1
-#define XcmsSuccessWithCompression 2
-
- /*
- * Color Space Format ID's
- * Color Space ID's are of XcmsColorFormat type.
- *
- * bit 31
- * 0 == Device-Independent
- * 1 == Device-Dependent
- *
- * bit 30:
- * 0 == Registered with X Consortium
- * 1 == Unregistered
- */
-#define XcmsUndefinedFormat (XcmsColorFormat)0x00000000
-#define XcmsCIEXYZFormat (XcmsColorFormat)0x00000001
-#define XcmsCIEuvYFormat (XcmsColorFormat)0x00000002
-#define XcmsCIExyYFormat (XcmsColorFormat)0x00000003
-#define XcmsCIELabFormat (XcmsColorFormat)0x00000004
-#define XcmsCIELuvFormat (XcmsColorFormat)0x00000005
-#define XcmsTekHVCFormat (XcmsColorFormat)0x00000006
-#define XcmsRGBFormat (XcmsColorFormat)0x80000000
-#define XcmsRGBiFormat (XcmsColorFormat)0x80000001
-
- /*
- * State of XcmsPerScrnInfo
- */
-#define XcmsInitNone 0x00 /* no initialization attempted */
-#define XcmsInitSuccess 0x01 /* initialization successful */
-#define XcmsInitFailure 0xff /* failure, use defaults */
-
-#define DisplayOfCCC(ccc) ((ccc)->dpy)
-#define ScreenNumberOfCCC(ccc) ((ccc)->screenNumber)
-#define VisualOfCCC(ccc) ((ccc)->visual)
-#define ClientWhitePointOfCCC(ccc) (&(ccc)->clientWhitePt)
-#define ScreenWhitePointOfCCC(ccc) (&(ccc)->pPerScrnInfo->screenWhitePt)
-#define FunctionSetOfCCC(ccc) ((ccc)->pPerScrnInfo->functionSet)
-
-typedef unsigned long XcmsColorFormat; /* Color Space Format ID */
-
-typedef double XcmsFloat;
-
- /*
- * Device RGB
- */
-typedef struct {
- unsigned short red; /* scaled from 0x0000 to 0xffff */
- unsigned short green; /* scaled from 0x0000 to 0xffff */
- unsigned short blue; /* scaled from 0x0000 to 0xffff */
-} XcmsRGB;
-
- /*
- * RGB Intensity
- */
-typedef struct {
- XcmsFloat red; /* 0.0 - 1.0 */
- XcmsFloat green; /* 0.0 - 1.0 */
- XcmsFloat blue; /* 0.0 - 1.0 */
-} XcmsRGBi;
-
- /*
- * CIE XYZ
- */
-typedef struct {
- XcmsFloat X;
- XcmsFloat Y;
- XcmsFloat Z;
-} XcmsCIEXYZ;
-
- /*
- * CIE u'v'Y
- */
-typedef struct {
- XcmsFloat u_prime; /* 0.0 - 1.0 */
- XcmsFloat v_prime; /* 0.0 - 1.0 */
- XcmsFloat Y; /* 0.0 - 1.0 */
-} XcmsCIEuvY;
-
- /*
- * CIE xyY
- */
-typedef struct {
- XcmsFloat x; /* 0.0 - 1.0 */
- XcmsFloat y; /* 0.0 - 1.0 */
- XcmsFloat Y; /* 0.0 - 1.0 */
-} XcmsCIExyY;
-
- /*
- * CIE L*a*b*
- */
-typedef struct {
- XcmsFloat L_star; /* 0.0 - 100.0 */
- XcmsFloat a_star;
- XcmsFloat b_star;
-} XcmsCIELab;
-
- /*
- * CIE L*u*v*
- */
-typedef struct {
- XcmsFloat L_star; /* 0.0 - 100.0 */
- XcmsFloat u_star;
- XcmsFloat v_star;
-} XcmsCIELuv;
-
- /*
- * TekHVC
- */
-typedef struct {
- XcmsFloat H; /* 0.0 - 360.0 */
- XcmsFloat V; /* 0.0 - 100.0 */
- XcmsFloat C; /* 0.0 - 100.0 */
-} XcmsTekHVC;
-
- /*
- * PAD
- */
-typedef struct {
- XcmsFloat pad0;
- XcmsFloat pad1;
- XcmsFloat pad2;
- XcmsFloat pad3;
-} XcmsPad;
-
-
- /*
- * XCMS Color Structure
- */
-typedef struct {
- union {
- XcmsRGB RGB;
- XcmsRGBi RGBi;
- XcmsCIEXYZ CIEXYZ;
- XcmsCIEuvY CIEuvY;
- XcmsCIExyY CIExyY;
- XcmsCIELab CIELab;
- XcmsCIELuv CIELuv;
- XcmsTekHVC TekHVC;
- XcmsPad Pad;
- } spec; /* the color specification */
- unsigned long pixel; /* pixel value (as needed) */
- XcmsColorFormat format; /* the specification format */
-} XcmsColor;
-
-
- /*
- * XCMS Per Screen related data
- */
-
-typedef struct _XcmsPerScrnInfo {
- XcmsColor screenWhitePt; /* Screen White point */
- XPointer functionSet; /* pointer to Screen Color Characterization */
- /* Function Set structure */
- XPointer screenData; /* pointer to corresponding Screen Color*/
- /* Characterization Data */
- unsigned char state; /* XcmsInitNone, XcmsInitSuccess, XcmsInitFailure */
- char pad[3];
-} XcmsPerScrnInfo;
-
-typedef struct _XcmsCCC *XcmsCCC;
-
-typedef Status (*XcmsCompressionProc)( /* Gamut Compression Proc */
- XcmsCCC /* ccc */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- unsigned int /* index */,
- Bool* /* compression_flags_return */
-);
-
-typedef Status (*XcmsWhiteAdjustProc)( /* White Point Adjust Proc */
- XcmsCCC /* ccc */,
- XcmsColor* /* initial_white_point*/,
- XcmsColor* /* target_white_point*/,
- XcmsColorFormat /* target_format */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- Bool* /* compression_flags_return */
-);
-
- /*
- * XCMS Color Conversion Context
- */
-typedef struct _XcmsCCC {
- Display *dpy; /* X Display */
- int screenNumber; /* X screen number */
- Visual *visual; /* X Visual */
- XcmsColor clientWhitePt; /* Client White Point */
- XcmsCompressionProc gamutCompProc; /* Gamut Compression Function */
- XPointer gamutCompClientData; /* Gamut Comp Func Client Data */
- XcmsWhiteAdjustProc whitePtAdjProc; /* White Point Adjustment Function */
- XPointer whitePtAdjClientData; /* White Pt Adj Func Client Data */
- XcmsPerScrnInfo *pPerScrnInfo; /* pointer to per screen information */
- /* associated with the above display */
- /* screenNumber */
-} XcmsCCCRec;
-
-typedef Status (*XcmsScreenInitProc)( /* Screen Initialization Proc */
- Display* /* dpy */,
- int /* screen_number */,
- XcmsPerScrnInfo* /* screen_info */
-);
-
-typedef void (*XcmsScreenFreeProc)(
- XPointer /* screenData */
-);
-
- /*
- * Function List Pointer -- pointer to an array of function pointers.
- * The end of list is indicated by a NULL pointer.
- */
-/*
- * XXX: The use of the XcmsConversionProc type is broken. The
- * device-independent colour conversion code uses it as:
-
-typedef Status (*XcmsConversionProc)(XcmsCCC, XcmsColor *, XcmsColor *,
- unsigned int);
-
- * while the device-dependent code uses it as:
-
-typedef Status (*XcmsConversionProc)(XcmsCCC, XcmsColor *, unsigned int,
- Bool *);
-
- * Until this is reworked, it's probably best to leave it unprotoized.
- * The code works regardless.
- */
-typedef Status (*XcmsDDConversionProc)( /* using device-dependent version */
- XcmsCCC /* ccc */,
- XcmsColor* /* pcolors_in_out */,
- unsigned int /* ncolors */,
- Bool* /* pCompressed */
- );
-
-typedef Status (*XcmsDIConversionProc)( /* using device-independent version */
- XcmsCCC /* ccc */,
- XcmsColor* /* white_point */,
- XcmsColor* /* pcolors_in_out */,
- unsigned int /* ncolors */
- );
-
-typedef XcmsDIConversionProc XcmsConversionProc;
-typedef XcmsConversionProc *XcmsFuncListPtr;
-
-typedef int (*XcmsParseStringProc)( /* Color String Parsing Proc */
- char* /* color_string */,
- XcmsColor* /* color_return */
-);
-
- /*
- * Color Space -- per Color Space related data (Device-Independent
- * or Device-Dependent)
- */
-typedef struct _XcmsColorSpace {
- const char *prefix; /* Prefix of string format. */
- XcmsColorFormat id; /* Format ID number. */
- XcmsParseStringProc parseString;
- /* String format parsing function */
- XcmsFuncListPtr to_CIEXYZ; /* Pointer to an array of function */
- /* pointers such that when the */
- /* functions are executed in sequence */
- /* will convert a XcmsColor structure */
- /* from this color space to CIEXYZ */
- /* space. */
- XcmsFuncListPtr from_CIEXYZ;/* Pointer to an array of function */
- /* pointers such that when the */
- /* functions are executed in sequence */
- /* will convert a XcmsColor structure */
- /* from CIEXYZ space to this color */
- /* space. */
- int inverse_flag; /* If 1, indicates that for 0 <= i < n */
- /* where n is the number of function */
- /* pointers in the lists to_CIEXYZ */
- /* and from_CIEXYZ; for each function */
- /* to_CIEXYZ[i] its inverse function */
- /* is from_CIEXYZ[n - i]. */
-
-} XcmsColorSpace;
-
- /*
- * Screen Color Characterization Function Set -- per device class
- * color space conversion functions.
- */
-typedef struct _XcmsFunctionSet {
- XcmsColorSpace **DDColorSpaces;
- /* Pointer to an array of pointers to */
- /* Device-DEPENDENT color spaces */
- /* understood by this SCCFuncSet. */
- XcmsScreenInitProc screenInitProc;
- /* Screen initialization function that */
- /* reads Screen Color Characterization*/
- /* Data off properties on the screen's*/
- /* root window. */
- XcmsScreenFreeProc screenFreeProc;
- /* Function that frees the SCCData */
- /* structures. */
-} XcmsFunctionSet;
-
-_XFUNCPROTOBEGIN
-
-extern Status XcmsAddColorSpace (
- XcmsColorSpace* /* pColorSpace */
-);
-
-extern Status XcmsAddFunctionSet (
- XcmsFunctionSet* /* functionSet */
-);
-
-extern Status XcmsAllocColor (
- Display* /* dpy */,
- Colormap /* colormap */,
- XcmsColor* /* color_in_out */,
- XcmsColorFormat /* result_format */
-);
-
-extern Status XcmsAllocNamedColor (
- Display* /* dpy */,
- Colormap /* colormap */,
- _Xconst char* /* color_string */,
- XcmsColor* /* color_scrn_return */,
- XcmsColor* /* color_exact_return */,
- XcmsColorFormat /* result_format */
-);
-
-extern XcmsCCC XcmsCCCOfColormap (
- Display* /* dpy */,
- Colormap /* colormap */
-);
-
-extern Status XcmsCIELabClipab(
- XcmsCCC /* ccc */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- unsigned int /* index */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsCIELabClipL(
- XcmsCCC /* ccc */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- unsigned int /* index */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsCIELabClipLab(
- XcmsCCC /* ccc */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- unsigned int /* index */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsCIELabQueryMaxC (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue_angle */,
- XcmsFloat /* L_star */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsCIELabQueryMaxL (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue_angle */,
- XcmsFloat /* chroma */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsCIELabQueryMaxLC (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue_angle */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsCIELabQueryMinL (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue_angle */,
- XcmsFloat /* chroma */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsCIELabToCIEXYZ (
- XcmsCCC /* ccc */,
- XcmsColor* /* white_point */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */
-);
-
-extern Status XcmsCIELabWhiteShiftColors(
- XcmsCCC /* ccc */,
- XcmsColor* /* initial_white_point*/,
- XcmsColor* /* target_white_point*/,
- XcmsColorFormat /* target_format */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsCIELuvClipL(
- XcmsCCC /* ccc */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- unsigned int /* index */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsCIELuvClipLuv(
- XcmsCCC /* ccc */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- unsigned int /* index */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsCIELuvClipuv(
- XcmsCCC /* ccc */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- unsigned int /* index */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsCIELuvQueryMaxC (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue_angle */,
- XcmsFloat /* L_star */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsCIELuvQueryMaxL (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue_angle */,
- XcmsFloat /* chroma */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsCIELuvQueryMaxLC (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue_angle */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsCIELuvQueryMinL (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue_angle */,
- XcmsFloat /* chroma */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsCIELuvToCIEuvY (
- XcmsCCC /* ccc */,
- XcmsColor* /* white_point */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */
-);
-
-extern Status XcmsCIELuvWhiteShiftColors(
- XcmsCCC /* ccc */,
- XcmsColor* /* initial_white_point*/,
- XcmsColor* /* target_white_point*/,
- XcmsColorFormat /* target_format */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsCIEXYZToCIELab (
- XcmsCCC /* ccc */,
- XcmsColor* /* white_point */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */
-);
-
-extern Status XcmsCIEXYZToCIEuvY (
- XcmsCCC /* ccc */,
- XcmsColor* /* white_point */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */
-);
-
-extern Status XcmsCIEXYZToCIExyY (
- XcmsCCC /* ccc */,
- XcmsColor* /* white_point */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */
-);
-
-extern Status XcmsCIEXYZToRGBi (
- XcmsCCC /* ccc */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsCIEuvYToCIELuv (
- XcmsCCC /* ccc */,
- XcmsColor* /* white_point */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */
-);
-
-extern Status XcmsCIEuvYToCIEXYZ (
- XcmsCCC /* ccc */,
- XcmsColor* /* white_point */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */
-);
-
-extern Status XcmsCIEuvYToTekHVC (
- XcmsCCC /* ccc */,
- XcmsColor* /* white_point */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */
-);
-
-extern Status XcmsCIExyYToCIEXYZ (
- XcmsCCC /* ccc */,
- XcmsColor* /* white_point */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */
-);
-
-extern XcmsColor *XcmsClientWhitePointOfCCC (
- XcmsCCC /* ccc */
-);
-
-extern Status XcmsConvertColors (
- XcmsCCC /* ccc */,
- XcmsColor* /* colorArry_in_out */,
- unsigned int /* nColors */,
- XcmsColorFormat /* targetFormat */,
- Bool* /* compArry_return */
-);
-
-extern XcmsCCC XcmsCreateCCC (
- Display* /* dpy */,
- int /* screenNumber */,
- Visual* /* visual */,
- XcmsColor* /* clientWhitePt */,
- XcmsCompressionProc /* gamutCompProc */,
- XPointer /* gamutCompClientData */,
- XcmsWhiteAdjustProc /* whitePtAdjProc */,
- XPointer /* whitePtAdjClientData */
-);
-
-extern XcmsCCC XcmsDefaultCCC (
- Display* /* dpy */,
- int /* screenNumber */
-);
-
-extern Display *XcmsDisplayOfCCC (
- XcmsCCC /* ccc */
-);
-
-extern XcmsColorFormat XcmsFormatOfPrefix (
- char* /* prefix */
-);
-
-extern void XcmsFreeCCC (
- XcmsCCC /* ccc */
-);
-
-extern Status XcmsLookupColor (
- Display* /* dpy */,
- Colormap /* colormap */,
- _Xconst char* /* color_string */,
- XcmsColor* /* pColor_exact_in_out */,
- XcmsColor* /* pColor_scrn_in_out */,
- XcmsColorFormat /* result_format */
-);
-
-extern char *XcmsPrefixOfFormat (
- XcmsColorFormat /* id */
-);
-
-extern Status XcmsQueryBlack (
- XcmsCCC /* ccc */,
- XcmsColorFormat /* target_format */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsQueryBlue (
- XcmsCCC /* ccc */,
- XcmsColorFormat /* target_format */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsQueryColor (
- Display* /* dpy */,
- Colormap /* colormap */,
- XcmsColor* /* pColor_in_out */,
- XcmsColorFormat /* result_format */
-);
-
-extern Status XcmsQueryColors (
- Display* /* dpy */,
- Colormap /* colormap */,
- XcmsColor* /* colorArry_in_out */,
- unsigned int /* nColors */,
- XcmsColorFormat /* result_format */
-);
-
-extern Status XcmsQueryGreen (
- XcmsCCC /* ccc */,
- XcmsColorFormat /* target_format */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsQueryRed (
- XcmsCCC /* ccc */,
- XcmsColorFormat /* target_format */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsQueryWhite (
- XcmsCCC /* ccc */,
- XcmsColorFormat /* target_format */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsRGBiToCIEXYZ (
- XcmsCCC /* ccc */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsRGBiToRGB (
- XcmsCCC /* ccc */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsRGBToRGBi (
- XcmsCCC /* ccc */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */,
- Bool* /* compression_flags_return */
-);
-
-extern int XcmsScreenNumberOfCCC (
- XcmsCCC /* ccc */
-);
-
-extern XcmsColor *XcmsScreenWhitePointOfCCC (
- XcmsCCC /* ccc */
-);
-
-extern XcmsCCC XcmsSetCCCOfColormap(
- Display* /* dpy */,
- Colormap /* colormap */,
- XcmsCCC /* ccc */
-);
-
-extern XcmsCompressionProc XcmsSetCompressionProc (
- XcmsCCC /* ccc */,
- XcmsCompressionProc /* compression_proc */,
- XPointer /* client_data */
-);
-
-extern XcmsWhiteAdjustProc XcmsSetWhiteAdjustProc (
- XcmsCCC /* ccc */,
- XcmsWhiteAdjustProc /* white_adjust_proc */,
- XPointer /* client_data */
-);
-
-extern Status XcmsSetWhitePoint (
- XcmsCCC /* ccc */,
- XcmsColor* /* color */
-);
-
-extern Status XcmsStoreColor (
- Display* /* dpy */,
- Colormap /* colormap */,
- XcmsColor* /* pColor_in */
-);
-
-extern Status XcmsStoreColors (
- Display* /* dpy */,
- Colormap /* colormap */,
- XcmsColor* /* colorArry_in */,
- unsigned int /* nColors */,
- Bool* /* compArry_return */
-);
-
-extern Status XcmsTekHVCClipC(
- XcmsCCC /* ccc */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- unsigned int /* index */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsTekHVCClipV(
- XcmsCCC /* ccc */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- unsigned int /* index */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsTekHVCClipVC(
- XcmsCCC /* ccc */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- unsigned int /* index */,
- Bool* /* compression_flags_return */
-);
-
-extern Status XcmsTekHVCQueryMaxC (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue */,
- XcmsFloat /* value */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsTekHVCQueryMaxV (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue */,
- XcmsFloat /* chroma */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsTekHVCQueryMaxVC (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsTekHVCQueryMaxVSamples (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue */,
- XcmsColor* /* colors_return */,
- unsigned int /* nsamples */
-);
-
-extern Status XcmsTekHVCQueryMinV (
- XcmsCCC /* ccc */,
- XcmsFloat /* hue */,
- XcmsFloat /* chroma */,
- XcmsColor* /* color_return */
-);
-
-extern Status XcmsTekHVCToCIEuvY (
- XcmsCCC /* ccc */,
- XcmsColor* /* white_point */,
- XcmsColor* /* colors */,
- unsigned int /* ncolors */
-);
-
-extern Status XcmsTekHVCWhiteShiftColors(
- XcmsCCC /* ccc */,
- XcmsColor* /* initial_white_point*/,
- XcmsColor* /* target_white_point*/,
- XcmsColorFormat /* target_format */,
- XcmsColor* /* colors_in_out */,
- unsigned int /* ncolors */,
- Bool* /* compression_flags_return */
-);
-
-extern Visual *XcmsVisualOfCCC (
- XcmsCCC /* ccc */
-);
-
-_XFUNCPROTOEND
-
-#endif /* _XCMS_H_ */
+
+/*
+ * Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc.
+ * All Rights Reserved
+ *
+ * This file is a component of an X Window System-specific implementation
+ * of Xcms based on the TekColor Color Management System. Permission is
+ * hereby granted to use, copy, modify, sell, and otherwise distribute this
+ * software and its documentation for any purpose and without fee, provided
+ * that this copyright, permission, and disclaimer notice is reproduced in
+ * all copies of this software and in supporting documentation. TekColor
+ * is a trademark of Tektronix, Inc.
+ *
+ * Tektronix makes no representation about the suitability of this software
+ * for any purpose. It is provided "as is" and with all faults.
+ *
+ * TEKTRONIX DISCLAIMS ALL WARRANTIES APPLICABLE TO THIS SOFTWARE,
+ * INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ * PARTICULAR PURPOSE. IN NO EVENT SHALL TEKTRONIX BE LIABLE FOR ANY
+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+ * RESULTING FROM LOSS OF USE, DATA, OR PROFITS, WHETHER IN AN ACTION OF
+ * CONTRACT, NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR THE PERFORMANCE OF THIS SOFTWARE.
+ *
+ *
+ * DESCRIPTION
+ * Public include file for X Color Management System
+ */
+#ifndef _X11_XCMS_H_
+#define _X11_XCMS_H_
+
+#include <X11/Xlib.h>
+
+ /*
+ * XCMS Status Values
+ */
+#define XcmsFailure 0
+#define XcmsSuccess 1
+#define XcmsSuccessWithCompression 2
+
+ /*
+ * Color Space Format ID's
+ * Color Space ID's are of XcmsColorFormat type.
+ *
+ * bit 31
+ * 0 == Device-Independent
+ * 1 == Device-Dependent
+ *
+ * bit 30:
+ * 0 == Registered with X Consortium
+ * 1 == Unregistered
+ */
+#define XcmsUndefinedFormat (XcmsColorFormat)0x00000000
+#define XcmsCIEXYZFormat (XcmsColorFormat)0x00000001
+#define XcmsCIEuvYFormat (XcmsColorFormat)0x00000002
+#define XcmsCIExyYFormat (XcmsColorFormat)0x00000003
+#define XcmsCIELabFormat (XcmsColorFormat)0x00000004
+#define XcmsCIELuvFormat (XcmsColorFormat)0x00000005
+#define XcmsTekHVCFormat (XcmsColorFormat)0x00000006
+#define XcmsRGBFormat (XcmsColorFormat)0x80000000
+#define XcmsRGBiFormat (XcmsColorFormat)0x80000001
+
+ /*
+ * State of XcmsPerScrnInfo
+ */
+#define XcmsInitNone 0x00 /* no initialization attempted */
+#define XcmsInitSuccess 0x01 /* initialization successful */
+#define XcmsInitFailure 0xff /* failure, use defaults */
+
+#define DisplayOfCCC(ccc) ((ccc)->dpy)
+#define ScreenNumberOfCCC(ccc) ((ccc)->screenNumber)
+#define VisualOfCCC(ccc) ((ccc)->visual)
+#define ClientWhitePointOfCCC(ccc) (&(ccc)->clientWhitePt)
+#define ScreenWhitePointOfCCC(ccc) (&(ccc)->pPerScrnInfo->screenWhitePt)
+#define FunctionSetOfCCC(ccc) ((ccc)->pPerScrnInfo->functionSet)
+
+typedef unsigned long XcmsColorFormat; /* Color Space Format ID */
+
+typedef double XcmsFloat;
+
+ /*
+ * Device RGB
+ */
+typedef struct {
+ unsigned short red; /* scaled from 0x0000 to 0xffff */
+ unsigned short green; /* scaled from 0x0000 to 0xffff */
+ unsigned short blue; /* scaled from 0x0000 to 0xffff */
+} XcmsRGB;
+
+ /*
+ * RGB Intensity
+ */
+typedef struct {
+ XcmsFloat red; /* 0.0 - 1.0 */
+ XcmsFloat green; /* 0.0 - 1.0 */
+ XcmsFloat blue; /* 0.0 - 1.0 */
+} XcmsRGBi;
+
+ /*
+ * CIE XYZ
+ */
+typedef struct {
+ XcmsFloat X;
+ XcmsFloat Y;
+ XcmsFloat Z;
+} XcmsCIEXYZ;
+
+ /*
+ * CIE u'v'Y
+ */
+typedef struct {
+ XcmsFloat u_prime; /* 0.0 - 1.0 */
+ XcmsFloat v_prime; /* 0.0 - 1.0 */
+ XcmsFloat Y; /* 0.0 - 1.0 */
+} XcmsCIEuvY;
+
+ /*
+ * CIE xyY
+ */
+typedef struct {
+ XcmsFloat x; /* 0.0 - 1.0 */
+ XcmsFloat y; /* 0.0 - 1.0 */
+ XcmsFloat Y; /* 0.0 - 1.0 */
+} XcmsCIExyY;
+
+ /*
+ * CIE L*a*b*
+ */
+typedef struct {
+ XcmsFloat L_star; /* 0.0 - 100.0 */
+ XcmsFloat a_star;
+ XcmsFloat b_star;
+} XcmsCIELab;
+
+ /*
+ * CIE L*u*v*
+ */
+typedef struct {
+ XcmsFloat L_star; /* 0.0 - 100.0 */
+ XcmsFloat u_star;
+ XcmsFloat v_star;
+} XcmsCIELuv;
+
+ /*
+ * TekHVC
+ */
+typedef struct {
+ XcmsFloat H; /* 0.0 - 360.0 */
+ XcmsFloat V; /* 0.0 - 100.0 */
+ XcmsFloat C; /* 0.0 - 100.0 */
+} XcmsTekHVC;
+
+ /*
+ * PAD
+ */
+typedef struct {
+ XcmsFloat pad0;
+ XcmsFloat pad1;
+ XcmsFloat pad2;
+ XcmsFloat pad3;
+} XcmsPad;
+
+
+ /*
+ * XCMS Color Structure
+ */
+typedef struct {
+ union {
+ XcmsRGB RGB;
+ XcmsRGBi RGBi;
+ XcmsCIEXYZ CIEXYZ;
+ XcmsCIEuvY CIEuvY;
+ XcmsCIExyY CIExyY;
+ XcmsCIELab CIELab;
+ XcmsCIELuv CIELuv;
+ XcmsTekHVC TekHVC;
+ XcmsPad Pad;
+ } spec; /* the color specification */
+ unsigned long pixel; /* pixel value (as needed) */
+ XcmsColorFormat format; /* the specification format */
+} XcmsColor;
+
+
+ /*
+ * XCMS Per Screen related data
+ */
+
+typedef struct _XcmsPerScrnInfo {
+ XcmsColor screenWhitePt; /* Screen White point */
+ XPointer functionSet; /* pointer to Screen Color Characterization */
+ /* Function Set structure */
+ XPointer screenData; /* pointer to corresponding Screen Color*/
+ /* Characterization Data */
+ unsigned char state; /* XcmsInitNone, XcmsInitSuccess, XcmsInitFailure */
+ char pad[3];
+} XcmsPerScrnInfo;
+
+typedef struct _XcmsCCC *XcmsCCC;
+
+typedef Status (*XcmsCompressionProc)( /* Gamut Compression Proc */
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+typedef Status (*XcmsWhiteAdjustProc)( /* White Point Adjust Proc */
+ XcmsCCC /* ccc */,
+ XcmsColor* /* initial_white_point*/,
+ XcmsColor* /* target_white_point*/,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+ /*
+ * XCMS Color Conversion Context
+ */
+typedef struct _XcmsCCC {
+ Display *dpy; /* X Display */
+ int screenNumber; /* X screen number */
+ Visual *visual; /* X Visual */
+ XcmsColor clientWhitePt; /* Client White Point */
+ XcmsCompressionProc gamutCompProc; /* Gamut Compression Function */
+ XPointer gamutCompClientData; /* Gamut Comp Func Client Data */
+ XcmsWhiteAdjustProc whitePtAdjProc; /* White Point Adjustment Function */
+ XPointer whitePtAdjClientData; /* White Pt Adj Func Client Data */
+ XcmsPerScrnInfo *pPerScrnInfo; /* pointer to per screen information */
+ /* associated with the above display */
+ /* screenNumber */
+} XcmsCCCRec;
+
+typedef Status (*XcmsScreenInitProc)( /* Screen Initialization Proc */
+ Display* /* dpy */,
+ int /* screen_number */,
+ XcmsPerScrnInfo* /* screen_info */
+);
+
+typedef void (*XcmsScreenFreeProc)(
+ XPointer /* screenData */
+);
+
+ /*
+ * Function List Pointer -- pointer to an array of function pointers.
+ * The end of list is indicated by a NULL pointer.
+ */
+/*
+ * XXX: The use of the XcmsConversionProc type is broken. The
+ * device-independent colour conversion code uses it as:
+
+typedef Status (*XcmsConversionProc)(XcmsCCC, XcmsColor *, XcmsColor *,
+ unsigned int);
+
+ * while the device-dependent code uses it as:
+
+typedef Status (*XcmsConversionProc)(XcmsCCC, XcmsColor *, unsigned int,
+ Bool *);
+
+ * Until this is reworked, it's probably best to leave it unprotoized.
+ * The code works regardless.
+ */
+typedef Status (*XcmsDDConversionProc)( /* using device-dependent version */
+ XcmsCCC /* ccc */,
+ XcmsColor* /* pcolors_in_out */,
+ unsigned int /* ncolors */,
+ Bool* /* pCompressed */
+ );
+
+typedef Status (*XcmsDIConversionProc)( /* using device-independent version */
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* pcolors_in_out */,
+ unsigned int /* ncolors */
+ );
+
+typedef XcmsDIConversionProc XcmsConversionProc;
+typedef XcmsConversionProc *XcmsFuncListPtr;
+
+typedef int (*XcmsParseStringProc)( /* Color String Parsing Proc */
+ char* /* color_string */,
+ XcmsColor* /* color_return */
+);
+
+ /*
+ * Color Space -- per Color Space related data (Device-Independent
+ * or Device-Dependent)
+ */
+typedef struct _XcmsColorSpace {
+ const char *prefix; /* Prefix of string format. */
+ XcmsColorFormat id; /* Format ID number. */
+ XcmsParseStringProc parseString;
+ /* String format parsing function */
+ XcmsFuncListPtr to_CIEXYZ; /* Pointer to an array of function */
+ /* pointers such that when the */
+ /* functions are executed in sequence */
+ /* will convert a XcmsColor structure */
+ /* from this color space to CIEXYZ */
+ /* space. */
+ XcmsFuncListPtr from_CIEXYZ;/* Pointer to an array of function */
+ /* pointers such that when the */
+ /* functions are executed in sequence */
+ /* will convert a XcmsColor structure */
+ /* from CIEXYZ space to this color */
+ /* space. */
+ int inverse_flag; /* If 1, indicates that for 0 <= i < n */
+ /* where n is the number of function */
+ /* pointers in the lists to_CIEXYZ */
+ /* and from_CIEXYZ; for each function */
+ /* to_CIEXYZ[i] its inverse function */
+ /* is from_CIEXYZ[n - i]. */
+
+} XcmsColorSpace;
+
+ /*
+ * Screen Color Characterization Function Set -- per device class
+ * color space conversion functions.
+ */
+typedef struct _XcmsFunctionSet {
+ XcmsColorSpace **DDColorSpaces;
+ /* Pointer to an array of pointers to */
+ /* Device-DEPENDENT color spaces */
+ /* understood by this SCCFuncSet. */
+ XcmsScreenInitProc screenInitProc;
+ /* Screen initialization function that */
+ /* reads Screen Color Characterization*/
+ /* Data off properties on the screen's*/
+ /* root window. */
+ XcmsScreenFreeProc screenFreeProc;
+ /* Function that frees the SCCData */
+ /* structures. */
+} XcmsFunctionSet;
+
+_XFUNCPROTOBEGIN
+
+extern Status XcmsAddColorSpace (
+ XcmsColorSpace* /* pColorSpace */
+);
+
+extern Status XcmsAddFunctionSet (
+ XcmsFunctionSet* /* functionSet */
+);
+
+extern Status XcmsAllocColor (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XcmsColor* /* color_in_out */,
+ XcmsColorFormat /* result_format */
+);
+
+extern Status XcmsAllocNamedColor (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ _Xconst char* /* color_string */,
+ XcmsColor* /* color_scrn_return */,
+ XcmsColor* /* color_exact_return */,
+ XcmsColorFormat /* result_format */
+);
+
+extern XcmsCCC XcmsCCCOfColormap (
+ Display* /* dpy */,
+ Colormap /* colormap */
+);
+
+extern Status XcmsCIELabClipab(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELabClipL(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELabClipLab(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELabQueryMaxC (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsFloat /* L_star */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELabQueryMaxL (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsFloat /* chroma */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELabQueryMaxLC (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELabQueryMinL (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsFloat /* chroma */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELabToCIEXYZ (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIELabWhiteShiftColors(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* initial_white_point*/,
+ XcmsColor* /* target_white_point*/,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELuvClipL(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELuvClipLuv(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELuvClipuv(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELuvQueryMaxC (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsFloat /* L_star */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELuvQueryMaxL (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsFloat /* chroma */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELuvQueryMaxLC (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELuvQueryMinL (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsFloat /* chroma */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELuvToCIEuvY (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIELuvWhiteShiftColors(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* initial_white_point*/,
+ XcmsColor* /* target_white_point*/,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIEXYZToCIELab (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIEXYZToCIEuvY (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIEXYZToCIExyY (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIEXYZToRGBi (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIEuvYToCIELuv (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIEuvYToCIEXYZ (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIEuvYToTekHVC (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIExyYToCIEXYZ (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern XcmsColor *XcmsClientWhitePointOfCCC (
+ XcmsCCC /* ccc */
+);
+
+extern Status XcmsConvertColors (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colorArry_in_out */,
+ unsigned int /* nColors */,
+ XcmsColorFormat /* targetFormat */,
+ Bool* /* compArry_return */
+);
+
+extern XcmsCCC XcmsCreateCCC (
+ Display* /* dpy */,
+ int /* screenNumber */,
+ Visual* /* visual */,
+ XcmsColor* /* clientWhitePt */,
+ XcmsCompressionProc /* gamutCompProc */,
+ XPointer /* gamutCompClientData */,
+ XcmsWhiteAdjustProc /* whitePtAdjProc */,
+ XPointer /* whitePtAdjClientData */
+);
+
+extern XcmsCCC XcmsDefaultCCC (
+ Display* /* dpy */,
+ int /* screenNumber */
+);
+
+extern Display *XcmsDisplayOfCCC (
+ XcmsCCC /* ccc */
+);
+
+extern XcmsColorFormat XcmsFormatOfPrefix (
+ char* /* prefix */
+);
+
+extern void XcmsFreeCCC (
+ XcmsCCC /* ccc */
+);
+
+extern Status XcmsLookupColor (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ _Xconst char* /* color_string */,
+ XcmsColor* /* pColor_exact_in_out */,
+ XcmsColor* /* pColor_scrn_in_out */,
+ XcmsColorFormat /* result_format */
+);
+
+extern char *XcmsPrefixOfFormat (
+ XcmsColorFormat /* id */
+);
+
+extern Status XcmsQueryBlack (
+ XcmsCCC /* ccc */,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsQueryBlue (
+ XcmsCCC /* ccc */,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsQueryColor (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XcmsColor* /* pColor_in_out */,
+ XcmsColorFormat /* result_format */
+);
+
+extern Status XcmsQueryColors (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XcmsColor* /* colorArry_in_out */,
+ unsigned int /* nColors */,
+ XcmsColorFormat /* result_format */
+);
+
+extern Status XcmsQueryGreen (
+ XcmsCCC /* ccc */,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsQueryRed (
+ XcmsCCC /* ccc */,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsQueryWhite (
+ XcmsCCC /* ccc */,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsRGBiToCIEXYZ (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsRGBiToRGB (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsRGBToRGBi (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern int XcmsScreenNumberOfCCC (
+ XcmsCCC /* ccc */
+);
+
+extern XcmsColor *XcmsScreenWhitePointOfCCC (
+ XcmsCCC /* ccc */
+);
+
+extern XcmsCCC XcmsSetCCCOfColormap(
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XcmsCCC /* ccc */
+);
+
+extern XcmsCompressionProc XcmsSetCompressionProc (
+ XcmsCCC /* ccc */,
+ XcmsCompressionProc /* compression_proc */,
+ XPointer /* client_data */
+);
+
+extern XcmsWhiteAdjustProc XcmsSetWhiteAdjustProc (
+ XcmsCCC /* ccc */,
+ XcmsWhiteAdjustProc /* white_adjust_proc */,
+ XPointer /* client_data */
+);
+
+extern Status XcmsSetWhitePoint (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* color */
+);
+
+extern Status XcmsStoreColor (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XcmsColor* /* pColor_in */
+);
+
+extern Status XcmsStoreColors (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XcmsColor* /* colorArry_in */,
+ unsigned int /* nColors */,
+ Bool* /* compArry_return */
+);
+
+extern Status XcmsTekHVCClipC(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsTekHVCClipV(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsTekHVCClipVC(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsTekHVCQueryMaxC (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue */,
+ XcmsFloat /* value */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsTekHVCQueryMaxV (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue */,
+ XcmsFloat /* chroma */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsTekHVCQueryMaxVC (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsTekHVCQueryMaxVSamples (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue */,
+ XcmsColor* /* colors_return */,
+ unsigned int /* nsamples */
+);
+
+extern Status XcmsTekHVCQueryMinV (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue */,
+ XcmsFloat /* chroma */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsTekHVCToCIEuvY (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsTekHVCWhiteShiftColors(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* initial_white_point*/,
+ XcmsColor* /* target_white_point*/,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern Visual *XcmsVisualOfCCC (
+ XcmsCCC /* ccc */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _X11_XCMS_H_ */
diff --git a/libX11/include/X11/Xlib-xcb.h b/libX11/include/X11/Xlib-xcb.h
index 03d8f9867..a0339de12 100644
--- a/libX11/include/X11/Xlib-xcb.h
+++ b/libX11/include/X11/Xlib-xcb.h
@@ -1,20 +1,20 @@
-/* Copyright (C) 2003-2006 Jamey Sharp, Josh Triplett
- * This file is licensed under the MIT license. See the file COPYING. */
-
-#ifndef XLIB_XCB_H
-#define XLIB_XCB_H
-
-#include <xcb/xcb.h>
-#include <X11/Xlib.h>
-#include <X11/Xfuncproto.h>
-
-_XFUNCPROTOBEGIN
-
-xcb_connection_t *XGetXCBConnection(Display *dpy);
-
-enum XEventQueueOwner { XlibOwnsEventQueue = 0, XCBOwnsEventQueue };
-void XSetEventQueueOwner(Display *dpy, enum XEventQueueOwner owner);
-
-_XFUNCPROTOEND
-
-#endif /* XLIB_XCB_H */
+/* Copyright (C) 2003-2006 Jamey Sharp, Josh Triplett
+ * This file is licensed under the MIT license. See the file COPYING. */
+
+#ifndef _X11_XLIB_XCB_H_
+#define _X11_XLIB_XCB_H_
+
+#include <xcb/xcb.h>
+#include <X11/Xlib.h>
+#include <X11/Xfuncproto.h>
+
+_XFUNCPROTOBEGIN
+
+xcb_connection_t *XGetXCBConnection(Display *dpy);
+
+enum XEventQueueOwner { XlibOwnsEventQueue = 0, XCBOwnsEventQueue };
+void XSetEventQueueOwner(Display *dpy, enum XEventQueueOwner owner);
+
+_XFUNCPROTOEND
+
+#endif /* _X11_XLIB_XCB_H_ */
diff --git a/libX11/include/X11/Xlib.h b/libX11/include/X11/Xlib.h
index 7c8bc5154..3d22721e1 100644
--- a/libX11/include/X11/Xlib.h
+++ b/libX11/include/X11/Xlib.h
@@ -1,4023 +1,4023 @@
-/*
-
-Copyright 1985, 1986, 1987, 1991, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-
-
-/*
- * Xlib.h - Header definition and support file for the C subroutine
- * interface library (Xlib) to the X Window System Protocol (V11).
- * Structures and symbols starting with "_" are private to the library.
- */
-#ifndef _XLIB_H_
-#define _XLIB_H_
-
-#define XlibSpecificationRelease 6
-
-#include <sys/types.h>
-
-#if defined(__SCO__) || defined(__UNIXWARE__)
-#include <stdint.h>
-#endif
-
-#include <X11/X.h>
-
-/* applications should not depend on these two headers being included! */
-#include <X11/Xfuncproto.h>
-#include <X11/Xosdefs.h>
-
-#ifndef X_WCHAR
-#include <stddef.h>
-#else
-#ifdef __UNIXOS2__
-#include <stdlib.h>
-#else
-/* replace this with #include or typedef appropriate for your system */
-typedef unsigned long wchar_t;
-#endif
-#endif
-
-#if defined(ISC) && defined(USE_XMBTOWC)
-#define wctomb(a,b) _Xwctomb(a,b)
-#define mblen(a,b) _Xmblen(a,b)
-#ifndef USE_XWCHAR_STRING
-#define mbtowc(a,b,c) _Xmbtowc(a,b,c)
-#endif
-#endif
-
-extern int
-_Xmblen(
-#ifdef ISC
- char const *str,
- size_t len
-#else
- char *str,
- int len
-#endif
- );
-
-/* API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in
- November 2000. Its presence is indicated through the following macro. */
-#define X_HAVE_UTF8_STRING 1
-
-typedef char *XPointer;
-
-#define Bool int
-#define Status int
-#define True 1
-#define False 0
-
-#define QueuedAlready 0
-#define QueuedAfterReading 1
-#define QueuedAfterFlush 2
-
-#define ConnectionNumber(dpy) (((_XPrivDisplay)dpy)->fd)
-#define RootWindow(dpy, scr) (ScreenOfDisplay(dpy,scr)->root)
-#define DefaultScreen(dpy) (((_XPrivDisplay)dpy)->default_screen)
-#define DefaultRootWindow(dpy) (ScreenOfDisplay(dpy,DefaultScreen(dpy))->root)
-#define DefaultVisual(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_visual)
-#define DefaultGC(dpy, scr) (ScreenOfDisplay(dpy,scr)->default_gc)
-#define BlackPixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->black_pixel)
-#define WhitePixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->white_pixel)
-#define AllPlanes ((unsigned long)~0L)
-#define QLength(dpy) (((_XPrivDisplay)dpy)->qlen)
-#define DisplayWidth(dpy, scr) (ScreenOfDisplay(dpy,scr)->width)
-#define DisplayHeight(dpy, scr) (ScreenOfDisplay(dpy,scr)->height)
-#define DisplayWidthMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mwidth)
-#define DisplayHeightMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mheight)
-#define DisplayPlanes(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth)
-#define DisplayCells(dpy, scr) (DefaultVisual(dpy,scr)->map_entries)
-#define ScreenCount(dpy) (((_XPrivDisplay)dpy)->nscreens)
-#define ServerVendor(dpy) (((_XPrivDisplay)dpy)->vendor)
-#define ProtocolVersion(dpy) (((_XPrivDisplay)dpy)->proto_major_version)
-#define ProtocolRevision(dpy) (((_XPrivDisplay)dpy)->proto_minor_version)
-#define VendorRelease(dpy) (((_XPrivDisplay)dpy)->release)
-#define DisplayString(dpy) (((_XPrivDisplay)dpy)->display_name)
-#define DefaultDepth(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth)
-#define DefaultColormap(dpy, scr)(ScreenOfDisplay(dpy,scr)->cmap)
-#define BitmapUnit(dpy) (((_XPrivDisplay)dpy)->bitmap_unit)
-#define BitmapBitOrder(dpy) (((_XPrivDisplay)dpy)->bitmap_bit_order)
-#define BitmapPad(dpy) (((_XPrivDisplay)dpy)->bitmap_pad)
-#define ImageByteOrder(dpy) (((_XPrivDisplay)dpy)->byte_order)
-#ifdef CRAY /* unable to get WORD64 without pulling in other symbols */
-#define NextRequest(dpy) XNextRequest(dpy)
-#else
-#define NextRequest(dpy) (((_XPrivDisplay)dpy)->request + 1)
-#endif
-#define LastKnownRequestProcessed(dpy) (((_XPrivDisplay)dpy)->last_request_read)
-
-/* macros for screen oriented applications (toolkit) */
-#define ScreenOfDisplay(dpy, scr)(&((_XPrivDisplay)dpy)->screens[scr])
-#define DefaultScreenOfDisplay(dpy) ScreenOfDisplay(dpy,DefaultScreen(dpy))
-#define DisplayOfScreen(s) ((s)->display)
-#define RootWindowOfScreen(s) ((s)->root)
-#define BlackPixelOfScreen(s) ((s)->black_pixel)
-#define WhitePixelOfScreen(s) ((s)->white_pixel)
-#define DefaultColormapOfScreen(s)((s)->cmap)
-#define DefaultDepthOfScreen(s) ((s)->root_depth)
-#define DefaultGCOfScreen(s) ((s)->default_gc)
-#define DefaultVisualOfScreen(s)((s)->root_visual)
-#define WidthOfScreen(s) ((s)->width)
-#define HeightOfScreen(s) ((s)->height)
-#define WidthMMOfScreen(s) ((s)->mwidth)
-#define HeightMMOfScreen(s) ((s)->mheight)
-#define PlanesOfScreen(s) ((s)->root_depth)
-#define CellsOfScreen(s) (DefaultVisualOfScreen((s))->map_entries)
-#define MinCmapsOfScreen(s) ((s)->min_maps)
-#define MaxCmapsOfScreen(s) ((s)->max_maps)
-#define DoesSaveUnders(s) ((s)->save_unders)
-#define DoesBackingStore(s) ((s)->backing_store)
-#define EventMaskOfScreen(s) ((s)->root_input_mask)
-
-/*
- * Extensions need a way to hang private data on some structures.
- */
-typedef struct _XExtData {
- int number; /* number returned by XRegisterExtension */
- struct _XExtData *next; /* next item on list of data for structure */
- int (*free_private)( /* called to free private storage */
- struct _XExtData *extension
- );
- XPointer private_data; /* data private to this extension. */
-} XExtData;
-
-/*
- * This file contains structures used by the extension mechanism.
- */
-typedef struct { /* public to extension, cannot be changed */
- int extension; /* extension number */
- int major_opcode; /* major op-code assigned by server */
- int first_event; /* first event number for the extension */
- int first_error; /* first error number for the extension */
-} XExtCodes;
-
-/*
- * Data structure for retrieving info about pixmap formats.
- */
-
-typedef struct {
- int depth;
- int bits_per_pixel;
- int scanline_pad;
-} XPixmapFormatValues;
-
-
-/*
- * Data structure for setting graphics context.
- */
-typedef struct {
- int function; /* logical operation */
- unsigned long plane_mask;/* plane mask */
- unsigned long foreground;/* foreground pixel */
- unsigned long background;/* background pixel */
- int line_width; /* line width */
- int line_style; /* LineSolid, LineOnOffDash, LineDoubleDash */
- int cap_style; /* CapNotLast, CapButt,
- CapRound, CapProjecting */
- int join_style; /* JoinMiter, JoinRound, JoinBevel */
- int fill_style; /* FillSolid, FillTiled,
- FillStippled, FillOpaeueStippled */
- int fill_rule; /* EvenOddRule, WindingRule */
- int arc_mode; /* ArcChord, ArcPieSlice */
- Pixmap tile; /* tile pixmap for tiling operations */
- Pixmap stipple; /* stipple 1 plane pixmap for stipping */
- int ts_x_origin; /* offset for tile or stipple operations */
- int ts_y_origin;
- Font font; /* default text font for text operations */
- int subwindow_mode; /* ClipByChildren, IncludeInferiors */
- Bool graphics_exposures;/* boolean, should exposures be generated */
- int clip_x_origin; /* origin for clipping */
- int clip_y_origin;
- Pixmap clip_mask; /* bitmap clipping; other calls for rects */
- int dash_offset; /* patterned/dashed line information */
- char dashes;
-} XGCValues;
-
-/*
- * Graphics context. The contents of this structure are implementation
- * dependent. A GC should be treated as opaque by application code.
- */
-
-typedef struct _XGC
-#ifdef XLIB_ILLEGAL_ACCESS
-{
- XExtData *ext_data; /* hook for extension to hang data */
- GContext gid; /* protocol ID for graphics context */
- /* there is more to this structure, but it is private to Xlib */
-}
-#endif
-*GC;
-
-/*
- * Visual structure; contains information about colormapping possible.
- */
-typedef struct {
- XExtData *ext_data; /* hook for extension to hang data */
- VisualID visualid; /* visual id of this visual */
-#if defined(__cplusplus) || defined(c_plusplus)
- int c_class; /* C++ class of screen (monochrome, etc.) */
-#else
- int class; /* class of screen (monochrome, etc.) */
-#endif
- unsigned long red_mask, green_mask, blue_mask; /* mask values */
- int bits_per_rgb; /* log base 2 of distinct color values */
- int map_entries; /* color map entries */
-} Visual;
-
-/*
- * Depth structure; contains information for each possible depth.
- */
-typedef struct {
- int depth; /* this depth (Z) of the depth */
- int nvisuals; /* number of Visual types at this depth */
- Visual *visuals; /* list of visuals possible at this depth */
-} Depth;
-
-/*
- * Information about the screen. The contents of this structure are
- * implementation dependent. A Screen should be treated as opaque
- * by application code.
- */
-
-struct _XDisplay; /* Forward declare before use for C++ */
-
-typedef struct {
- XExtData *ext_data; /* hook for extension to hang data */
- struct _XDisplay *display;/* back pointer to display structure */
- Window root; /* Root window id. */
- int width, height; /* width and height of screen */
- int mwidth, mheight; /* width and height of in millimeters */
- int ndepths; /* number of depths possible */
- Depth *depths; /* list of allowable depths on the screen */
- int root_depth; /* bits per pixel */
- Visual *root_visual; /* root visual */
- GC default_gc; /* GC for the root root visual */
- Colormap cmap; /* default color map */
- unsigned long white_pixel;
- unsigned long black_pixel; /* White and Black pixel values */
- int max_maps, min_maps; /* max and min color maps */
- int backing_store; /* Never, WhenMapped, Always */
- Bool save_unders;
- long root_input_mask; /* initial root input mask */
-} Screen;
-
-/*
- * Format structure; describes ZFormat data the screen will understand.
- */
-typedef struct {
- XExtData *ext_data; /* hook for extension to hang data */
- int depth; /* depth of this image format */
- int bits_per_pixel; /* bits/pixel at this depth */
- int scanline_pad; /* scanline must padded to this multiple */
-} ScreenFormat;
-
-/*
- * Data structure for setting window attributes.
- */
-typedef struct {
- Pixmap background_pixmap; /* background or None or ParentRelative */
- unsigned long background_pixel; /* background pixel */
- Pixmap border_pixmap; /* border of the window */
- unsigned long border_pixel; /* border pixel value */
- int bit_gravity; /* one of bit gravity values */
- int win_gravity; /* one of the window gravity values */
- int backing_store; /* NotUseful, WhenMapped, Always */
- unsigned long backing_planes;/* planes to be preseved if possible */
- unsigned long backing_pixel;/* value to use in restoring planes */
- Bool save_under; /* should bits under be saved? (popups) */
- long event_mask; /* set of events that should be saved */
- long do_not_propagate_mask; /* set of events that should not propagate */
- Bool override_redirect; /* boolean value for override-redirect */
- Colormap colormap; /* color map to be associated with window */
- Cursor cursor; /* cursor to be displayed (or None) */
-} XSetWindowAttributes;
-
-typedef struct {
- int x, y; /* location of window */
- int width, height; /* width and height of window */
- int border_width; /* border width of window */
- int depth; /* depth of window */
- Visual *visual; /* the associated visual structure */
- Window root; /* root of screen containing window */
-#if defined(__cplusplus) || defined(c_plusplus)
- int c_class; /* C++ InputOutput, InputOnly*/
-#else
- int class; /* InputOutput, InputOnly*/
-#endif
- int bit_gravity; /* one of bit gravity values */
- int win_gravity; /* one of the window gravity values */
- int backing_store; /* NotUseful, WhenMapped, Always */
- unsigned long backing_planes;/* planes to be preserved if possible */
- unsigned long backing_pixel;/* value to be used when restoring planes */
- Bool save_under; /* boolean, should bits under be saved? */
- Colormap colormap; /* color map to be associated with window */
- Bool map_installed; /* boolean, is color map currently installed*/
- int map_state; /* IsUnmapped, IsUnviewable, IsViewable */
- long all_event_masks; /* set of events all people have interest in*/
- long your_event_mask; /* my event mask */
- long do_not_propagate_mask; /* set of events that should not propagate */
- Bool override_redirect; /* boolean value for override-redirect */
- Screen *screen; /* back pointer to correct screen */
-} XWindowAttributes;
-
-/*
- * Data structure for host setting; getting routines.
- *
- */
-
-typedef struct {
- int family; /* for example FamilyInternet */
- int length; /* length of address, in bytes */
- char *address; /* pointer to where to find the bytes */
-} XHostAddress;
-
-/*
- * Data structure for ServerFamilyInterpreted addresses in host routines
- */
-typedef struct {
- int typelength; /* length of type string, in bytes */
- int valuelength; /* length of value string, in bytes */
- char *type; /* pointer to where to find the type string */
- char *value; /* pointer to where to find the address */
-} XServerInterpretedAddress;
-
-/*
- * Data structure for "image" data, used by image manipulation routines.
- */
-typedef struct _XImage {
- int width, height; /* size of image */
- int xoffset; /* number of pixels offset in X direction */
- int format; /* XYBitmap, XYPixmap, ZPixmap */
- char *data; /* pointer to image data */
- int byte_order; /* data byte order, LSBFirst, MSBFirst */
- int bitmap_unit; /* quant. of scanline 8, 16, 32 */
- int bitmap_bit_order; /* LSBFirst, MSBFirst */
- int bitmap_pad; /* 8, 16, 32 either XY or ZPixmap */
- int depth; /* depth of image */
- int bytes_per_line; /* accelarator to next line */
- int bits_per_pixel; /* bits per pixel (ZPixmap) */
- unsigned long red_mask; /* bits in z arrangment */
- unsigned long green_mask;
- unsigned long blue_mask;
- XPointer obdata; /* hook for the object routines to hang on */
- struct funcs { /* image manipulation routines */
- struct _XImage *(*create_image)(
- struct _XDisplay* /* display */,
- Visual* /* visual */,
- unsigned int /* depth */,
- int /* format */,
- int /* offset */,
- char* /* data */,
- unsigned int /* width */,
- unsigned int /* height */,
- int /* bitmap_pad */,
- int /* bytes_per_line */);
- int (*destroy_image) (struct _XImage *);
- unsigned long (*get_pixel) (struct _XImage *, int, int);
- int (*put_pixel) (struct _XImage *, int, int, unsigned long);
- struct _XImage *(*sub_image)(struct _XImage *, int, int, unsigned int, unsigned int);
- int (*add_pixel) (struct _XImage *, long);
- } f;
-} XImage;
-
-/*
- * Data structure for XReconfigureWindow
- */
-typedef struct {
- int x, y;
- int width, height;
- int border_width;
- Window sibling;
- int stack_mode;
-} XWindowChanges;
-
-/*
- * Data structure used by color operations
- */
-typedef struct {
- unsigned long pixel;
- unsigned short red, green, blue;
- char flags; /* do_red, do_green, do_blue */
- char pad;
-} XColor;
-
-/*
- * Data structures for graphics operations. On most machines, these are
- * congruent with the wire protocol structures, so reformatting the data
- * can be avoided on these architectures.
- */
-typedef struct {
- short x1, y1, x2, y2;
-} XSegment;
-
-typedef struct {
- short x, y;
-} XPoint;
-
-typedef struct {
- short x, y;
- unsigned short width, height;
-} XRectangle;
-
-typedef struct {
- short x, y;
- unsigned short width, height;
- short angle1, angle2;
-} XArc;
-
-
-/* Data structure for XChangeKeyboardControl */
-
-typedef struct {
- int key_click_percent;
- int bell_percent;
- int bell_pitch;
- int bell_duration;
- int led;
- int led_mode;
- int key;
- int auto_repeat_mode; /* On, Off, Default */
-} XKeyboardControl;
-
-/* Data structure for XGetKeyboardControl */
-
-typedef struct {
- int key_click_percent;
- int bell_percent;
- unsigned int bell_pitch, bell_duration;
- unsigned long led_mask;
- int global_auto_repeat;
- char auto_repeats[32];
-} XKeyboardState;
-
-/* Data structure for XGetMotionEvents. */
-
-typedef struct {
- Time time;
- short x, y;
-} XTimeCoord;
-
-/* Data structure for X{Set,Get}ModifierMapping */
-
-typedef struct {
- int max_keypermod; /* The server's max # of keys per modifier */
- KeyCode *modifiermap; /* An 8 by max_keypermod array of modifiers */
-} XModifierKeymap;
-
-
-/*
- * Display datatype maintaining display specific data.
- * The contents of this structure are implementation dependent.
- * A Display should be treated as opaque by application code.
- */
-#ifndef XLIB_ILLEGAL_ACCESS
-typedef struct _XDisplay Display;
-#endif
-
-struct _XPrivate; /* Forward declare before use for C++ */
-struct _XrmHashBucketRec;
-
-typedef struct
-#ifdef XLIB_ILLEGAL_ACCESS
-_XDisplay
-#endif
-{
- XExtData *ext_data; /* hook for extension to hang data */
- struct _XPrivate *private1;
- int fd; /* Network socket. */
- int private2;
- int proto_major_version;/* major version of server's X protocol */
- int proto_minor_version;/* minor version of servers X protocol */
- char *vendor; /* vendor of the server hardware */
- XID private3;
- XID private4;
- XID private5;
- int private6;
- XID (*resource_alloc)( /* allocator function */
- struct _XDisplay*
- );
- int byte_order; /* screen byte order, LSBFirst, MSBFirst */
- int bitmap_unit; /* padding and data requirements */
- int bitmap_pad; /* padding requirements on bitmaps */
- int bitmap_bit_order; /* LeastSignificant or MostSignificant */
- int nformats; /* number of pixmap formats in list */
- ScreenFormat *pixmap_format; /* pixmap format list */
- int private8;
- int release; /* release of the server */
- struct _XPrivate *private9, *private10;
- int qlen; /* Length of input event queue */
- unsigned long last_request_read; /* seq number of last event read */
- unsigned long request; /* sequence number of last request. */
- XPointer private11;
- XPointer private12;
- XPointer private13;
- XPointer private14;
- unsigned max_request_size; /* maximum number 32 bit words in request*/
- struct _XrmHashBucketRec *db;
- int (*private15)(
- struct _XDisplay*
- );
- char *display_name; /* "host:display" string used on this connect*/
- int default_screen; /* default screen for operations */
- int nscreens; /* number of screens on this server*/
- Screen *screens; /* pointer to list of screens */
- unsigned long motion_buffer; /* size of motion buffer */
- unsigned long private16;
- int min_keycode; /* minimum defined keycode */
- int max_keycode; /* maximum defined keycode */
- XPointer private17;
- XPointer private18;
- int private19;
- char *xdefaults; /* contents of defaults from server */
- /* there is more to this structure, but it is private to Xlib */
-}
-#ifdef XLIB_ILLEGAL_ACCESS
-Display,
-#endif
-*_XPrivDisplay;
-
-#undef _XEVENT_
-#ifndef _XEVENT_
-/*
- * Definitions of specific events.
- */
-typedef struct {
- int type; /* of event */
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window; /* "event" window it is reported relative to */
- Window root; /* root window that the event occurred on */
- Window subwindow; /* child window */
- Time time; /* milliseconds */
- int x, y; /* pointer x, y coordinates in event window */
- int x_root, y_root; /* coordinates relative to root */
- unsigned int state; /* key or button mask */
- unsigned int keycode; /* detail */
- Bool same_screen; /* same screen flag */
-} XKeyEvent;
-typedef XKeyEvent XKeyPressedEvent;
-typedef XKeyEvent XKeyReleasedEvent;
-
-typedef struct {
- int type; /* of event */
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window; /* "event" window it is reported relative to */
- Window root; /* root window that the event occurred on */
- Window subwindow; /* child window */
- Time time; /* milliseconds */
- int x, y; /* pointer x, y coordinates in event window */
- int x_root, y_root; /* coordinates relative to root */
- unsigned int state; /* key or button mask */
- unsigned int button; /* detail */
- Bool same_screen; /* same screen flag */
-} XButtonEvent;
-typedef XButtonEvent XButtonPressedEvent;
-typedef XButtonEvent XButtonReleasedEvent;
-
-typedef struct {
- int type; /* of event */
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window; /* "event" window reported relative to */
- Window root; /* root window that the event occurred on */
- Window subwindow; /* child window */
- Time time; /* milliseconds */
- int x, y; /* pointer x, y coordinates in event window */
- int x_root, y_root; /* coordinates relative to root */
- unsigned int state; /* key or button mask */
- char is_hint; /* detail */
- Bool same_screen; /* same screen flag */
-} XMotionEvent;
-typedef XMotionEvent XPointerMovedEvent;
-
-typedef struct {
- int type; /* of event */
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window; /* "event" window reported relative to */
- Window root; /* root window that the event occurred on */
- Window subwindow; /* child window */
- Time time; /* milliseconds */
- int x, y; /* pointer x, y coordinates in event window */
- int x_root, y_root; /* coordinates relative to root */
- int mode; /* NotifyNormal, NotifyGrab, NotifyUngrab */
- int detail;
- /*
- * NotifyAncestor, NotifyVirtual, NotifyInferior,
- * NotifyNonlinear,NotifyNonlinearVirtual
- */
- Bool same_screen; /* same screen flag */
- Bool focus; /* boolean focus */
- unsigned int state; /* key or button mask */
-} XCrossingEvent;
-typedef XCrossingEvent XEnterWindowEvent;
-typedef XCrossingEvent XLeaveWindowEvent;
-
-typedef struct {
- int type; /* FocusIn or FocusOut */
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window; /* window of event */
- int mode; /* NotifyNormal, NotifyWhileGrabbed,
- NotifyGrab, NotifyUngrab */
- int detail;
- /*
- * NotifyAncestor, NotifyVirtual, NotifyInferior,
- * NotifyNonlinear,NotifyNonlinearVirtual, NotifyPointer,
- * NotifyPointerRoot, NotifyDetailNone
- */
-} XFocusChangeEvent;
-typedef XFocusChangeEvent XFocusInEvent;
-typedef XFocusChangeEvent XFocusOutEvent;
-
-/* generated on EnterWindow and FocusIn when KeyMapState selected */
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window;
- char key_vector[32];
-} XKeymapEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window;
- int x, y;
- int width, height;
- int count; /* if non-zero, at least this many more */
-} XExposeEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Drawable drawable;
- int x, y;
- int width, height;
- int count; /* if non-zero, at least this many more */
- int major_code; /* core is CopyArea or CopyPlane */
- int minor_code; /* not defined in the core */
-} XGraphicsExposeEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Drawable drawable;
- int major_code; /* core is CopyArea or CopyPlane */
- int minor_code; /* not defined in the core */
-} XNoExposeEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window;
- int state; /* Visibility state */
-} XVisibilityEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window parent; /* parent of the window */
- Window window; /* window id of window created */
- int x, y; /* window location */
- int width, height; /* size of window */
- int border_width; /* border width */
- Bool override_redirect; /* creation should be overridden */
-} XCreateWindowEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window event;
- Window window;
-} XDestroyWindowEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window event;
- Window window;
- Bool from_configure;
-} XUnmapEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window event;
- Window window;
- Bool override_redirect; /* boolean, is override set... */
-} XMapEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window parent;
- Window window;
-} XMapRequestEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window event;
- Window window;
- Window parent;
- int x, y;
- Bool override_redirect;
-} XReparentEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window event;
- Window window;
- int x, y;
- int width, height;
- int border_width;
- Window above;
- Bool override_redirect;
-} XConfigureEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window event;
- Window window;
- int x, y;
-} XGravityEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window;
- int width, height;
-} XResizeRequestEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window parent;
- Window window;
- int x, y;
- int width, height;
- int border_width;
- Window above;
- int detail; /* Above, Below, TopIf, BottomIf, Opposite */
- unsigned long value_mask;
-} XConfigureRequestEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window event;
- Window window;
- int place; /* PlaceOnTop, PlaceOnBottom */
-} XCirculateEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window parent;
- Window window;
- int place; /* PlaceOnTop, PlaceOnBottom */
-} XCirculateRequestEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window;
- Atom atom;
- Time time;
- int state; /* NewValue, Deleted */
-} XPropertyEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window;
- Atom selection;
- Time time;
-} XSelectionClearEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window owner;
- Window requestor;
- Atom selection;
- Atom target;
- Atom property;
- Time time;
-} XSelectionRequestEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window requestor;
- Atom selection;
- Atom target;
- Atom property; /* ATOM or None */
- Time time;
-} XSelectionEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window;
- Colormap colormap; /* COLORMAP or None */
-#if defined(__cplusplus) || defined(c_plusplus)
- Bool c_new; /* C++ */
-#else
- Bool new;
-#endif
- int state; /* ColormapInstalled, ColormapUninstalled */
-} XColormapEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window;
- Atom message_type;
- int format;
- union {
- char b[20];
- short s[10];
- long l[5];
- } data;
-} XClientMessageEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Window window; /* unused */
- int request; /* one of MappingModifier, MappingKeyboard,
- MappingPointer */
- int first_keycode; /* first keycode */
- int count; /* defines range of change w. first_keycode*/
-} XMappingEvent;
-
-typedef struct {
- int type;
- Display *display; /* Display the event was read from */
- XID resourceid; /* resource id */
- unsigned long serial; /* serial number of failed request */
- unsigned char error_code; /* error code of failed request */
- unsigned char request_code; /* Major op-code of failed request */
- unsigned char minor_code; /* Minor op-code of failed request */
-} XErrorEvent;
-
-typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display;/* Display the event was read from */
- Window window; /* window on which event was requested in event mask */
-} XAnyEvent;
-
-
-/***************************************************************
- *
- * GenericEvent. This event is the standard event for all newer extensions.
- */
-
-typedef struct
- {
- int type; /* of event. Always GenericEvent */
- unsigned long serial; /* # of last request processed */
- Bool send_event; /* true if from SendEvent request */
- Display *display; /* Display the event was read from */
- int extension; /* major opcode of extension that caused the event */
- int evtype; /* actual event type. */
- } XGenericEvent;
-
-typedef struct {
- int type; /* of event. Always GenericEvent */
- unsigned long serial; /* # of last request processed */
- Bool send_event; /* true if from SendEvent request */
- Display *display; /* Display the event was read from */
- int extension; /* major opcode of extension that caused the event */
- int evtype; /* actual event type. */
- unsigned int cookie;
- void *data;
-} XGenericEventCookie;
-
-/*
- * this union is defined so Xlib can always use the same sized
- * event structure internally, to avoid memory fragmentation.
- */
-typedef union _XEvent {
- int type; /* must not be changed; first element */
- XAnyEvent xany;
- XKeyEvent xkey;
- XButtonEvent xbutton;
- XMotionEvent xmotion;
- XCrossingEvent xcrossing;
- XFocusChangeEvent xfocus;
- XExposeEvent xexpose;
- XGraphicsExposeEvent xgraphicsexpose;
- XNoExposeEvent xnoexpose;
- XVisibilityEvent xvisibility;
- XCreateWindowEvent xcreatewindow;
- XDestroyWindowEvent xdestroywindow;
- XUnmapEvent xunmap;
- XMapEvent xmap;
- XMapRequestEvent xmaprequest;
- XReparentEvent xreparent;
- XConfigureEvent xconfigure;
- XGravityEvent xgravity;
- XResizeRequestEvent xresizerequest;
- XConfigureRequestEvent xconfigurerequest;
- XCirculateEvent xcirculate;
- XCirculateRequestEvent xcirculaterequest;
- XPropertyEvent xproperty;
- XSelectionClearEvent xselectionclear;
- XSelectionRequestEvent xselectionrequest;
- XSelectionEvent xselection;
- XColormapEvent xcolormap;
- XClientMessageEvent xclient;
- XMappingEvent xmapping;
- XErrorEvent xerror;
- XKeymapEvent xkeymap;
- XGenericEvent xgeneric;
- XGenericEventCookie xcookie;
- long pad[24];
-} XEvent;
-#endif
-
-#define XAllocID(dpy) ((*((_XPrivDisplay)dpy)->resource_alloc)((dpy)))
-
-/*
- * per character font metric information.
- */
-typedef struct {
- short lbearing; /* origin to left edge of raster */
- short rbearing; /* origin to right edge of raster */
- short width; /* advance to next char's origin */
- short ascent; /* baseline to top edge of raster */
- short descent; /* baseline to bottom edge of raster */
- unsigned short attributes; /* per char flags (not predefined) */
-} XCharStruct;
-
-/*
- * To allow arbitrary information with fonts, there are additional properties
- * returned.
- */
-typedef struct {
- Atom name;
- unsigned long card32;
-} XFontProp;
-
-typedef struct {
- XExtData *ext_data; /* hook for extension to hang data */
- Font fid; /* Font id for this font */
- unsigned direction; /* hint about direction the font is painted */
- unsigned min_char_or_byte2;/* first character */
- unsigned max_char_or_byte2;/* last character */
- unsigned min_byte1; /* first row that exists */
- unsigned max_byte1; /* last row that exists */
- Bool all_chars_exist;/* flag if all characters have non-zero size*/
- unsigned default_char; /* char to print for undefined character */
- int n_properties; /* how many properties there are */
- XFontProp *properties; /* pointer to array of additional properties*/
- XCharStruct min_bounds; /* minimum bounds over all existing char*/
- XCharStruct max_bounds; /* maximum bounds over all existing char*/
- XCharStruct *per_char; /* first_char to last_char information */
- int ascent; /* log. extent above baseline for spacing */
- int descent; /* log. descent below baseline for spacing */
-} XFontStruct;
-
-/*
- * PolyText routines take these as arguments.
- */
-typedef struct {
- char *chars; /* pointer to string */
- int nchars; /* number of characters */
- int delta; /* delta between strings */
- Font font; /* font to print it in, None don't change */
-} XTextItem;
-
-typedef struct { /* normal 16 bit characters are two bytes */
- unsigned char byte1;
- unsigned char byte2;
-} XChar2b;
-
-typedef struct {
- XChar2b *chars; /* two byte characters */
- int nchars; /* number of characters */
- int delta; /* delta between strings */
- Font font; /* font to print it in, None don't change */
-} XTextItem16;
-
-
-typedef union { Display *display;
- GC gc;
- Visual *visual;
- Screen *screen;
- ScreenFormat *pixmap_format;
- XFontStruct *font; } XEDataObject;
-
-typedef struct {
- XRectangle max_ink_extent;
- XRectangle max_logical_extent;
-} XFontSetExtents;
-
-/* unused:
-typedef void (*XOMProc)();
- */
-
-typedef struct _XOM *XOM;
-typedef struct _XOC *XOC, *XFontSet;
-
-typedef struct {
- char *chars;
- int nchars;
- int delta;
- XFontSet font_set;
-} XmbTextItem;
-
-typedef struct {
- wchar_t *chars;
- int nchars;
- int delta;
- XFontSet font_set;
-} XwcTextItem;
-
-#define XNRequiredCharSet "requiredCharSet"
-#define XNQueryOrientation "queryOrientation"
-#define XNBaseFontName "baseFontName"
-#define XNOMAutomatic "omAutomatic"
-#define XNMissingCharSet "missingCharSet"
-#define XNDefaultString "defaultString"
-#define XNOrientation "orientation"
-#define XNDirectionalDependentDrawing "directionalDependentDrawing"
-#define XNContextualDrawing "contextualDrawing"
-#define XNFontInfo "fontInfo"
-
-typedef struct {
- int charset_count;
- char **charset_list;
-} XOMCharSetList;
-
-typedef enum {
- XOMOrientation_LTR_TTB,
- XOMOrientation_RTL_TTB,
- XOMOrientation_TTB_LTR,
- XOMOrientation_TTB_RTL,
- XOMOrientation_Context
-} XOrientation;
-
-typedef struct {
- int num_orientation;
- XOrientation *orientation; /* Input Text description */
-} XOMOrientation;
-
-typedef struct {
- int num_font;
- XFontStruct **font_struct_list;
- char **font_name_list;
-} XOMFontInfo;
-
-typedef struct _XIM *XIM;
-typedef struct _XIC *XIC;
-
-typedef void (*XIMProc)(
- XIM,
- XPointer,
- XPointer
-);
-
-typedef Bool (*XICProc)(
- XIC,
- XPointer,
- XPointer
-);
-
-typedef void (*XIDProc)(
- Display*,
- XPointer,
- XPointer
-);
-
-typedef unsigned long XIMStyle;
-
-typedef struct {
- unsigned short count_styles;
- XIMStyle *supported_styles;
-} XIMStyles;
-
-#define XIMPreeditArea 0x0001L
-#define XIMPreeditCallbacks 0x0002L
-#define XIMPreeditPosition 0x0004L
-#define XIMPreeditNothing 0x0008L
-#define XIMPreeditNone 0x0010L
-#define XIMStatusArea 0x0100L
-#define XIMStatusCallbacks 0x0200L
-#define XIMStatusNothing 0x0400L
-#define XIMStatusNone 0x0800L
-
-#define XNVaNestedList "XNVaNestedList"
-#define XNQueryInputStyle "queryInputStyle"
-#define XNClientWindow "clientWindow"
-#define XNInputStyle "inputStyle"
-#define XNFocusWindow "focusWindow"
-#define XNResourceName "resourceName"
-#define XNResourceClass "resourceClass"
-#define XNGeometryCallback "geometryCallback"
-#define XNDestroyCallback "destroyCallback"
-#define XNFilterEvents "filterEvents"
-#define XNPreeditStartCallback "preeditStartCallback"
-#define XNPreeditDoneCallback "preeditDoneCallback"
-#define XNPreeditDrawCallback "preeditDrawCallback"
-#define XNPreeditCaretCallback "preeditCaretCallback"
-#define XNPreeditStateNotifyCallback "preeditStateNotifyCallback"
-#define XNPreeditAttributes "preeditAttributes"
-#define XNStatusStartCallback "statusStartCallback"
-#define XNStatusDoneCallback "statusDoneCallback"
-#define XNStatusDrawCallback "statusDrawCallback"
-#define XNStatusAttributes "statusAttributes"
-#define XNArea "area"
-#define XNAreaNeeded "areaNeeded"
-#define XNSpotLocation "spotLocation"
-#define XNColormap "colorMap"
-#define XNStdColormap "stdColorMap"
-#define XNForeground "foreground"
-#define XNBackground "background"
-#define XNBackgroundPixmap "backgroundPixmap"
-#define XNFontSet "fontSet"
-#define XNLineSpace "lineSpace"
-#define XNCursor "cursor"
-
-#define XNQueryIMValuesList "queryIMValuesList"
-#define XNQueryICValuesList "queryICValuesList"
-#define XNVisiblePosition "visiblePosition"
-#define XNR6PreeditCallback "r6PreeditCallback"
-#define XNStringConversionCallback "stringConversionCallback"
-#define XNStringConversion "stringConversion"
-#define XNResetState "resetState"
-#define XNHotKey "hotKey"
-#define XNHotKeyState "hotKeyState"
-#define XNPreeditState "preeditState"
-#define XNSeparatorofNestedList "separatorofNestedList"
-
-#define XBufferOverflow -1
-#define XLookupNone 1
-#define XLookupChars 2
-#define XLookupKeySym 3
-#define XLookupBoth 4
-
-typedef void *XVaNestedList;
-
-typedef struct {
- XPointer client_data;
- XIMProc callback;
-} XIMCallback;
-
-typedef struct {
- XPointer client_data;
- XICProc callback;
-} XICCallback;
-
-typedef unsigned long XIMFeedback;
-
-#define XIMReverse 1L
-#define XIMUnderline (1L<<1)
-#define XIMHighlight (1L<<2)
-#define XIMPrimary (1L<<5)
-#define XIMSecondary (1L<<6)
-#define XIMTertiary (1L<<7)
-#define XIMVisibleToForward (1L<<8)
-#define XIMVisibleToBackword (1L<<9)
-#define XIMVisibleToCenter (1L<<10)
-
-typedef struct _XIMText {
- unsigned short length;
- XIMFeedback *feedback;
- Bool encoding_is_wchar;
- union {
- char *multi_byte;
- wchar_t *wide_char;
- } string;
-} XIMText;
-
-typedef unsigned long XIMPreeditState;
-
-#define XIMPreeditUnKnown 0L
-#define XIMPreeditEnable 1L
-#define XIMPreeditDisable (1L<<1)
-
-typedef struct _XIMPreeditStateNotifyCallbackStruct {
- XIMPreeditState state;
-} XIMPreeditStateNotifyCallbackStruct;
-
-typedef unsigned long XIMResetState;
-
-#define XIMInitialState 1L
-#define XIMPreserveState (1L<<1)
-
-typedef unsigned long XIMStringConversionFeedback;
-
-#define XIMStringConversionLeftEdge (0x00000001)
-#define XIMStringConversionRightEdge (0x00000002)
-#define XIMStringConversionTopEdge (0x00000004)
-#define XIMStringConversionBottomEdge (0x00000008)
-#define XIMStringConversionConcealed (0x00000010)
-#define XIMStringConversionWrapped (0x00000020)
-
-typedef struct _XIMStringConversionText {
- unsigned short length;
- XIMStringConversionFeedback *feedback;
- Bool encoding_is_wchar;
- union {
- char *mbs;
- wchar_t *wcs;
- } string;
-} XIMStringConversionText;
-
-typedef unsigned short XIMStringConversionPosition;
-
-typedef unsigned short XIMStringConversionType;
-
-#define XIMStringConversionBuffer (0x0001)
-#define XIMStringConversionLine (0x0002)
-#define XIMStringConversionWord (0x0003)
-#define XIMStringConversionChar (0x0004)
-
-typedef unsigned short XIMStringConversionOperation;
-
-#define XIMStringConversionSubstitution (0x0001)
-#define XIMStringConversionRetrieval (0x0002)
-
-typedef enum {
- XIMForwardChar, XIMBackwardChar,
- XIMForwardWord, XIMBackwardWord,
- XIMCaretUp, XIMCaretDown,
- XIMNextLine, XIMPreviousLine,
- XIMLineStart, XIMLineEnd,
- XIMAbsolutePosition,
- XIMDontChange
-} XIMCaretDirection;
-
-typedef struct _XIMStringConversionCallbackStruct {
- XIMStringConversionPosition position;
- XIMCaretDirection direction;
- XIMStringConversionOperation operation;
- unsigned short factor;
- XIMStringConversionText *text;
-} XIMStringConversionCallbackStruct;
-
-typedef struct _XIMPreeditDrawCallbackStruct {
- int caret; /* Cursor offset within pre-edit string */
- int chg_first; /* Starting change position */
- int chg_length; /* Length of the change in character count */
- XIMText *text;
-} XIMPreeditDrawCallbackStruct;
-
-typedef enum {
- XIMIsInvisible, /* Disable caret feedback */
- XIMIsPrimary, /* UI defined caret feedback */
- XIMIsSecondary /* UI defined caret feedback */
-} XIMCaretStyle;
-
-typedef struct _XIMPreeditCaretCallbackStruct {
- int position; /* Caret offset within pre-edit string */
- XIMCaretDirection direction; /* Caret moves direction */
- XIMCaretStyle style; /* Feedback of the caret */
-} XIMPreeditCaretCallbackStruct;
-
-typedef enum {
- XIMTextType,
- XIMBitmapType
-} XIMStatusDataType;
-
-typedef struct _XIMStatusDrawCallbackStruct {
- XIMStatusDataType type;
- union {
- XIMText *text;
- Pixmap bitmap;
- } data;
-} XIMStatusDrawCallbackStruct;
-
-typedef struct _XIMHotKeyTrigger {
- KeySym keysym;
- int modifier;
- int modifier_mask;
-} XIMHotKeyTrigger;
-
-typedef struct _XIMHotKeyTriggers {
- int num_hot_key;
- XIMHotKeyTrigger *key;
-} XIMHotKeyTriggers;
-
-typedef unsigned long XIMHotKeyState;
-
-#define XIMHotKeyStateON (0x0001L)
-#define XIMHotKeyStateOFF (0x0002L)
-
-typedef struct {
- unsigned short count_values;
- char **supported_values;
-} XIMValuesList;
-
-_XFUNCPROTOBEGIN
-
-#if defined(WIN32) && !defined(_XLIBINT_)
-#define _Xdebug (*_Xdebug_p)
-#endif
-
-extern int _Xdebug;
-
-extern XFontStruct *XLoadQueryFont(
- Display* /* display */,
- _Xconst char* /* name */
-);
-
-extern XFontStruct *XQueryFont(
- Display* /* display */,
- XID /* font_ID */
-);
-
-
-extern XTimeCoord *XGetMotionEvents(
- Display* /* display */,
- Window /* w */,
- Time /* start */,
- Time /* stop */,
- int* /* nevents_return */
-);
-
-extern XModifierKeymap *XDeleteModifiermapEntry(
- XModifierKeymap* /* modmap */,
-#if NeedWidePrototypes
- unsigned int /* keycode_entry */,
-#else
- KeyCode /* keycode_entry */,
-#endif
- int /* modifier */
-);
-
-extern XModifierKeymap *XGetModifierMapping(
- Display* /* display */
-);
-
-extern XModifierKeymap *XInsertModifiermapEntry(
- XModifierKeymap* /* modmap */,
-#if NeedWidePrototypes
- unsigned int /* keycode_entry */,
-#else
- KeyCode /* keycode_entry */,
-#endif
- int /* modifier */
-);
-
-extern XModifierKeymap *XNewModifiermap(
- int /* max_keys_per_mod */
-);
-
-extern XImage *XCreateImage(
- Display* /* display */,
- Visual* /* visual */,
- unsigned int /* depth */,
- int /* format */,
- int /* offset */,
- char* /* data */,
- unsigned int /* width */,
- unsigned int /* height */,
- int /* bitmap_pad */,
- int /* bytes_per_line */
-);
-extern Status XInitImage(
- XImage* /* image */
-);
-extern XImage *XGetImage(
- Display* /* display */,
- Drawable /* d */,
- int /* x */,
- int /* y */,
- unsigned int /* width */,
- unsigned int /* height */,
- unsigned long /* plane_mask */,
- int /* format */
-);
-extern XImage *XGetSubImage(
- Display* /* display */,
- Drawable /* d */,
- int /* x */,
- int /* y */,
- unsigned int /* width */,
- unsigned int /* height */,
- unsigned long /* plane_mask */,
- int /* format */,
- XImage* /* dest_image */,
- int /* dest_x */,
- int /* dest_y */
-);
-
-/*
- * X function declarations.
- */
-extern Display *XOpenDisplay(
- _Xconst char* /* display_name */
-);
-
-extern void XrmInitialize(
- void
-);
-
-extern char *XFetchBytes(
- Display* /* display */,
- int* /* nbytes_return */
-);
-extern char *XFetchBuffer(
- Display* /* display */,
- int* /* nbytes_return */,
- int /* buffer */
-);
-extern char *XGetAtomName(
- Display* /* display */,
- Atom /* atom */
-);
-extern Status XGetAtomNames(
- Display* /* dpy */,
- Atom* /* atoms */,
- int /* count */,
- char** /* names_return */
-);
-extern char *XGetDefault(
- Display* /* display */,
- _Xconst char* /* program */,
- _Xconst char* /* option */
-);
-extern char *XDisplayName(
- _Xconst char* /* string */
-);
-extern char *XKeysymToString(
- KeySym /* keysym */
-);
-
-extern int (*XSynchronize(
- Display* /* display */,
- Bool /* onoff */
-))(
- Display* /* display */
-);
-extern int (*XSetAfterFunction(
- Display* /* display */,
- int (*) (
- Display* /* display */
- ) /* procedure */
-))(
- Display* /* display */
-);
-extern Atom XInternAtom(
- Display* /* display */,
- _Xconst char* /* atom_name */,
- Bool /* only_if_exists */
-);
-extern Status XInternAtoms(
- Display* /* dpy */,
- char** /* names */,
- int /* count */,
- Bool /* onlyIfExists */,
- Atom* /* atoms_return */
-);
-extern Colormap XCopyColormapAndFree(
- Display* /* display */,
- Colormap /* colormap */
-);
-extern Colormap XCreateColormap(
- Display* /* display */,
- Window /* w */,
- Visual* /* visual */,
- int /* alloc */
-);
-extern Cursor XCreatePixmapCursor(
- Display* /* display */,
- Pixmap /* source */,
- Pixmap /* mask */,
- XColor* /* foreground_color */,
- XColor* /* background_color */,
- unsigned int /* x */,
- unsigned int /* y */
-);
-extern Cursor XCreateGlyphCursor(
- Display* /* display */,
- Font /* source_font */,
- Font /* mask_font */,
- unsigned int /* source_char */,
- unsigned int /* mask_char */,
- XColor _Xconst * /* foreground_color */,
- XColor _Xconst * /* background_color */
-);
-extern Cursor XCreateFontCursor(
- Display* /* display */,
- unsigned int /* shape */
-);
-extern Font XLoadFont(
- Display* /* display */,
- _Xconst char* /* name */
-);
-extern GC XCreateGC(
- Display* /* display */,
- Drawable /* d */,
- unsigned long /* valuemask */,
- XGCValues* /* values */
-);
-extern GContext XGContextFromGC(
- GC /* gc */
-);
-extern void XFlushGC(
- Display* /* display */,
- GC /* gc */
-);
-extern Pixmap XCreatePixmap(
- Display* /* display */,
- Drawable /* d */,
- unsigned int /* width */,
- unsigned int /* height */,
- unsigned int /* depth */
-);
-extern Pixmap XCreateBitmapFromData(
- Display* /* display */,
- Drawable /* d */,
- _Xconst char* /* data */,
- unsigned int /* width */,
- unsigned int /* height */
-);
-extern Pixmap XCreatePixmapFromBitmapData(
- Display* /* display */,
- Drawable /* d */,
- char* /* data */,
- unsigned int /* width */,
- unsigned int /* height */,
- unsigned long /* fg */,
- unsigned long /* bg */,
- unsigned int /* depth */
-);
-extern Window XCreateSimpleWindow(
- Display* /* display */,
- Window /* parent */,
- int /* x */,
- int /* y */,
- unsigned int /* width */,
- unsigned int /* height */,
- unsigned int /* border_width */,
- unsigned long /* border */,
- unsigned long /* background */
-);
-extern Window XGetSelectionOwner(
- Display* /* display */,
- Atom /* selection */
-);
-extern Window XCreateWindow(
- Display* /* display */,
- Window /* parent */,
- int /* x */,
- int /* y */,
- unsigned int /* width */,
- unsigned int /* height */,
- unsigned int /* border_width */,
- int /* depth */,
- unsigned int /* class */,
- Visual* /* visual */,
- unsigned long /* valuemask */,
- XSetWindowAttributes* /* attributes */
-);
-extern Colormap *XListInstalledColormaps(
- Display* /* display */,
- Window /* w */,
- int* /* num_return */
-);
-extern char **XListFonts(
- Display* /* display */,
- _Xconst char* /* pattern */,
- int /* maxnames */,
- int* /* actual_count_return */
-);
-extern char **XListFontsWithInfo(
- Display* /* display */,
- _Xconst char* /* pattern */,
- int /* maxnames */,
- int* /* count_return */,
- XFontStruct** /* info_return */
-);
-extern char **XGetFontPath(
- Display* /* display */,
- int* /* npaths_return */
-);
-extern char **XListExtensions(
- Display* /* display */,
- int* /* nextensions_return */
-);
-extern Atom *XListProperties(
- Display* /* display */,
- Window /* w */,
- int* /* num_prop_return */
-);
-extern XHostAddress *XListHosts(
- Display* /* display */,
- int* /* nhosts_return */,
- Bool* /* state_return */
-);
-extern KeySym XKeycodeToKeysym(
- Display* /* display */,
-#if NeedWidePrototypes
- unsigned int /* keycode */,
-#else
- KeyCode /* keycode */,
-#endif
- int /* index */
-);
-extern KeySym XLookupKeysym(
- XKeyEvent* /* key_event */,
- int /* index */
-);
-extern KeySym *XGetKeyboardMapping(
- Display* /* display */,
-#if NeedWidePrototypes
- unsigned int /* first_keycode */,
-#else
- KeyCode /* first_keycode */,
-#endif
- int /* keycode_count */,
- int* /* keysyms_per_keycode_return */
-);
-extern KeySym XStringToKeysym(
- _Xconst char* /* string */
-);
-extern long XMaxRequestSize(
- Display* /* display */
-);
-extern long XExtendedMaxRequestSize(
- Display* /* display */
-);
-extern char *XResourceManagerString(
- Display* /* display */
-);
-extern char *XScreenResourceString(
- Screen* /* screen */
-);
-extern unsigned long XDisplayMotionBufferSize(
- Display* /* display */
-);
-extern VisualID XVisualIDFromVisual(
- Visual* /* visual */
-);
-
-/* multithread routines */
-
-extern Status XInitThreads(
- void
-);
-
-extern void XLockDisplay(
- Display* /* display */
-);
-
-extern void XUnlockDisplay(
- Display* /* display */
-);
-
-/* routines for dealing with extensions */
-
-extern XExtCodes *XInitExtension(
- Display* /* display */,
- _Xconst char* /* name */
-);
-
-extern XExtCodes *XAddExtension(
- Display* /* display */
-);
-extern XExtData *XFindOnExtensionList(
- XExtData** /* structure */,
- int /* number */
-);
-extern XExtData **XEHeadOfExtensionList(
- XEDataObject /* object */
-);
-
-/* these are routines for which there are also macros */
-extern Window XRootWindow(
- Display* /* display */,
- int /* screen_number */
-);
-extern Window XDefaultRootWindow(
- Display* /* display */
-);
-extern Window XRootWindowOfScreen(
- Screen* /* screen */
-);
-extern Visual *XDefaultVisual(
- Display* /* display */,
- int /* screen_number */
-);
-extern Visual *XDefaultVisualOfScreen(
- Screen* /* screen */
-);
-extern GC XDefaultGC(
- Display* /* display */,
- int /* screen_number */
-);
-extern GC XDefaultGCOfScreen(
- Screen* /* screen */
-);
-extern unsigned long XBlackPixel(
- Display* /* display */,
- int /* screen_number */
-);
-extern unsigned long XWhitePixel(
- Display* /* display */,
- int /* screen_number */
-);
-extern unsigned long XAllPlanes(
- void
-);
-extern unsigned long XBlackPixelOfScreen(
- Screen* /* screen */
-);
-extern unsigned long XWhitePixelOfScreen(
- Screen* /* screen */
-);
-extern unsigned long XNextRequest(
- Display* /* display */
-);
-extern unsigned long XLastKnownRequestProcessed(
- Display* /* display */
-);
-extern char *XServerVendor(
- Display* /* display */
-);
-extern char *XDisplayString(
- Display* /* display */
-);
-extern Colormap XDefaultColormap(
- Display* /* display */,
- int /* screen_number */
-);
-extern Colormap XDefaultColormapOfScreen(
- Screen* /* screen */
-);
-extern Display *XDisplayOfScreen(
- Screen* /* screen */
-);
-extern Screen *XScreenOfDisplay(
- Display* /* display */,
- int /* screen_number */
-);
-extern Screen *XDefaultScreenOfDisplay(
- Display* /* display */
-);
-extern long XEventMaskOfScreen(
- Screen* /* screen */
-);
-
-extern int XScreenNumberOfScreen(
- Screen* /* screen */
-);
-
-typedef int (*XErrorHandler) ( /* WARNING, this type not in Xlib spec */
- Display* /* display */,
- XErrorEvent* /* error_event */
-);
-
-extern XErrorHandler XSetErrorHandler (
- XErrorHandler /* handler */
-);
-
-
-typedef int (*XIOErrorHandler) ( /* WARNING, this type not in Xlib spec */
- Display* /* display */
-);
-
-extern XIOErrorHandler XSetIOErrorHandler (
- XIOErrorHandler /* handler */
-);
-
-
-extern XPixmapFormatValues *XListPixmapFormats(
- Display* /* display */,
- int* /* count_return */
-);
-extern int *XListDepths(
- Display* /* display */,
- int /* screen_number */,
- int* /* count_return */
-);
-
-/* ICCCM routines for things that don't require special include files; */
-/* other declarations are given in Xutil.h */
-extern Status XReconfigureWMWindow(
- Display* /* display */,
- Window /* w */,
- int /* screen_number */,
- unsigned int /* mask */,
- XWindowChanges* /* changes */
-);
-
-extern Status XGetWMProtocols(
- Display* /* display */,
- Window /* w */,
- Atom** /* protocols_return */,
- int* /* count_return */
-);
-extern Status XSetWMProtocols(
- Display* /* display */,
- Window /* w */,
- Atom* /* protocols */,
- int /* count */
-);
-extern Status XIconifyWindow(
- Display* /* display */,
- Window /* w */,
- int /* screen_number */
-);
-extern Status XWithdrawWindow(
- Display* /* display */,
- Window /* w */,
- int /* screen_number */
-);
-extern Status XGetCommand(
- Display* /* display */,
- Window /* w */,
- char*** /* argv_return */,
- int* /* argc_return */
-);
-extern Status XGetWMColormapWindows(
- Display* /* display */,
- Window /* w */,
- Window** /* windows_return */,
- int* /* count_return */
-);
-extern Status XSetWMColormapWindows(
- Display* /* display */,
- Window /* w */,
- Window* /* colormap_windows */,
- int /* count */
-);
-extern void XFreeStringList(
- char** /* list */
-);
-extern int XSetTransientForHint(
- Display* /* display */,
- Window /* w */,
- Window /* prop_window */
-);
-
-/* The following are given in alphabetical order */
-
-extern int XActivateScreenSaver(
- Display* /* display */
-);
-
-extern int XAddHost(
- Display* /* display */,
- XHostAddress* /* host */
-);
-
-extern int XAddHosts(
- Display* /* display */,
- XHostAddress* /* hosts */,
- int /* num_hosts */
-);
-
-extern int XAddToExtensionList(
- struct _XExtData** /* structure */,
- XExtData* /* ext_data */
-);
-
-extern int XAddToSaveSet(
- Display* /* display */,
- Window /* w */
-);
-
-extern Status XAllocColor(
- Display* /* display */,
- Colormap /* colormap */,
- XColor* /* screen_in_out */
-);
-
-extern Status XAllocColorCells(
- Display* /* display */,
- Colormap /* colormap */,
- Bool /* contig */,
- unsigned long* /* plane_masks_return */,
- unsigned int /* nplanes */,
- unsigned long* /* pixels_return */,
- unsigned int /* npixels */
-);
-
-extern Status XAllocColorPlanes(
- Display* /* display */,
- Colormap /* colormap */,
- Bool /* contig */,
- unsigned long* /* pixels_return */,
- int /* ncolors */,
- int /* nreds */,
- int /* ngreens */,
- int /* nblues */,
- unsigned long* /* rmask_return */,
- unsigned long* /* gmask_return */,
- unsigned long* /* bmask_return */
-);
-
-extern Status XAllocNamedColor(
- Display* /* display */,
- Colormap /* colormap */,
- _Xconst char* /* color_name */,
- XColor* /* screen_def_return */,
- XColor* /* exact_def_return */
-);
-
-extern int XAllowEvents(
- Display* /* display */,
- int /* event_mode */,
- Time /* time */
-);
-
-extern int XAutoRepeatOff(
- Display* /* display */
-);
-
-extern int XAutoRepeatOn(
- Display* /* display */
-);
-
-extern int XBell(
- Display* /* display */,
- int /* percent */
-);
-
-extern int XBitmapBitOrder(
- Display* /* display */
-);
-
-extern int XBitmapPad(
- Display* /* display */
-);
-
-extern int XBitmapUnit(
- Display* /* display */
-);
-
-extern int XCellsOfScreen(
- Screen* /* screen */
-);
-
-extern int XChangeActivePointerGrab(
- Display* /* display */,
- unsigned int /* event_mask */,
- Cursor /* cursor */,
- Time /* time */
-);
-
-extern int XChangeGC(
- Display* /* display */,
- GC /* gc */,
- unsigned long /* valuemask */,
- XGCValues* /* values */
-);
-
-extern int XChangeKeyboardControl(
- Display* /* display */,
- unsigned long /* value_mask */,
- XKeyboardControl* /* values */
-);
-
-extern int XChangeKeyboardMapping(
- Display* /* display */,
- int /* first_keycode */,
- int /* keysyms_per_keycode */,
- KeySym* /* keysyms */,
- int /* num_codes */
-);
-
-extern int XChangePointerControl(
- Display* /* display */,
- Bool /* do_accel */,
- Bool /* do_threshold */,
- int /* accel_numerator */,
- int /* accel_denominator */,
- int /* threshold */
-);
-
-extern int XChangeProperty(
- Display* /* display */,
- Window /* w */,
- Atom /* property */,
- Atom /* type */,
- int /* format */,
- int /* mode */,
- _Xconst unsigned char* /* data */,
- int /* nelements */
-);
-
-extern int XChangeSaveSet(
- Display* /* display */,
- Window /* w */,
- int /* change_mode */
-);
-
-extern int XChangeWindowAttributes(
- Display* /* display */,
- Window /* w */,
- unsigned long /* valuemask */,
- XSetWindowAttributes* /* attributes */
-);
-
-extern Bool XCheckIfEvent(
- Display* /* display */,
- XEvent* /* event_return */,
- Bool (*) (
- Display* /* display */,
- XEvent* /* event */,
- XPointer /* arg */
- ) /* predicate */,
- XPointer /* arg */
-);
-
-extern Bool XCheckMaskEvent(
- Display* /* display */,
- long /* event_mask */,
- XEvent* /* event_return */
-);
-
-extern Bool XCheckTypedEvent(
- Display* /* display */,
- int /* event_type */,
- XEvent* /* event_return */
-);
-
-extern Bool XCheckTypedWindowEvent(
- Display* /* display */,
- Window /* w */,
- int /* event_type */,
- XEvent* /* event_return */
-);
-
-extern Bool XCheckWindowEvent(
- Display* /* display */,
- Window /* w */,
- long /* event_mask */,
- XEvent* /* event_return */
-);
-
-extern int XCirculateSubwindows(
- Display* /* display */,
- Window /* w */,
- int /* direction */
-);
-
-extern int XCirculateSubwindowsDown(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XCirculateSubwindowsUp(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XClearArea(
- Display* /* display */,
- Window /* w */,
- int /* x */,
- int /* y */,
- unsigned int /* width */,
- unsigned int /* height */,
- Bool /* exposures */
-);
-
-extern int XClearWindow(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XCloseDisplay(
- Display* /* display */
-);
-
-extern int XConfigureWindow(
- Display* /* display */,
- Window /* w */,
- unsigned int /* value_mask */,
- XWindowChanges* /* values */
-);
-
-extern int XConnectionNumber(
- Display* /* display */
-);
-
-extern int XConvertSelection(
- Display* /* display */,
- Atom /* selection */,
- Atom /* target */,
- Atom /* property */,
- Window /* requestor */,
- Time /* time */
-);
-
-extern int XCopyArea(
- Display* /* display */,
- Drawable /* src */,
- Drawable /* dest */,
- GC /* gc */,
- int /* src_x */,
- int /* src_y */,
- unsigned int /* width */,
- unsigned int /* height */,
- int /* dest_x */,
- int /* dest_y */
-);
-
-extern int XCopyGC(
- Display* /* display */,
- GC /* src */,
- unsigned long /* valuemask */,
- GC /* dest */
-);
-
-extern int XCopyPlane(
- Display* /* display */,
- Drawable /* src */,
- Drawable /* dest */,
- GC /* gc */,
- int /* src_x */,
- int /* src_y */,
- unsigned int /* width */,
- unsigned int /* height */,
- int /* dest_x */,
- int /* dest_y */,
- unsigned long /* plane */
-);
-
-extern int XDefaultDepth(
- Display* /* display */,
- int /* screen_number */
-);
-
-extern int XDefaultDepthOfScreen(
- Screen* /* screen */
-);
-
-extern int XDefaultScreen(
- Display* /* display */
-);
-
-extern int XDefineCursor(
- Display* /* display */,
- Window /* w */,
- Cursor /* cursor */
-);
-
-extern int XDeleteProperty(
- Display* /* display */,
- Window /* w */,
- Atom /* property */
-);
-
-extern int XDestroyWindow(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XDestroySubwindows(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XDoesBackingStore(
- Screen* /* screen */
-);
-
-extern Bool XDoesSaveUnders(
- Screen* /* screen */
-);
-
-extern int XDisableAccessControl(
- Display* /* display */
-);
-
-
-extern int XDisplayCells(
- Display* /* display */,
- int /* screen_number */
-);
-
-extern int XDisplayHeight(
- Display* /* display */,
- int /* screen_number */
-);
-
-extern int XDisplayHeightMM(
- Display* /* display */,
- int /* screen_number */
-);
-
-extern int XDisplayKeycodes(
- Display* /* display */,
- int* /* min_keycodes_return */,
- int* /* max_keycodes_return */
-);
-
-extern int XDisplayPlanes(
- Display* /* display */,
- int /* screen_number */
-);
-
-extern int XDisplayWidth(
- Display* /* display */,
- int /* screen_number */
-);
-
-extern int XDisplayWidthMM(
- Display* /* display */,
- int /* screen_number */
-);
-
-extern int XDrawArc(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- unsigned int /* width */,
- unsigned int /* height */,
- int /* angle1 */,
- int /* angle2 */
-);
-
-extern int XDrawArcs(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- XArc* /* arcs */,
- int /* narcs */
-);
-
-extern int XDrawImageString(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- _Xconst char* /* string */,
- int /* length */
-);
-
-extern int XDrawImageString16(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- _Xconst XChar2b* /* string */,
- int /* length */
-);
-
-extern int XDrawLine(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x1 */,
- int /* y1 */,
- int /* x2 */,
- int /* y2 */
-);
-
-extern int XDrawLines(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- XPoint* /* points */,
- int /* npoints */,
- int /* mode */
-);
-
-extern int XDrawPoint(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */
-);
-
-extern int XDrawPoints(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- XPoint* /* points */,
- int /* npoints */,
- int /* mode */
-);
-
-extern int XDrawRectangle(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- unsigned int /* width */,
- unsigned int /* height */
-);
-
-extern int XDrawRectangles(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- XRectangle* /* rectangles */,
- int /* nrectangles */
-);
-
-extern int XDrawSegments(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- XSegment* /* segments */,
- int /* nsegments */
-);
-
-extern int XDrawString(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- _Xconst char* /* string */,
- int /* length */
-);
-
-extern int XDrawString16(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- _Xconst XChar2b* /* string */,
- int /* length */
-);
-
-extern int XDrawText(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- XTextItem* /* items */,
- int /* nitems */
-);
-
-extern int XDrawText16(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- XTextItem16* /* items */,
- int /* nitems */
-);
-
-extern int XEnableAccessControl(
- Display* /* display */
-);
-
-extern int XEventsQueued(
- Display* /* display */,
- int /* mode */
-);
-
-extern Status XFetchName(
- Display* /* display */,
- Window /* w */,
- char** /* window_name_return */
-);
-
-extern int XFillArc(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- unsigned int /* width */,
- unsigned int /* height */,
- int /* angle1 */,
- int /* angle2 */
-);
-
-extern int XFillArcs(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- XArc* /* arcs */,
- int /* narcs */
-);
-
-extern int XFillPolygon(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- XPoint* /* points */,
- int /* npoints */,
- int /* shape */,
- int /* mode */
-);
-
-extern int XFillRectangle(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- unsigned int /* width */,
- unsigned int /* height */
-);
-
-extern int XFillRectangles(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- XRectangle* /* rectangles */,
- int /* nrectangles */
-);
-
-extern int XFlush(
- Display* /* display */
-);
-
-extern int XForceScreenSaver(
- Display* /* display */,
- int /* mode */
-);
-
-extern int XFree(
- void* /* data */
-);
-
-extern int XFreeColormap(
- Display* /* display */,
- Colormap /* colormap */
-);
-
-extern int XFreeColors(
- Display* /* display */,
- Colormap /* colormap */,
- unsigned long* /* pixels */,
- int /* npixels */,
- unsigned long /* planes */
-);
-
-extern int XFreeCursor(
- Display* /* display */,
- Cursor /* cursor */
-);
-
-extern int XFreeExtensionList(
- char** /* list */
-);
-
-extern int XFreeFont(
- Display* /* display */,
- XFontStruct* /* font_struct */
-);
-
-extern int XFreeFontInfo(
- char** /* names */,
- XFontStruct* /* free_info */,
- int /* actual_count */
-);
-
-extern int XFreeFontNames(
- char** /* list */
-);
-
-extern int XFreeFontPath(
- char** /* list */
-);
-
-extern int XFreeGC(
- Display* /* display */,
- GC /* gc */
-);
-
-extern int XFreeModifiermap(
- XModifierKeymap* /* modmap */
-);
-
-extern int XFreePixmap(
- Display* /* display */,
- Pixmap /* pixmap */
-);
-
-extern int XGeometry(
- Display* /* display */,
- int /* screen */,
- _Xconst char* /* position */,
- _Xconst char* /* default_position */,
- unsigned int /* bwidth */,
- unsigned int /* fwidth */,
- unsigned int /* fheight */,
- int /* xadder */,
- int /* yadder */,
- int* /* x_return */,
- int* /* y_return */,
- int* /* width_return */,
- int* /* height_return */
-);
-
-extern int XGetErrorDatabaseText(
- Display* /* display */,
- _Xconst char* /* name */,
- _Xconst char* /* message */,
- _Xconst char* /* default_string */,
- char* /* buffer_return */,
- int /* length */
-);
-
-extern int XGetErrorText(
- Display* /* display */,
- int /* code */,
- char* /* buffer_return */,
- int /* length */
-);
-
-extern Bool XGetFontProperty(
- XFontStruct* /* font_struct */,
- Atom /* atom */,
- unsigned long* /* value_return */
-);
-
-extern Status XGetGCValues(
- Display* /* display */,
- GC /* gc */,
- unsigned long /* valuemask */,
- XGCValues* /* values_return */
-);
-
-extern Status XGetGeometry(
- Display* /* display */,
- Drawable /* d */,
- Window* /* root_return */,
- int* /* x_return */,
- int* /* y_return */,
- unsigned int* /* width_return */,
- unsigned int* /* height_return */,
- unsigned int* /* border_width_return */,
- unsigned int* /* depth_return */
-);
-
-extern Status XGetIconName(
- Display* /* display */,
- Window /* w */,
- char** /* icon_name_return */
-);
-
-extern int XGetInputFocus(
- Display* /* display */,
- Window* /* focus_return */,
- int* /* revert_to_return */
-);
-
-extern int XGetKeyboardControl(
- Display* /* display */,
- XKeyboardState* /* values_return */
-);
-
-extern int XGetPointerControl(
- Display* /* display */,
- int* /* accel_numerator_return */,
- int* /* accel_denominator_return */,
- int* /* threshold_return */
-);
-
-extern int XGetPointerMapping(
- Display* /* display */,
- unsigned char* /* map_return */,
- int /* nmap */
-);
-
-extern int XGetScreenSaver(
- Display* /* display */,
- int* /* timeout_return */,
- int* /* interval_return */,
- int* /* prefer_blanking_return */,
- int* /* allow_exposures_return */
-);
-
-extern Status XGetTransientForHint(
- Display* /* display */,
- Window /* w */,
- Window* /* prop_window_return */
-);
-
-extern int XGetWindowProperty(
- Display* /* display */,
- Window /* w */,
- Atom /* property */,
- long /* long_offset */,
- long /* long_length */,
- Bool /* delete */,
- Atom /* req_type */,
- Atom* /* actual_type_return */,
- int* /* actual_format_return */,
- unsigned long* /* nitems_return */,
- unsigned long* /* bytes_after_return */,
- unsigned char** /* prop_return */
-);
-
-extern Status XGetWindowAttributes(
- Display* /* display */,
- Window /* w */,
- XWindowAttributes* /* window_attributes_return */
-);
-
-extern int XGrabButton(
- Display* /* display */,
- unsigned int /* button */,
- unsigned int /* modifiers */,
- Window /* grab_window */,
- Bool /* owner_events */,
- unsigned int /* event_mask */,
- int /* pointer_mode */,
- int /* keyboard_mode */,
- Window /* confine_to */,
- Cursor /* cursor */
-);
-
-extern int XGrabKey(
- Display* /* display */,
- int /* keycode */,
- unsigned int /* modifiers */,
- Window /* grab_window */,
- Bool /* owner_events */,
- int /* pointer_mode */,
- int /* keyboard_mode */
-);
-
-extern int XGrabKeyboard(
- Display* /* display */,
- Window /* grab_window */,
- Bool /* owner_events */,
- int /* pointer_mode */,
- int /* keyboard_mode */,
- Time /* time */
-);
-
-extern int XGrabPointer(
- Display* /* display */,
- Window /* grab_window */,
- Bool /* owner_events */,
- unsigned int /* event_mask */,
- int /* pointer_mode */,
- int /* keyboard_mode */,
- Window /* confine_to */,
- Cursor /* cursor */,
- Time /* time */
-);
-
-extern int XGrabServer(
- Display* /* display */
-);
-
-extern int XHeightMMOfScreen(
- Screen* /* screen */
-);
-
-extern int XHeightOfScreen(
- Screen* /* screen */
-);
-
-extern int XIfEvent(
- Display* /* display */,
- XEvent* /* event_return */,
- Bool (*) (
- Display* /* display */,
- XEvent* /* event */,
- XPointer /* arg */
- ) /* predicate */,
- XPointer /* arg */
-);
-
-extern int XImageByteOrder(
- Display* /* display */
-);
-
-extern int XInstallColormap(
- Display* /* display */,
- Colormap /* colormap */
-);
-
-extern KeyCode XKeysymToKeycode(
- Display* /* display */,
- KeySym /* keysym */
-);
-
-extern int XKillClient(
- Display* /* display */,
- XID /* resource */
-);
-
-extern Status XLookupColor(
- Display* /* display */,
- Colormap /* colormap */,
- _Xconst char* /* color_name */,
- XColor* /* exact_def_return */,
- XColor* /* screen_def_return */
-);
-
-extern int XLowerWindow(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XMapRaised(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XMapSubwindows(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XMapWindow(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XMaskEvent(
- Display* /* display */,
- long /* event_mask */,
- XEvent* /* event_return */
-);
-
-extern int XMaxCmapsOfScreen(
- Screen* /* screen */
-);
-
-extern int XMinCmapsOfScreen(
- Screen* /* screen */
-);
-
-extern int XMoveResizeWindow(
- Display* /* display */,
- Window /* w */,
- int /* x */,
- int /* y */,
- unsigned int /* width */,
- unsigned int /* height */
-);
-
-extern int XMoveWindow(
- Display* /* display */,
- Window /* w */,
- int /* x */,
- int /* y */
-);
-
-extern int XNextEvent(
- Display* /* display */,
- XEvent* /* event_return */
-);
-
-extern int XNoOp(
- Display* /* display */
-);
-
-extern Status XParseColor(
- Display* /* display */,
- Colormap /* colormap */,
- _Xconst char* /* spec */,
- XColor* /* exact_def_return */
-);
-
-extern int XParseGeometry(
- _Xconst char* /* parsestring */,
- int* /* x_return */,
- int* /* y_return */,
- unsigned int* /* width_return */,
- unsigned int* /* height_return */
-);
-
-extern int XPeekEvent(
- Display* /* display */,
- XEvent* /* event_return */
-);
-
-extern int XPeekIfEvent(
- Display* /* display */,
- XEvent* /* event_return */,
- Bool (*) (
- Display* /* display */,
- XEvent* /* event */,
- XPointer /* arg */
- ) /* predicate */,
- XPointer /* arg */
-);
-
-extern int XPending(
- Display* /* display */
-);
-
-extern int XPlanesOfScreen(
- Screen* /* screen */
-);
-
-extern int XProtocolRevision(
- Display* /* display */
-);
-
-extern int XProtocolVersion(
- Display* /* display */
-);
-
-
-extern int XPutBackEvent(
- Display* /* display */,
- XEvent* /* event */
-);
-
-extern int XPutImage(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- XImage* /* image */,
- int /* src_x */,
- int /* src_y */,
- int /* dest_x */,
- int /* dest_y */,
- unsigned int /* width */,
- unsigned int /* height */
-);
-
-extern int XQLength(
- Display* /* display */
-);
-
-extern Status XQueryBestCursor(
- Display* /* display */,
- Drawable /* d */,
- unsigned int /* width */,
- unsigned int /* height */,
- unsigned int* /* width_return */,
- unsigned int* /* height_return */
-);
-
-extern Status XQueryBestSize(
- Display* /* display */,
- int /* class */,
- Drawable /* which_screen */,
- unsigned int /* width */,
- unsigned int /* height */,
- unsigned int* /* width_return */,
- unsigned int* /* height_return */
-);
-
-extern Status XQueryBestStipple(
- Display* /* display */,
- Drawable /* which_screen */,
- unsigned int /* width */,
- unsigned int /* height */,
- unsigned int* /* width_return */,
- unsigned int* /* height_return */
-);
-
-extern Status XQueryBestTile(
- Display* /* display */,
- Drawable /* which_screen */,
- unsigned int /* width */,
- unsigned int /* height */,
- unsigned int* /* width_return */,
- unsigned int* /* height_return */
-);
-
-extern int XQueryColor(
- Display* /* display */,
- Colormap /* colormap */,
- XColor* /* def_in_out */
-);
-
-extern int XQueryColors(
- Display* /* display */,
- Colormap /* colormap */,
- XColor* /* defs_in_out */,
- int /* ncolors */
-);
-
-extern Bool XQueryExtension(
- Display* /* display */,
- _Xconst char* /* name */,
- int* /* major_opcode_return */,
- int* /* first_event_return */,
- int* /* first_error_return */
-);
-
-extern int XQueryKeymap(
- Display* /* display */,
- char [32] /* keys_return */
-);
-
-extern Bool XQueryPointer(
- Display* /* display */,
- Window /* w */,
- Window* /* root_return */,
- Window* /* child_return */,
- int* /* root_x_return */,
- int* /* root_y_return */,
- int* /* win_x_return */,
- int* /* win_y_return */,
- unsigned int* /* mask_return */
-);
-
-extern int XQueryTextExtents(
- Display* /* display */,
- XID /* font_ID */,
- _Xconst char* /* string */,
- int /* nchars */,
- int* /* direction_return */,
- int* /* font_ascent_return */,
- int* /* font_descent_return */,
- XCharStruct* /* overall_return */
-);
-
-extern int XQueryTextExtents16(
- Display* /* display */,
- XID /* font_ID */,
- _Xconst XChar2b* /* string */,
- int /* nchars */,
- int* /* direction_return */,
- int* /* font_ascent_return */,
- int* /* font_descent_return */,
- XCharStruct* /* overall_return */
-);
-
-extern Status XQueryTree(
- Display* /* display */,
- Window /* w */,
- Window* /* root_return */,
- Window* /* parent_return */,
- Window** /* children_return */,
- unsigned int* /* nchildren_return */
-);
-
-extern int XRaiseWindow(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XReadBitmapFile(
- Display* /* display */,
- Drawable /* d */,
- _Xconst char* /* filename */,
- unsigned int* /* width_return */,
- unsigned int* /* height_return */,
- Pixmap* /* bitmap_return */,
- int* /* x_hot_return */,
- int* /* y_hot_return */
-);
-
-extern int XReadBitmapFileData(
- _Xconst char* /* filename */,
- unsigned int* /* width_return */,
- unsigned int* /* height_return */,
- unsigned char** /* data_return */,
- int* /* x_hot_return */,
- int* /* y_hot_return */
-);
-
-extern int XRebindKeysym(
- Display* /* display */,
- KeySym /* keysym */,
- KeySym* /* list */,
- int /* mod_count */,
- _Xconst unsigned char* /* string */,
- int /* bytes_string */
-);
-
-extern int XRecolorCursor(
- Display* /* display */,
- Cursor /* cursor */,
- XColor* /* foreground_color */,
- XColor* /* background_color */
-);
-
-extern int XRefreshKeyboardMapping(
- XMappingEvent* /* event_map */
-);
-
-extern int XRemoveFromSaveSet(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XRemoveHost(
- Display* /* display */,
- XHostAddress* /* host */
-);
-
-extern int XRemoveHosts(
- Display* /* display */,
- XHostAddress* /* hosts */,
- int /* num_hosts */
-);
-
-extern int XReparentWindow(
- Display* /* display */,
- Window /* w */,
- Window /* parent */,
- int /* x */,
- int /* y */
-);
-
-extern int XResetScreenSaver(
- Display* /* display */
-);
-
-extern int XResizeWindow(
- Display* /* display */,
- Window /* w */,
- unsigned int /* width */,
- unsigned int /* height */
-);
-
-extern int XRestackWindows(
- Display* /* display */,
- Window* /* windows */,
- int /* nwindows */
-);
-
-extern int XRotateBuffers(
- Display* /* display */,
- int /* rotate */
-);
-
-extern int XRotateWindowProperties(
- Display* /* display */,
- Window /* w */,
- Atom* /* properties */,
- int /* num_prop */,
- int /* npositions */
-);
-
-extern int XScreenCount(
- Display* /* display */
-);
-
-extern int XSelectInput(
- Display* /* display */,
- Window /* w */,
- long /* event_mask */
-);
-
-extern Status XSendEvent(
- Display* /* display */,
- Window /* w */,
- Bool /* propagate */,
- long /* event_mask */,
- XEvent* /* event_send */
-);
-
-extern int XSetAccessControl(
- Display* /* display */,
- int /* mode */
-);
-
-extern int XSetArcMode(
- Display* /* display */,
- GC /* gc */,
- int /* arc_mode */
-);
-
-extern int XSetBackground(
- Display* /* display */,
- GC /* gc */,
- unsigned long /* background */
-);
-
-extern int XSetClipMask(
- Display* /* display */,
- GC /* gc */,
- Pixmap /* pixmap */
-);
-
-extern int XSetClipOrigin(
- Display* /* display */,
- GC /* gc */,
- int /* clip_x_origin */,
- int /* clip_y_origin */
-);
-
-extern int XSetClipRectangles(
- Display* /* display */,
- GC /* gc */,
- int /* clip_x_origin */,
- int /* clip_y_origin */,
- XRectangle* /* rectangles */,
- int /* n */,
- int /* ordering */
-);
-
-extern int XSetCloseDownMode(
- Display* /* display */,
- int /* close_mode */
-);
-
-extern int XSetCommand(
- Display* /* display */,
- Window /* w */,
- char** /* argv */,
- int /* argc */
-);
-
-extern int XSetDashes(
- Display* /* display */,
- GC /* gc */,
- int /* dash_offset */,
- _Xconst char* /* dash_list */,
- int /* n */
-);
-
-extern int XSetFillRule(
- Display* /* display */,
- GC /* gc */,
- int /* fill_rule */
-);
-
-extern int XSetFillStyle(
- Display* /* display */,
- GC /* gc */,
- int /* fill_style */
-);
-
-extern int XSetFont(
- Display* /* display */,
- GC /* gc */,
- Font /* font */
-);
-
-extern int XSetFontPath(
- Display* /* display */,
- char** /* directories */,
- int /* ndirs */
-);
-
-extern int XSetForeground(
- Display* /* display */,
- GC /* gc */,
- unsigned long /* foreground */
-);
-
-extern int XSetFunction(
- Display* /* display */,
- GC /* gc */,
- int /* function */
-);
-
-extern int XSetGraphicsExposures(
- Display* /* display */,
- GC /* gc */,
- Bool /* graphics_exposures */
-);
-
-extern int XSetIconName(
- Display* /* display */,
- Window /* w */,
- _Xconst char* /* icon_name */
-);
-
-extern int XSetInputFocus(
- Display* /* display */,
- Window /* focus */,
- int /* revert_to */,
- Time /* time */
-);
-
-extern int XSetLineAttributes(
- Display* /* display */,
- GC /* gc */,
- unsigned int /* line_width */,
- int /* line_style */,
- int /* cap_style */,
- int /* join_style */
-);
-
-extern int XSetModifierMapping(
- Display* /* display */,
- XModifierKeymap* /* modmap */
-);
-
-extern int XSetPlaneMask(
- Display* /* display */,
- GC /* gc */,
- unsigned long /* plane_mask */
-);
-
-extern int XSetPointerMapping(
- Display* /* display */,
- _Xconst unsigned char* /* map */,
- int /* nmap */
-);
-
-extern int XSetScreenSaver(
- Display* /* display */,
- int /* timeout */,
- int /* interval */,
- int /* prefer_blanking */,
- int /* allow_exposures */
-);
-
-extern int XSetSelectionOwner(
- Display* /* display */,
- Atom /* selection */,
- Window /* owner */,
- Time /* time */
-);
-
-extern int XSetState(
- Display* /* display */,
- GC /* gc */,
- unsigned long /* foreground */,
- unsigned long /* background */,
- int /* function */,
- unsigned long /* plane_mask */
-);
-
-extern int XSetStipple(
- Display* /* display */,
- GC /* gc */,
- Pixmap /* stipple */
-);
-
-extern int XSetSubwindowMode(
- Display* /* display */,
- GC /* gc */,
- int /* subwindow_mode */
-);
-
-extern int XSetTSOrigin(
- Display* /* display */,
- GC /* gc */,
- int /* ts_x_origin */,
- int /* ts_y_origin */
-);
-
-extern int XSetTile(
- Display* /* display */,
- GC /* gc */,
- Pixmap /* tile */
-);
-
-extern int XSetWindowBackground(
- Display* /* display */,
- Window /* w */,
- unsigned long /* background_pixel */
-);
-
-extern int XSetWindowBackgroundPixmap(
- Display* /* display */,
- Window /* w */,
- Pixmap /* background_pixmap */
-);
-
-extern int XSetWindowBorder(
- Display* /* display */,
- Window /* w */,
- unsigned long /* border_pixel */
-);
-
-extern int XSetWindowBorderPixmap(
- Display* /* display */,
- Window /* w */,
- Pixmap /* border_pixmap */
-);
-
-extern int XSetWindowBorderWidth(
- Display* /* display */,
- Window /* w */,
- unsigned int /* width */
-);
-
-extern int XSetWindowColormap(
- Display* /* display */,
- Window /* w */,
- Colormap /* colormap */
-);
-
-extern int XStoreBuffer(
- Display* /* display */,
- _Xconst char* /* bytes */,
- int /* nbytes */,
- int /* buffer */
-);
-
-extern int XStoreBytes(
- Display* /* display */,
- _Xconst char* /* bytes */,
- int /* nbytes */
-);
-
-extern int XStoreColor(
- Display* /* display */,
- Colormap /* colormap */,
- XColor* /* color */
-);
-
-extern int XStoreColors(
- Display* /* display */,
- Colormap /* colormap */,
- XColor* /* color */,
- int /* ncolors */
-);
-
-extern int XStoreName(
- Display* /* display */,
- Window /* w */,
- _Xconst char* /* window_name */
-);
-
-extern int XStoreNamedColor(
- Display* /* display */,
- Colormap /* colormap */,
- _Xconst char* /* color */,
- unsigned long /* pixel */,
- int /* flags */
-);
-
-extern int XSync(
- Display* /* display */,
- Bool /* discard */
-);
-
-extern int XTextExtents(
- XFontStruct* /* font_struct */,
- _Xconst char* /* string */,
- int /* nchars */,
- int* /* direction_return */,
- int* /* font_ascent_return */,
- int* /* font_descent_return */,
- XCharStruct* /* overall_return */
-);
-
-extern int XTextExtents16(
- XFontStruct* /* font_struct */,
- _Xconst XChar2b* /* string */,
- int /* nchars */,
- int* /* direction_return */,
- int* /* font_ascent_return */,
- int* /* font_descent_return */,
- XCharStruct* /* overall_return */
-);
-
-extern int XTextWidth(
- XFontStruct* /* font_struct */,
- _Xconst char* /* string */,
- int /* count */
-);
-
-extern int XTextWidth16(
- XFontStruct* /* font_struct */,
- _Xconst XChar2b* /* string */,
- int /* count */
-);
-
-extern Bool XTranslateCoordinates(
- Display* /* display */,
- Window /* src_w */,
- Window /* dest_w */,
- int /* src_x */,
- int /* src_y */,
- int* /* dest_x_return */,
- int* /* dest_y_return */,
- Window* /* child_return */
-);
-
-extern int XUndefineCursor(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XUngrabButton(
- Display* /* display */,
- unsigned int /* button */,
- unsigned int /* modifiers */,
- Window /* grab_window */
-);
-
-extern int XUngrabKey(
- Display* /* display */,
- int /* keycode */,
- unsigned int /* modifiers */,
- Window /* grab_window */
-);
-
-extern int XUngrabKeyboard(
- Display* /* display */,
- Time /* time */
-);
-
-extern int XUngrabPointer(
- Display* /* display */,
- Time /* time */
-);
-
-extern int XUngrabServer(
- Display* /* display */
-);
-
-extern int XUninstallColormap(
- Display* /* display */,
- Colormap /* colormap */
-);
-
-extern int XUnloadFont(
- Display* /* display */,
- Font /* font */
-);
-
-extern int XUnmapSubwindows(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XUnmapWindow(
- Display* /* display */,
- Window /* w */
-);
-
-extern int XVendorRelease(
- Display* /* display */
-);
-
-extern int XWarpPointer(
- Display* /* display */,
- Window /* src_w */,
- Window /* dest_w */,
- int /* src_x */,
- int /* src_y */,
- unsigned int /* src_width */,
- unsigned int /* src_height */,
- int /* dest_x */,
- int /* dest_y */
-);
-
-extern int XWidthMMOfScreen(
- Screen* /* screen */
-);
-
-extern int XWidthOfScreen(
- Screen* /* screen */
-);
-
-extern int XWindowEvent(
- Display* /* display */,
- Window /* w */,
- long /* event_mask */,
- XEvent* /* event_return */
-);
-
-extern int XWriteBitmapFile(
- Display* /* display */,
- _Xconst char* /* filename */,
- Pixmap /* bitmap */,
- unsigned int /* width */,
- unsigned int /* height */,
- int /* x_hot */,
- int /* y_hot */
-);
-
-extern Bool XSupportsLocale (void);
-
-extern char *XSetLocaleModifiers(
- const char* /* modifier_list */
-);
-
-extern XOM XOpenOM(
- Display* /* display */,
- struct _XrmHashBucketRec* /* rdb */,
- _Xconst char* /* res_name */,
- _Xconst char* /* res_class */
-);
-
-extern Status XCloseOM(
- XOM /* om */
-);
-
-extern char *XSetOMValues(
- XOM /* om */,
- ...
-) _X_SENTINEL(0);
-
-extern char *XGetOMValues(
- XOM /* om */,
- ...
-) _X_SENTINEL(0);
-
-extern Display *XDisplayOfOM(
- XOM /* om */
-);
-
-extern char *XLocaleOfOM(
- XOM /* om */
-);
-
-extern XOC XCreateOC(
- XOM /* om */,
- ...
-) _X_SENTINEL(0);
-
-extern void XDestroyOC(
- XOC /* oc */
-);
-
-extern XOM XOMOfOC(
- XOC /* oc */
-);
-
-extern char *XSetOCValues(
- XOC /* oc */,
- ...
-) _X_SENTINEL(0);
-
-extern char *XGetOCValues(
- XOC /* oc */,
- ...
-) _X_SENTINEL(0);
-
-extern XFontSet XCreateFontSet(
- Display* /* display */,
- _Xconst char* /* base_font_name_list */,
- char*** /* missing_charset_list */,
- int* /* missing_charset_count */,
- char** /* def_string */
-);
-
-extern void XFreeFontSet(
- Display* /* display */,
- XFontSet /* font_set */
-);
-
-extern int XFontsOfFontSet(
- XFontSet /* font_set */,
- XFontStruct*** /* font_struct_list */,
- char*** /* font_name_list */
-);
-
-extern char *XBaseFontNameListOfFontSet(
- XFontSet /* font_set */
-);
-
-extern char *XLocaleOfFontSet(
- XFontSet /* font_set */
-);
-
-extern Bool XContextDependentDrawing(
- XFontSet /* font_set */
-);
-
-extern Bool XDirectionalDependentDrawing(
- XFontSet /* font_set */
-);
-
-extern Bool XContextualDrawing(
- XFontSet /* font_set */
-);
-
-extern XFontSetExtents *XExtentsOfFontSet(
- XFontSet /* font_set */
-);
-
-extern int XmbTextEscapement(
- XFontSet /* font_set */,
- _Xconst char* /* text */,
- int /* bytes_text */
-);
-
-extern int XwcTextEscapement(
- XFontSet /* font_set */,
- _Xconst wchar_t* /* text */,
- int /* num_wchars */
-);
-
-extern int Xutf8TextEscapement(
- XFontSet /* font_set */,
- _Xconst char* /* text */,
- int /* bytes_text */
-);
-
-extern int XmbTextExtents(
- XFontSet /* font_set */,
- _Xconst char* /* text */,
- int /* bytes_text */,
- XRectangle* /* overall_ink_return */,
- XRectangle* /* overall_logical_return */
-);
-
-extern int XwcTextExtents(
- XFontSet /* font_set */,
- _Xconst wchar_t* /* text */,
- int /* num_wchars */,
- XRectangle* /* overall_ink_return */,
- XRectangle* /* overall_logical_return */
-);
-
-extern int Xutf8TextExtents(
- XFontSet /* font_set */,
- _Xconst char* /* text */,
- int /* bytes_text */,
- XRectangle* /* overall_ink_return */,
- XRectangle* /* overall_logical_return */
-);
-
-extern Status XmbTextPerCharExtents(
- XFontSet /* font_set */,
- _Xconst char* /* text */,
- int /* bytes_text */,
- XRectangle* /* ink_extents_buffer */,
- XRectangle* /* logical_extents_buffer */,
- int /* buffer_size */,
- int* /* num_chars */,
- XRectangle* /* overall_ink_return */,
- XRectangle* /* overall_logical_return */
-);
-
-extern Status XwcTextPerCharExtents(
- XFontSet /* font_set */,
- _Xconst wchar_t* /* text */,
- int /* num_wchars */,
- XRectangle* /* ink_extents_buffer */,
- XRectangle* /* logical_extents_buffer */,
- int /* buffer_size */,
- int* /* num_chars */,
- XRectangle* /* overall_ink_return */,
- XRectangle* /* overall_logical_return */
-);
-
-extern Status Xutf8TextPerCharExtents(
- XFontSet /* font_set */,
- _Xconst char* /* text */,
- int /* bytes_text */,
- XRectangle* /* ink_extents_buffer */,
- XRectangle* /* logical_extents_buffer */,
- int /* buffer_size */,
- int* /* num_chars */,
- XRectangle* /* overall_ink_return */,
- XRectangle* /* overall_logical_return */
-);
-
-extern void XmbDrawText(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- XmbTextItem* /* text_items */,
- int /* nitems */
-);
-
-extern void XwcDrawText(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- XwcTextItem* /* text_items */,
- int /* nitems */
-);
-
-extern void Xutf8DrawText(
- Display* /* display */,
- Drawable /* d */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- XmbTextItem* /* text_items */,
- int /* nitems */
-);
-
-extern void XmbDrawString(
- Display* /* display */,
- Drawable /* d */,
- XFontSet /* font_set */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- _Xconst char* /* text */,
- int /* bytes_text */
-);
-
-extern void XwcDrawString(
- Display* /* display */,
- Drawable /* d */,
- XFontSet /* font_set */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- _Xconst wchar_t* /* text */,
- int /* num_wchars */
-);
-
-extern void Xutf8DrawString(
- Display* /* display */,
- Drawable /* d */,
- XFontSet /* font_set */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- _Xconst char* /* text */,
- int /* bytes_text */
-);
-
-extern void XmbDrawImageString(
- Display* /* display */,
- Drawable /* d */,
- XFontSet /* font_set */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- _Xconst char* /* text */,
- int /* bytes_text */
-);
-
-extern void XwcDrawImageString(
- Display* /* display */,
- Drawable /* d */,
- XFontSet /* font_set */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- _Xconst wchar_t* /* text */,
- int /* num_wchars */
-);
-
-extern void Xutf8DrawImageString(
- Display* /* display */,
- Drawable /* d */,
- XFontSet /* font_set */,
- GC /* gc */,
- int /* x */,
- int /* y */,
- _Xconst char* /* text */,
- int /* bytes_text */
-);
-
-extern XIM XOpenIM(
- Display* /* dpy */,
- struct _XrmHashBucketRec* /* rdb */,
- char* /* res_name */,
- char* /* res_class */
-);
-
-extern Status XCloseIM(
- XIM /* im */
-);
-
-extern char *XGetIMValues(
- XIM /* im */, ...
-) _X_SENTINEL(0);
-
-extern char *XSetIMValues(
- XIM /* im */, ...
-) _X_SENTINEL(0);
-
-extern Display *XDisplayOfIM(
- XIM /* im */
-);
-
-extern char *XLocaleOfIM(
- XIM /* im*/
-);
-
-extern XIC XCreateIC(
- XIM /* im */, ...
-) _X_SENTINEL(0);
-
-extern void XDestroyIC(
- XIC /* ic */
-);
-
-extern void XSetICFocus(
- XIC /* ic */
-);
-
-extern void XUnsetICFocus(
- XIC /* ic */
-);
-
-extern wchar_t *XwcResetIC(
- XIC /* ic */
-);
-
-extern char *XmbResetIC(
- XIC /* ic */
-);
-
-extern char *Xutf8ResetIC(
- XIC /* ic */
-);
-
-extern char *XSetICValues(
- XIC /* ic */, ...
-) _X_SENTINEL(0);
-
-extern char *XGetICValues(
- XIC /* ic */, ...
-) _X_SENTINEL(0);
-
-extern XIM XIMOfIC(
- XIC /* ic */
-);
-
-extern Bool XFilterEvent(
- XEvent* /* event */,
- Window /* window */
-);
-
-extern int XmbLookupString(
- XIC /* ic */,
- XKeyPressedEvent* /* event */,
- char* /* buffer_return */,
- int /* bytes_buffer */,
- KeySym* /* keysym_return */,
- Status* /* status_return */
-);
-
-extern int XwcLookupString(
- XIC /* ic */,
- XKeyPressedEvent* /* event */,
- wchar_t* /* buffer_return */,
- int /* wchars_buffer */,
- KeySym* /* keysym_return */,
- Status* /* status_return */
-);
-
-extern int Xutf8LookupString(
- XIC /* ic */,
- XKeyPressedEvent* /* event */,
- char* /* buffer_return */,
- int /* bytes_buffer */,
- KeySym* /* keysym_return */,
- Status* /* status_return */
-);
-
-extern XVaNestedList XVaCreateNestedList(
- int /*unused*/, ...
-) _X_SENTINEL(0);
-
-/* internal connections for IMs */
-
-extern Bool XRegisterIMInstantiateCallback(
- Display* /* dpy */,
- struct _XrmHashBucketRec* /* rdb */,
- char* /* res_name */,
- char* /* res_class */,
- XIDProc /* callback */,
- XPointer /* client_data */
-);
-
-extern Bool XUnregisterIMInstantiateCallback(
- Display* /* dpy */,
- struct _XrmHashBucketRec* /* rdb */,
- char* /* res_name */,
- char* /* res_class */,
- XIDProc /* callback */,
- XPointer /* client_data */
-);
-
-typedef void (*XConnectionWatchProc)(
- Display* /* dpy */,
- XPointer /* client_data */,
- int /* fd */,
- Bool /* opening */, /* open or close flag */
- XPointer* /* watch_data */ /* open sets, close uses */
-);
-
-
-extern Status XInternalConnectionNumbers(
- Display* /* dpy */,
- int** /* fd_return */,
- int* /* count_return */
-);
-
-extern void XProcessInternalConnection(
- Display* /* dpy */,
- int /* fd */
-);
-
-extern Status XAddConnectionWatch(
- Display* /* dpy */,
- XConnectionWatchProc /* callback */,
- XPointer /* client_data */
-);
-
-extern void XRemoveConnectionWatch(
- Display* /* dpy */,
- XConnectionWatchProc /* callback */,
- XPointer /* client_data */
-);
-
-extern void XSetAuthorization(
- char * /* name */,
- int /* namelen */,
- char * /* data */,
- int /* datalen */
-);
-
-extern int _Xmbtowc(
- wchar_t * /* wstr */,
-#ifdef ISC
- char const * /* str */,
- size_t /* len */
-#else
- char * /* str */,
- int /* len */
-#endif
-);
-
-extern int _Xwctomb(
- char * /* str */,
- wchar_t /* wc */
-);
-
-extern Bool XGetEventData(
- Display* /* dpy */,
- XGenericEventCookie* /* cookie*/
-);
-
-extern void XFreeEventData(
- Display* /* dpy */,
- XGenericEventCookie* /* cookie*/
-);
-
-_XFUNCPROTOEND
-
-#endif /* _XLIB_H_ */
+/*
+
+Copyright 1985, 1986, 1987, 1991, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+
+/*
+ * Xlib.h - Header definition and support file for the C subroutine
+ * interface library (Xlib) to the X Window System Protocol (V11).
+ * Structures and symbols starting with "_" are private to the library.
+ */
+#ifndef _X11_XLIB_H_
+#define _X11_XLIB_H_
+
+#define XlibSpecificationRelease 6
+
+#include <sys/types.h>
+
+#if defined(__SCO__) || defined(__UNIXWARE__)
+#include <stdint.h>
+#endif
+
+#include <X11/X.h>
+
+/* applications should not depend on these two headers being included! */
+#include <X11/Xfuncproto.h>
+#include <X11/Xosdefs.h>
+
+#ifndef X_WCHAR
+#include <stddef.h>
+#else
+#ifdef __UNIXOS2__
+#include <stdlib.h>
+#else
+/* replace this with #include or typedef appropriate for your system */
+typedef unsigned long wchar_t;
+#endif
+#endif
+
+#if defined(ISC) && defined(USE_XMBTOWC)
+#define wctomb(a,b) _Xwctomb(a,b)
+#define mblen(a,b) _Xmblen(a,b)
+#ifndef USE_XWCHAR_STRING
+#define mbtowc(a,b,c) _Xmbtowc(a,b,c)
+#endif
+#endif
+
+extern int
+_Xmblen(
+#ifdef ISC
+ char const *str,
+ size_t len
+#else
+ char *str,
+ int len
+#endif
+ );
+
+/* API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in
+ November 2000. Its presence is indicated through the following macro. */
+#define X_HAVE_UTF8_STRING 1
+
+typedef char *XPointer;
+
+#define Bool int
+#define Status int
+#define True 1
+#define False 0
+
+#define QueuedAlready 0
+#define QueuedAfterReading 1
+#define QueuedAfterFlush 2
+
+#define ConnectionNumber(dpy) (((_XPrivDisplay)dpy)->fd)
+#define RootWindow(dpy, scr) (ScreenOfDisplay(dpy,scr)->root)
+#define DefaultScreen(dpy) (((_XPrivDisplay)dpy)->default_screen)
+#define DefaultRootWindow(dpy) (ScreenOfDisplay(dpy,DefaultScreen(dpy))->root)
+#define DefaultVisual(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_visual)
+#define DefaultGC(dpy, scr) (ScreenOfDisplay(dpy,scr)->default_gc)
+#define BlackPixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->black_pixel)
+#define WhitePixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->white_pixel)
+#define AllPlanes ((unsigned long)~0L)
+#define QLength(dpy) (((_XPrivDisplay)dpy)->qlen)
+#define DisplayWidth(dpy, scr) (ScreenOfDisplay(dpy,scr)->width)
+#define DisplayHeight(dpy, scr) (ScreenOfDisplay(dpy,scr)->height)
+#define DisplayWidthMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mwidth)
+#define DisplayHeightMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mheight)
+#define DisplayPlanes(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth)
+#define DisplayCells(dpy, scr) (DefaultVisual(dpy,scr)->map_entries)
+#define ScreenCount(dpy) (((_XPrivDisplay)dpy)->nscreens)
+#define ServerVendor(dpy) (((_XPrivDisplay)dpy)->vendor)
+#define ProtocolVersion(dpy) (((_XPrivDisplay)dpy)->proto_major_version)
+#define ProtocolRevision(dpy) (((_XPrivDisplay)dpy)->proto_minor_version)
+#define VendorRelease(dpy) (((_XPrivDisplay)dpy)->release)
+#define DisplayString(dpy) (((_XPrivDisplay)dpy)->display_name)
+#define DefaultDepth(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth)
+#define DefaultColormap(dpy, scr)(ScreenOfDisplay(dpy,scr)->cmap)
+#define BitmapUnit(dpy) (((_XPrivDisplay)dpy)->bitmap_unit)
+#define BitmapBitOrder(dpy) (((_XPrivDisplay)dpy)->bitmap_bit_order)
+#define BitmapPad(dpy) (((_XPrivDisplay)dpy)->bitmap_pad)
+#define ImageByteOrder(dpy) (((_XPrivDisplay)dpy)->byte_order)
+#ifdef CRAY /* unable to get WORD64 without pulling in other symbols */
+#define NextRequest(dpy) XNextRequest(dpy)
+#else
+#define NextRequest(dpy) (((_XPrivDisplay)dpy)->request + 1)
+#endif
+#define LastKnownRequestProcessed(dpy) (((_XPrivDisplay)dpy)->last_request_read)
+
+/* macros for screen oriented applications (toolkit) */
+#define ScreenOfDisplay(dpy, scr)(&((_XPrivDisplay)dpy)->screens[scr])
+#define DefaultScreenOfDisplay(dpy) ScreenOfDisplay(dpy,DefaultScreen(dpy))
+#define DisplayOfScreen(s) ((s)->display)
+#define RootWindowOfScreen(s) ((s)->root)
+#define BlackPixelOfScreen(s) ((s)->black_pixel)
+#define WhitePixelOfScreen(s) ((s)->white_pixel)
+#define DefaultColormapOfScreen(s)((s)->cmap)
+#define DefaultDepthOfScreen(s) ((s)->root_depth)
+#define DefaultGCOfScreen(s) ((s)->default_gc)
+#define DefaultVisualOfScreen(s)((s)->root_visual)
+#define WidthOfScreen(s) ((s)->width)
+#define HeightOfScreen(s) ((s)->height)
+#define WidthMMOfScreen(s) ((s)->mwidth)
+#define HeightMMOfScreen(s) ((s)->mheight)
+#define PlanesOfScreen(s) ((s)->root_depth)
+#define CellsOfScreen(s) (DefaultVisualOfScreen((s))->map_entries)
+#define MinCmapsOfScreen(s) ((s)->min_maps)
+#define MaxCmapsOfScreen(s) ((s)->max_maps)
+#define DoesSaveUnders(s) ((s)->save_unders)
+#define DoesBackingStore(s) ((s)->backing_store)
+#define EventMaskOfScreen(s) ((s)->root_input_mask)
+
+/*
+ * Extensions need a way to hang private data on some structures.
+ */
+typedef struct _XExtData {
+ int number; /* number returned by XRegisterExtension */
+ struct _XExtData *next; /* next item on list of data for structure */
+ int (*free_private)( /* called to free private storage */
+ struct _XExtData *extension
+ );
+ XPointer private_data; /* data private to this extension. */
+} XExtData;
+
+/*
+ * This file contains structures used by the extension mechanism.
+ */
+typedef struct { /* public to extension, cannot be changed */
+ int extension; /* extension number */
+ int major_opcode; /* major op-code assigned by server */
+ int first_event; /* first event number for the extension */
+ int first_error; /* first error number for the extension */
+} XExtCodes;
+
+/*
+ * Data structure for retrieving info about pixmap formats.
+ */
+
+typedef struct {
+ int depth;
+ int bits_per_pixel;
+ int scanline_pad;
+} XPixmapFormatValues;
+
+
+/*
+ * Data structure for setting graphics context.
+ */
+typedef struct {
+ int function; /* logical operation */
+ unsigned long plane_mask;/* plane mask */
+ unsigned long foreground;/* foreground pixel */
+ unsigned long background;/* background pixel */
+ int line_width; /* line width */
+ int line_style; /* LineSolid, LineOnOffDash, LineDoubleDash */
+ int cap_style; /* CapNotLast, CapButt,
+ CapRound, CapProjecting */
+ int join_style; /* JoinMiter, JoinRound, JoinBevel */
+ int fill_style; /* FillSolid, FillTiled,
+ FillStippled, FillOpaeueStippled */
+ int fill_rule; /* EvenOddRule, WindingRule */
+ int arc_mode; /* ArcChord, ArcPieSlice */
+ Pixmap tile; /* tile pixmap for tiling operations */
+ Pixmap stipple; /* stipple 1 plane pixmap for stipping */
+ int ts_x_origin; /* offset for tile or stipple operations */
+ int ts_y_origin;
+ Font font; /* default text font for text operations */
+ int subwindow_mode; /* ClipByChildren, IncludeInferiors */
+ Bool graphics_exposures;/* boolean, should exposures be generated */
+ int clip_x_origin; /* origin for clipping */
+ int clip_y_origin;
+ Pixmap clip_mask; /* bitmap clipping; other calls for rects */
+ int dash_offset; /* patterned/dashed line information */
+ char dashes;
+} XGCValues;
+
+/*
+ * Graphics context. The contents of this structure are implementation
+ * dependent. A GC should be treated as opaque by application code.
+ */
+
+typedef struct _XGC
+#ifdef XLIB_ILLEGAL_ACCESS
+{
+ XExtData *ext_data; /* hook for extension to hang data */
+ GContext gid; /* protocol ID for graphics context */
+ /* there is more to this structure, but it is private to Xlib */
+}
+#endif
+*GC;
+
+/*
+ * Visual structure; contains information about colormapping possible.
+ */
+typedef struct {
+ XExtData *ext_data; /* hook for extension to hang data */
+ VisualID visualid; /* visual id of this visual */
+#if defined(__cplusplus) || defined(c_plusplus)
+ int c_class; /* C++ class of screen (monochrome, etc.) */
+#else
+ int class; /* class of screen (monochrome, etc.) */
+#endif
+ unsigned long red_mask, green_mask, blue_mask; /* mask values */
+ int bits_per_rgb; /* log base 2 of distinct color values */
+ int map_entries; /* color map entries */
+} Visual;
+
+/*
+ * Depth structure; contains information for each possible depth.
+ */
+typedef struct {
+ int depth; /* this depth (Z) of the depth */
+ int nvisuals; /* number of Visual types at this depth */
+ Visual *visuals; /* list of visuals possible at this depth */
+} Depth;
+
+/*
+ * Information about the screen. The contents of this structure are
+ * implementation dependent. A Screen should be treated as opaque
+ * by application code.
+ */
+
+struct _XDisplay; /* Forward declare before use for C++ */
+
+typedef struct {
+ XExtData *ext_data; /* hook for extension to hang data */
+ struct _XDisplay *display;/* back pointer to display structure */
+ Window root; /* Root window id. */
+ int width, height; /* width and height of screen */
+ int mwidth, mheight; /* width and height of in millimeters */
+ int ndepths; /* number of depths possible */
+ Depth *depths; /* list of allowable depths on the screen */
+ int root_depth; /* bits per pixel */
+ Visual *root_visual; /* root visual */
+ GC default_gc; /* GC for the root root visual */
+ Colormap cmap; /* default color map */
+ unsigned long white_pixel;
+ unsigned long black_pixel; /* White and Black pixel values */
+ int max_maps, min_maps; /* max and min color maps */
+ int backing_store; /* Never, WhenMapped, Always */
+ Bool save_unders;
+ long root_input_mask; /* initial root input mask */
+} Screen;
+
+/*
+ * Format structure; describes ZFormat data the screen will understand.
+ */
+typedef struct {
+ XExtData *ext_data; /* hook for extension to hang data */
+ int depth; /* depth of this image format */
+ int bits_per_pixel; /* bits/pixel at this depth */
+ int scanline_pad; /* scanline must padded to this multiple */
+} ScreenFormat;
+
+/*
+ * Data structure for setting window attributes.
+ */
+typedef struct {
+ Pixmap background_pixmap; /* background or None or ParentRelative */
+ unsigned long background_pixel; /* background pixel */
+ Pixmap border_pixmap; /* border of the window */
+ unsigned long border_pixel; /* border pixel value */
+ int bit_gravity; /* one of bit gravity values */
+ int win_gravity; /* one of the window gravity values */
+ int backing_store; /* NotUseful, WhenMapped, Always */
+ unsigned long backing_planes;/* planes to be preseved if possible */
+ unsigned long backing_pixel;/* value to use in restoring planes */
+ Bool save_under; /* should bits under be saved? (popups) */
+ long event_mask; /* set of events that should be saved */
+ long do_not_propagate_mask; /* set of events that should not propagate */
+ Bool override_redirect; /* boolean value for override-redirect */
+ Colormap colormap; /* color map to be associated with window */
+ Cursor cursor; /* cursor to be displayed (or None) */
+} XSetWindowAttributes;
+
+typedef struct {
+ int x, y; /* location of window */
+ int width, height; /* width and height of window */
+ int border_width; /* border width of window */
+ int depth; /* depth of window */
+ Visual *visual; /* the associated visual structure */
+ Window root; /* root of screen containing window */
+#if defined(__cplusplus) || defined(c_plusplus)
+ int c_class; /* C++ InputOutput, InputOnly*/
+#else
+ int class; /* InputOutput, InputOnly*/
+#endif
+ int bit_gravity; /* one of bit gravity values */
+ int win_gravity; /* one of the window gravity values */
+ int backing_store; /* NotUseful, WhenMapped, Always */
+ unsigned long backing_planes;/* planes to be preserved if possible */
+ unsigned long backing_pixel;/* value to be used when restoring planes */
+ Bool save_under; /* boolean, should bits under be saved? */
+ Colormap colormap; /* color map to be associated with window */
+ Bool map_installed; /* boolean, is color map currently installed*/
+ int map_state; /* IsUnmapped, IsUnviewable, IsViewable */
+ long all_event_masks; /* set of events all people have interest in*/
+ long your_event_mask; /* my event mask */
+ long do_not_propagate_mask; /* set of events that should not propagate */
+ Bool override_redirect; /* boolean value for override-redirect */
+ Screen *screen; /* back pointer to correct screen */
+} XWindowAttributes;
+
+/*
+ * Data structure for host setting; getting routines.
+ *
+ */
+
+typedef struct {
+ int family; /* for example FamilyInternet */
+ int length; /* length of address, in bytes */
+ char *address; /* pointer to where to find the bytes */
+} XHostAddress;
+
+/*
+ * Data structure for ServerFamilyInterpreted addresses in host routines
+ */
+typedef struct {
+ int typelength; /* length of type string, in bytes */
+ int valuelength; /* length of value string, in bytes */
+ char *type; /* pointer to where to find the type string */
+ char *value; /* pointer to where to find the address */
+} XServerInterpretedAddress;
+
+/*
+ * Data structure for "image" data, used by image manipulation routines.
+ */
+typedef struct _XImage {
+ int width, height; /* size of image */
+ int xoffset; /* number of pixels offset in X direction */
+ int format; /* XYBitmap, XYPixmap, ZPixmap */
+ char *data; /* pointer to image data */
+ int byte_order; /* data byte order, LSBFirst, MSBFirst */
+ int bitmap_unit; /* quant. of scanline 8, 16, 32 */
+ int bitmap_bit_order; /* LSBFirst, MSBFirst */
+ int bitmap_pad; /* 8, 16, 32 either XY or ZPixmap */
+ int depth; /* depth of image */
+ int bytes_per_line; /* accelarator to next line */
+ int bits_per_pixel; /* bits per pixel (ZPixmap) */
+ unsigned long red_mask; /* bits in z arrangment */
+ unsigned long green_mask;
+ unsigned long blue_mask;
+ XPointer obdata; /* hook for the object routines to hang on */
+ struct funcs { /* image manipulation routines */
+ struct _XImage *(*create_image)(
+ struct _XDisplay* /* display */,
+ Visual* /* visual */,
+ unsigned int /* depth */,
+ int /* format */,
+ int /* offset */,
+ char* /* data */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* bitmap_pad */,
+ int /* bytes_per_line */);
+ int (*destroy_image) (struct _XImage *);
+ unsigned long (*get_pixel) (struct _XImage *, int, int);
+ int (*put_pixel) (struct _XImage *, int, int, unsigned long);
+ struct _XImage *(*sub_image)(struct _XImage *, int, int, unsigned int, unsigned int);
+ int (*add_pixel) (struct _XImage *, long);
+ } f;
+} XImage;
+
+/*
+ * Data structure for XReconfigureWindow
+ */
+typedef struct {
+ int x, y;
+ int width, height;
+ int border_width;
+ Window sibling;
+ int stack_mode;
+} XWindowChanges;
+
+/*
+ * Data structure used by color operations
+ */
+typedef struct {
+ unsigned long pixel;
+ unsigned short red, green, blue;
+ char flags; /* do_red, do_green, do_blue */
+ char pad;
+} XColor;
+
+/*
+ * Data structures for graphics operations. On most machines, these are
+ * congruent with the wire protocol structures, so reformatting the data
+ * can be avoided on these architectures.
+ */
+typedef struct {
+ short x1, y1, x2, y2;
+} XSegment;
+
+typedef struct {
+ short x, y;
+} XPoint;
+
+typedef struct {
+ short x, y;
+ unsigned short width, height;
+} XRectangle;
+
+typedef struct {
+ short x, y;
+ unsigned short width, height;
+ short angle1, angle2;
+} XArc;
+
+
+/* Data structure for XChangeKeyboardControl */
+
+typedef struct {
+ int key_click_percent;
+ int bell_percent;
+ int bell_pitch;
+ int bell_duration;
+ int led;
+ int led_mode;
+ int key;
+ int auto_repeat_mode; /* On, Off, Default */
+} XKeyboardControl;
+
+/* Data structure for XGetKeyboardControl */
+
+typedef struct {
+ int key_click_percent;
+ int bell_percent;
+ unsigned int bell_pitch, bell_duration;
+ unsigned long led_mask;
+ int global_auto_repeat;
+ char auto_repeats[32];
+} XKeyboardState;
+
+/* Data structure for XGetMotionEvents. */
+
+typedef struct {
+ Time time;
+ short x, y;
+} XTimeCoord;
+
+/* Data structure for X{Set,Get}ModifierMapping */
+
+typedef struct {
+ int max_keypermod; /* The server's max # of keys per modifier */
+ KeyCode *modifiermap; /* An 8 by max_keypermod array of modifiers */
+} XModifierKeymap;
+
+
+/*
+ * Display datatype maintaining display specific data.
+ * The contents of this structure are implementation dependent.
+ * A Display should be treated as opaque by application code.
+ */
+#ifndef XLIB_ILLEGAL_ACCESS
+typedef struct _XDisplay Display;
+#endif
+
+struct _XPrivate; /* Forward declare before use for C++ */
+struct _XrmHashBucketRec;
+
+typedef struct
+#ifdef XLIB_ILLEGAL_ACCESS
+_XDisplay
+#endif
+{
+ XExtData *ext_data; /* hook for extension to hang data */
+ struct _XPrivate *private1;
+ int fd; /* Network socket. */
+ int private2;
+ int proto_major_version;/* major version of server's X protocol */
+ int proto_minor_version;/* minor version of servers X protocol */
+ char *vendor; /* vendor of the server hardware */
+ XID private3;
+ XID private4;
+ XID private5;
+ int private6;
+ XID (*resource_alloc)( /* allocator function */
+ struct _XDisplay*
+ );
+ int byte_order; /* screen byte order, LSBFirst, MSBFirst */
+ int bitmap_unit; /* padding and data requirements */
+ int bitmap_pad; /* padding requirements on bitmaps */
+ int bitmap_bit_order; /* LeastSignificant or MostSignificant */
+ int nformats; /* number of pixmap formats in list */
+ ScreenFormat *pixmap_format; /* pixmap format list */
+ int private8;
+ int release; /* release of the server */
+ struct _XPrivate *private9, *private10;
+ int qlen; /* Length of input event queue */
+ unsigned long last_request_read; /* seq number of last event read */
+ unsigned long request; /* sequence number of last request. */
+ XPointer private11;
+ XPointer private12;
+ XPointer private13;
+ XPointer private14;
+ unsigned max_request_size; /* maximum number 32 bit words in request*/
+ struct _XrmHashBucketRec *db;
+ int (*private15)(
+ struct _XDisplay*
+ );
+ char *display_name; /* "host:display" string used on this connect*/
+ int default_screen; /* default screen for operations */
+ int nscreens; /* number of screens on this server*/
+ Screen *screens; /* pointer to list of screens */
+ unsigned long motion_buffer; /* size of motion buffer */
+ unsigned long private16;
+ int min_keycode; /* minimum defined keycode */
+ int max_keycode; /* maximum defined keycode */
+ XPointer private17;
+ XPointer private18;
+ int private19;
+ char *xdefaults; /* contents of defaults from server */
+ /* there is more to this structure, but it is private to Xlib */
+}
+#ifdef XLIB_ILLEGAL_ACCESS
+Display,
+#endif
+*_XPrivDisplay;
+
+#undef _XEVENT_
+#ifndef _XEVENT_
+/*
+ * Definitions of specific events.
+ */
+typedef struct {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* "event" window it is reported relative to */
+ Window root; /* root window that the event occurred on */
+ Window subwindow; /* child window */
+ Time time; /* milliseconds */
+ int x, y; /* pointer x, y coordinates in event window */
+ int x_root, y_root; /* coordinates relative to root */
+ unsigned int state; /* key or button mask */
+ unsigned int keycode; /* detail */
+ Bool same_screen; /* same screen flag */
+} XKeyEvent;
+typedef XKeyEvent XKeyPressedEvent;
+typedef XKeyEvent XKeyReleasedEvent;
+
+typedef struct {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* "event" window it is reported relative to */
+ Window root; /* root window that the event occurred on */
+ Window subwindow; /* child window */
+ Time time; /* milliseconds */
+ int x, y; /* pointer x, y coordinates in event window */
+ int x_root, y_root; /* coordinates relative to root */
+ unsigned int state; /* key or button mask */
+ unsigned int button; /* detail */
+ Bool same_screen; /* same screen flag */
+} XButtonEvent;
+typedef XButtonEvent XButtonPressedEvent;
+typedef XButtonEvent XButtonReleasedEvent;
+
+typedef struct {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* "event" window reported relative to */
+ Window root; /* root window that the event occurred on */
+ Window subwindow; /* child window */
+ Time time; /* milliseconds */
+ int x, y; /* pointer x, y coordinates in event window */
+ int x_root, y_root; /* coordinates relative to root */
+ unsigned int state; /* key or button mask */
+ char is_hint; /* detail */
+ Bool same_screen; /* same screen flag */
+} XMotionEvent;
+typedef XMotionEvent XPointerMovedEvent;
+
+typedef struct {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* "event" window reported relative to */
+ Window root; /* root window that the event occurred on */
+ Window subwindow; /* child window */
+ Time time; /* milliseconds */
+ int x, y; /* pointer x, y coordinates in event window */
+ int x_root, y_root; /* coordinates relative to root */
+ int mode; /* NotifyNormal, NotifyGrab, NotifyUngrab */
+ int detail;
+ /*
+ * NotifyAncestor, NotifyVirtual, NotifyInferior,
+ * NotifyNonlinear,NotifyNonlinearVirtual
+ */
+ Bool same_screen; /* same screen flag */
+ Bool focus; /* boolean focus */
+ unsigned int state; /* key or button mask */
+} XCrossingEvent;
+typedef XCrossingEvent XEnterWindowEvent;
+typedef XCrossingEvent XLeaveWindowEvent;
+
+typedef struct {
+ int type; /* FocusIn or FocusOut */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* window of event */
+ int mode; /* NotifyNormal, NotifyWhileGrabbed,
+ NotifyGrab, NotifyUngrab */
+ int detail;
+ /*
+ * NotifyAncestor, NotifyVirtual, NotifyInferior,
+ * NotifyNonlinear,NotifyNonlinearVirtual, NotifyPointer,
+ * NotifyPointerRoot, NotifyDetailNone
+ */
+} XFocusChangeEvent;
+typedef XFocusChangeEvent XFocusInEvent;
+typedef XFocusChangeEvent XFocusOutEvent;
+
+/* generated on EnterWindow and FocusIn when KeyMapState selected */
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ char key_vector[32];
+} XKeymapEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ int x, y;
+ int width, height;
+ int count; /* if non-zero, at least this many more */
+} XExposeEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Drawable drawable;
+ int x, y;
+ int width, height;
+ int count; /* if non-zero, at least this many more */
+ int major_code; /* core is CopyArea or CopyPlane */
+ int minor_code; /* not defined in the core */
+} XGraphicsExposeEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Drawable drawable;
+ int major_code; /* core is CopyArea or CopyPlane */
+ int minor_code; /* not defined in the core */
+} XNoExposeEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ int state; /* Visibility state */
+} XVisibilityEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window parent; /* parent of the window */
+ Window window; /* window id of window created */
+ int x, y; /* window location */
+ int width, height; /* size of window */
+ int border_width; /* border width */
+ Bool override_redirect; /* creation should be overridden */
+} XCreateWindowEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+} XDestroyWindowEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+ Bool from_configure;
+} XUnmapEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+ Bool override_redirect; /* boolean, is override set... */
+} XMapEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window parent;
+ Window window;
+} XMapRequestEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+ Window parent;
+ int x, y;
+ Bool override_redirect;
+} XReparentEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+ int x, y;
+ int width, height;
+ int border_width;
+ Window above;
+ Bool override_redirect;
+} XConfigureEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+ int x, y;
+} XGravityEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ int width, height;
+} XResizeRequestEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window parent;
+ Window window;
+ int x, y;
+ int width, height;
+ int border_width;
+ Window above;
+ int detail; /* Above, Below, TopIf, BottomIf, Opposite */
+ unsigned long value_mask;
+} XConfigureRequestEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+ int place; /* PlaceOnTop, PlaceOnBottom */
+} XCirculateEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window parent;
+ Window window;
+ int place; /* PlaceOnTop, PlaceOnBottom */
+} XCirculateRequestEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ Atom atom;
+ Time time;
+ int state; /* NewValue, Deleted */
+} XPropertyEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ Atom selection;
+ Time time;
+} XSelectionClearEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window owner;
+ Window requestor;
+ Atom selection;
+ Atom target;
+ Atom property;
+ Time time;
+} XSelectionRequestEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window requestor;
+ Atom selection;
+ Atom target;
+ Atom property; /* ATOM or None */
+ Time time;
+} XSelectionEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ Colormap colormap; /* COLORMAP or None */
+#if defined(__cplusplus) || defined(c_plusplus)
+ Bool c_new; /* C++ */
+#else
+ Bool new;
+#endif
+ int state; /* ColormapInstalled, ColormapUninstalled */
+} XColormapEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ Atom message_type;
+ int format;
+ union {
+ char b[20];
+ short s[10];
+ long l[5];
+ } data;
+} XClientMessageEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* unused */
+ int request; /* one of MappingModifier, MappingKeyboard,
+ MappingPointer */
+ int first_keycode; /* first keycode */
+ int count; /* defines range of change w. first_keycode*/
+} XMappingEvent;
+
+typedef struct {
+ int type;
+ Display *display; /* Display the event was read from */
+ XID resourceid; /* resource id */
+ unsigned long serial; /* serial number of failed request */
+ unsigned char error_code; /* error code of failed request */
+ unsigned char request_code; /* Major op-code of failed request */
+ unsigned char minor_code; /* Minor op-code of failed request */
+} XErrorEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display;/* Display the event was read from */
+ Window window; /* window on which event was requested in event mask */
+} XAnyEvent;
+
+
+/***************************************************************
+ *
+ * GenericEvent. This event is the standard event for all newer extensions.
+ */
+
+typedef struct
+ {
+ int type; /* of event. Always GenericEvent */
+ unsigned long serial; /* # of last request processed */
+ Bool send_event; /* true if from SendEvent request */
+ Display *display; /* Display the event was read from */
+ int extension; /* major opcode of extension that caused the event */
+ int evtype; /* actual event type. */
+ } XGenericEvent;
+
+typedef struct {
+ int type; /* of event. Always GenericEvent */
+ unsigned long serial; /* # of last request processed */
+ Bool send_event; /* true if from SendEvent request */
+ Display *display; /* Display the event was read from */
+ int extension; /* major opcode of extension that caused the event */
+ int evtype; /* actual event type. */
+ unsigned int cookie;
+ void *data;
+} XGenericEventCookie;
+
+/*
+ * this union is defined so Xlib can always use the same sized
+ * event structure internally, to avoid memory fragmentation.
+ */
+typedef union _XEvent {
+ int type; /* must not be changed; first element */
+ XAnyEvent xany;
+ XKeyEvent xkey;
+ XButtonEvent xbutton;
+ XMotionEvent xmotion;
+ XCrossingEvent xcrossing;
+ XFocusChangeEvent xfocus;
+ XExposeEvent xexpose;
+ XGraphicsExposeEvent xgraphicsexpose;
+ XNoExposeEvent xnoexpose;
+ XVisibilityEvent xvisibility;
+ XCreateWindowEvent xcreatewindow;
+ XDestroyWindowEvent xdestroywindow;
+ XUnmapEvent xunmap;
+ XMapEvent xmap;
+ XMapRequestEvent xmaprequest;
+ XReparentEvent xreparent;
+ XConfigureEvent xconfigure;
+ XGravityEvent xgravity;
+ XResizeRequestEvent xresizerequest;
+ XConfigureRequestEvent xconfigurerequest;
+ XCirculateEvent xcirculate;
+ XCirculateRequestEvent xcirculaterequest;
+ XPropertyEvent xproperty;
+ XSelectionClearEvent xselectionclear;
+ XSelectionRequestEvent xselectionrequest;
+ XSelectionEvent xselection;
+ XColormapEvent xcolormap;
+ XClientMessageEvent xclient;
+ XMappingEvent xmapping;
+ XErrorEvent xerror;
+ XKeymapEvent xkeymap;
+ XGenericEvent xgeneric;
+ XGenericEventCookie xcookie;
+ long pad[24];
+} XEvent;
+#endif
+
+#define XAllocID(dpy) ((*((_XPrivDisplay)dpy)->resource_alloc)((dpy)))
+
+/*
+ * per character font metric information.
+ */
+typedef struct {
+ short lbearing; /* origin to left edge of raster */
+ short rbearing; /* origin to right edge of raster */
+ short width; /* advance to next char's origin */
+ short ascent; /* baseline to top edge of raster */
+ short descent; /* baseline to bottom edge of raster */
+ unsigned short attributes; /* per char flags (not predefined) */
+} XCharStruct;
+
+/*
+ * To allow arbitrary information with fonts, there are additional properties
+ * returned.
+ */
+typedef struct {
+ Atom name;
+ unsigned long card32;
+} XFontProp;
+
+typedef struct {
+ XExtData *ext_data; /* hook for extension to hang data */
+ Font fid; /* Font id for this font */
+ unsigned direction; /* hint about direction the font is painted */
+ unsigned min_char_or_byte2;/* first character */
+ unsigned max_char_or_byte2;/* last character */
+ unsigned min_byte1; /* first row that exists */
+ unsigned max_byte1; /* last row that exists */
+ Bool all_chars_exist;/* flag if all characters have non-zero size*/
+ unsigned default_char; /* char to print for undefined character */
+ int n_properties; /* how many properties there are */
+ XFontProp *properties; /* pointer to array of additional properties*/
+ XCharStruct min_bounds; /* minimum bounds over all existing char*/
+ XCharStruct max_bounds; /* maximum bounds over all existing char*/
+ XCharStruct *per_char; /* first_char to last_char information */
+ int ascent; /* log. extent above baseline for spacing */
+ int descent; /* log. descent below baseline for spacing */
+} XFontStruct;
+
+/*
+ * PolyText routines take these as arguments.
+ */
+typedef struct {
+ char *chars; /* pointer to string */
+ int nchars; /* number of characters */
+ int delta; /* delta between strings */
+ Font font; /* font to print it in, None don't change */
+} XTextItem;
+
+typedef struct { /* normal 16 bit characters are two bytes */
+ unsigned char byte1;
+ unsigned char byte2;
+} XChar2b;
+
+typedef struct {
+ XChar2b *chars; /* two byte characters */
+ int nchars; /* number of characters */
+ int delta; /* delta between strings */
+ Font font; /* font to print it in, None don't change */
+} XTextItem16;
+
+
+typedef union { Display *display;
+ GC gc;
+ Visual *visual;
+ Screen *screen;
+ ScreenFormat *pixmap_format;
+ XFontStruct *font; } XEDataObject;
+
+typedef struct {
+ XRectangle max_ink_extent;
+ XRectangle max_logical_extent;
+} XFontSetExtents;
+
+/* unused:
+typedef void (*XOMProc)();
+ */
+
+typedef struct _XOM *XOM;
+typedef struct _XOC *XOC, *XFontSet;
+
+typedef struct {
+ char *chars;
+ int nchars;
+ int delta;
+ XFontSet font_set;
+} XmbTextItem;
+
+typedef struct {
+ wchar_t *chars;
+ int nchars;
+ int delta;
+ XFontSet font_set;
+} XwcTextItem;
+
+#define XNRequiredCharSet "requiredCharSet"
+#define XNQueryOrientation "queryOrientation"
+#define XNBaseFontName "baseFontName"
+#define XNOMAutomatic "omAutomatic"
+#define XNMissingCharSet "missingCharSet"
+#define XNDefaultString "defaultString"
+#define XNOrientation "orientation"
+#define XNDirectionalDependentDrawing "directionalDependentDrawing"
+#define XNContextualDrawing "contextualDrawing"
+#define XNFontInfo "fontInfo"
+
+typedef struct {
+ int charset_count;
+ char **charset_list;
+} XOMCharSetList;
+
+typedef enum {
+ XOMOrientation_LTR_TTB,
+ XOMOrientation_RTL_TTB,
+ XOMOrientation_TTB_LTR,
+ XOMOrientation_TTB_RTL,
+ XOMOrientation_Context
+} XOrientation;
+
+typedef struct {
+ int num_orientation;
+ XOrientation *orientation; /* Input Text description */
+} XOMOrientation;
+
+typedef struct {
+ int num_font;
+ XFontStruct **font_struct_list;
+ char **font_name_list;
+} XOMFontInfo;
+
+typedef struct _XIM *XIM;
+typedef struct _XIC *XIC;
+
+typedef void (*XIMProc)(
+ XIM,
+ XPointer,
+ XPointer
+);
+
+typedef Bool (*XICProc)(
+ XIC,
+ XPointer,
+ XPointer
+);
+
+typedef void (*XIDProc)(
+ Display*,
+ XPointer,
+ XPointer
+);
+
+typedef unsigned long XIMStyle;
+
+typedef struct {
+ unsigned short count_styles;
+ XIMStyle *supported_styles;
+} XIMStyles;
+
+#define XIMPreeditArea 0x0001L
+#define XIMPreeditCallbacks 0x0002L
+#define XIMPreeditPosition 0x0004L
+#define XIMPreeditNothing 0x0008L
+#define XIMPreeditNone 0x0010L
+#define XIMStatusArea 0x0100L
+#define XIMStatusCallbacks 0x0200L
+#define XIMStatusNothing 0x0400L
+#define XIMStatusNone 0x0800L
+
+#define XNVaNestedList "XNVaNestedList"
+#define XNQueryInputStyle "queryInputStyle"
+#define XNClientWindow "clientWindow"
+#define XNInputStyle "inputStyle"
+#define XNFocusWindow "focusWindow"
+#define XNResourceName "resourceName"
+#define XNResourceClass "resourceClass"
+#define XNGeometryCallback "geometryCallback"
+#define XNDestroyCallback "destroyCallback"
+#define XNFilterEvents "filterEvents"
+#define XNPreeditStartCallback "preeditStartCallback"
+#define XNPreeditDoneCallback "preeditDoneCallback"
+#define XNPreeditDrawCallback "preeditDrawCallback"
+#define XNPreeditCaretCallback "preeditCaretCallback"
+#define XNPreeditStateNotifyCallback "preeditStateNotifyCallback"
+#define XNPreeditAttributes "preeditAttributes"
+#define XNStatusStartCallback "statusStartCallback"
+#define XNStatusDoneCallback "statusDoneCallback"
+#define XNStatusDrawCallback "statusDrawCallback"
+#define XNStatusAttributes "statusAttributes"
+#define XNArea "area"
+#define XNAreaNeeded "areaNeeded"
+#define XNSpotLocation "spotLocation"
+#define XNColormap "colorMap"
+#define XNStdColormap "stdColorMap"
+#define XNForeground "foreground"
+#define XNBackground "background"
+#define XNBackgroundPixmap "backgroundPixmap"
+#define XNFontSet "fontSet"
+#define XNLineSpace "lineSpace"
+#define XNCursor "cursor"
+
+#define XNQueryIMValuesList "queryIMValuesList"
+#define XNQueryICValuesList "queryICValuesList"
+#define XNVisiblePosition "visiblePosition"
+#define XNR6PreeditCallback "r6PreeditCallback"
+#define XNStringConversionCallback "stringConversionCallback"
+#define XNStringConversion "stringConversion"
+#define XNResetState "resetState"
+#define XNHotKey "hotKey"
+#define XNHotKeyState "hotKeyState"
+#define XNPreeditState "preeditState"
+#define XNSeparatorofNestedList "separatorofNestedList"
+
+#define XBufferOverflow -1
+#define XLookupNone 1
+#define XLookupChars 2
+#define XLookupKeySym 3
+#define XLookupBoth 4
+
+typedef void *XVaNestedList;
+
+typedef struct {
+ XPointer client_data;
+ XIMProc callback;
+} XIMCallback;
+
+typedef struct {
+ XPointer client_data;
+ XICProc callback;
+} XICCallback;
+
+typedef unsigned long XIMFeedback;
+
+#define XIMReverse 1L
+#define XIMUnderline (1L<<1)
+#define XIMHighlight (1L<<2)
+#define XIMPrimary (1L<<5)
+#define XIMSecondary (1L<<6)
+#define XIMTertiary (1L<<7)
+#define XIMVisibleToForward (1L<<8)
+#define XIMVisibleToBackword (1L<<9)
+#define XIMVisibleToCenter (1L<<10)
+
+typedef struct _XIMText {
+ unsigned short length;
+ XIMFeedback *feedback;
+ Bool encoding_is_wchar;
+ union {
+ char *multi_byte;
+ wchar_t *wide_char;
+ } string;
+} XIMText;
+
+typedef unsigned long XIMPreeditState;
+
+#define XIMPreeditUnKnown 0L
+#define XIMPreeditEnable 1L
+#define XIMPreeditDisable (1L<<1)
+
+typedef struct _XIMPreeditStateNotifyCallbackStruct {
+ XIMPreeditState state;
+} XIMPreeditStateNotifyCallbackStruct;
+
+typedef unsigned long XIMResetState;
+
+#define XIMInitialState 1L
+#define XIMPreserveState (1L<<1)
+
+typedef unsigned long XIMStringConversionFeedback;
+
+#define XIMStringConversionLeftEdge (0x00000001)
+#define XIMStringConversionRightEdge (0x00000002)
+#define XIMStringConversionTopEdge (0x00000004)
+#define XIMStringConversionBottomEdge (0x00000008)
+#define XIMStringConversionConcealed (0x00000010)
+#define XIMStringConversionWrapped (0x00000020)
+
+typedef struct _XIMStringConversionText {
+ unsigned short length;
+ XIMStringConversionFeedback *feedback;
+ Bool encoding_is_wchar;
+ union {
+ char *mbs;
+ wchar_t *wcs;
+ } string;
+} XIMStringConversionText;
+
+typedef unsigned short XIMStringConversionPosition;
+
+typedef unsigned short XIMStringConversionType;
+
+#define XIMStringConversionBuffer (0x0001)
+#define XIMStringConversionLine (0x0002)
+#define XIMStringConversionWord (0x0003)
+#define XIMStringConversionChar (0x0004)
+
+typedef unsigned short XIMStringConversionOperation;
+
+#define XIMStringConversionSubstitution (0x0001)
+#define XIMStringConversionRetrieval (0x0002)
+
+typedef enum {
+ XIMForwardChar, XIMBackwardChar,
+ XIMForwardWord, XIMBackwardWord,
+ XIMCaretUp, XIMCaretDown,
+ XIMNextLine, XIMPreviousLine,
+ XIMLineStart, XIMLineEnd,
+ XIMAbsolutePosition,
+ XIMDontChange
+} XIMCaretDirection;
+
+typedef struct _XIMStringConversionCallbackStruct {
+ XIMStringConversionPosition position;
+ XIMCaretDirection direction;
+ XIMStringConversionOperation operation;
+ unsigned short factor;
+ XIMStringConversionText *text;
+} XIMStringConversionCallbackStruct;
+
+typedef struct _XIMPreeditDrawCallbackStruct {
+ int caret; /* Cursor offset within pre-edit string */
+ int chg_first; /* Starting change position */
+ int chg_length; /* Length of the change in character count */
+ XIMText *text;
+} XIMPreeditDrawCallbackStruct;
+
+typedef enum {
+ XIMIsInvisible, /* Disable caret feedback */
+ XIMIsPrimary, /* UI defined caret feedback */
+ XIMIsSecondary /* UI defined caret feedback */
+} XIMCaretStyle;
+
+typedef struct _XIMPreeditCaretCallbackStruct {
+ int position; /* Caret offset within pre-edit string */
+ XIMCaretDirection direction; /* Caret moves direction */
+ XIMCaretStyle style; /* Feedback of the caret */
+} XIMPreeditCaretCallbackStruct;
+
+typedef enum {
+ XIMTextType,
+ XIMBitmapType
+} XIMStatusDataType;
+
+typedef struct _XIMStatusDrawCallbackStruct {
+ XIMStatusDataType type;
+ union {
+ XIMText *text;
+ Pixmap bitmap;
+ } data;
+} XIMStatusDrawCallbackStruct;
+
+typedef struct _XIMHotKeyTrigger {
+ KeySym keysym;
+ int modifier;
+ int modifier_mask;
+} XIMHotKeyTrigger;
+
+typedef struct _XIMHotKeyTriggers {
+ int num_hot_key;
+ XIMHotKeyTrigger *key;
+} XIMHotKeyTriggers;
+
+typedef unsigned long XIMHotKeyState;
+
+#define XIMHotKeyStateON (0x0001L)
+#define XIMHotKeyStateOFF (0x0002L)
+
+typedef struct {
+ unsigned short count_values;
+ char **supported_values;
+} XIMValuesList;
+
+_XFUNCPROTOBEGIN
+
+#if defined(WIN32) && !defined(_XLIBINT_)
+#define _Xdebug (*_Xdebug_p)
+#endif
+
+extern int _Xdebug;
+
+extern XFontStruct *XLoadQueryFont(
+ Display* /* display */,
+ _Xconst char* /* name */
+);
+
+extern XFontStruct *XQueryFont(
+ Display* /* display */,
+ XID /* font_ID */
+);
+
+
+extern XTimeCoord *XGetMotionEvents(
+ Display* /* display */,
+ Window /* w */,
+ Time /* start */,
+ Time /* stop */,
+ int* /* nevents_return */
+);
+
+extern XModifierKeymap *XDeleteModifiermapEntry(
+ XModifierKeymap* /* modmap */,
+#if NeedWidePrototypes
+ unsigned int /* keycode_entry */,
+#else
+ KeyCode /* keycode_entry */,
+#endif
+ int /* modifier */
+);
+
+extern XModifierKeymap *XGetModifierMapping(
+ Display* /* display */
+);
+
+extern XModifierKeymap *XInsertModifiermapEntry(
+ XModifierKeymap* /* modmap */,
+#if NeedWidePrototypes
+ unsigned int /* keycode_entry */,
+#else
+ KeyCode /* keycode_entry */,
+#endif
+ int /* modifier */
+);
+
+extern XModifierKeymap *XNewModifiermap(
+ int /* max_keys_per_mod */
+);
+
+extern XImage *XCreateImage(
+ Display* /* display */,
+ Visual* /* visual */,
+ unsigned int /* depth */,
+ int /* format */,
+ int /* offset */,
+ char* /* data */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* bitmap_pad */,
+ int /* bytes_per_line */
+);
+extern Status XInitImage(
+ XImage* /* image */
+);
+extern XImage *XGetImage(
+ Display* /* display */,
+ Drawable /* d */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned long /* plane_mask */,
+ int /* format */
+);
+extern XImage *XGetSubImage(
+ Display* /* display */,
+ Drawable /* d */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned long /* plane_mask */,
+ int /* format */,
+ XImage* /* dest_image */,
+ int /* dest_x */,
+ int /* dest_y */
+);
+
+/*
+ * X function declarations.
+ */
+extern Display *XOpenDisplay(
+ _Xconst char* /* display_name */
+);
+
+extern void XrmInitialize(
+ void
+);
+
+extern char *XFetchBytes(
+ Display* /* display */,
+ int* /* nbytes_return */
+);
+extern char *XFetchBuffer(
+ Display* /* display */,
+ int* /* nbytes_return */,
+ int /* buffer */
+);
+extern char *XGetAtomName(
+ Display* /* display */,
+ Atom /* atom */
+);
+extern Status XGetAtomNames(
+ Display* /* dpy */,
+ Atom* /* atoms */,
+ int /* count */,
+ char** /* names_return */
+);
+extern char *XGetDefault(
+ Display* /* display */,
+ _Xconst char* /* program */,
+ _Xconst char* /* option */
+);
+extern char *XDisplayName(
+ _Xconst char* /* string */
+);
+extern char *XKeysymToString(
+ KeySym /* keysym */
+);
+
+extern int (*XSynchronize(
+ Display* /* display */,
+ Bool /* onoff */
+))(
+ Display* /* display */
+);
+extern int (*XSetAfterFunction(
+ Display* /* display */,
+ int (*) (
+ Display* /* display */
+ ) /* procedure */
+))(
+ Display* /* display */
+);
+extern Atom XInternAtom(
+ Display* /* display */,
+ _Xconst char* /* atom_name */,
+ Bool /* only_if_exists */
+);
+extern Status XInternAtoms(
+ Display* /* dpy */,
+ char** /* names */,
+ int /* count */,
+ Bool /* onlyIfExists */,
+ Atom* /* atoms_return */
+);
+extern Colormap XCopyColormapAndFree(
+ Display* /* display */,
+ Colormap /* colormap */
+);
+extern Colormap XCreateColormap(
+ Display* /* display */,
+ Window /* w */,
+ Visual* /* visual */,
+ int /* alloc */
+);
+extern Cursor XCreatePixmapCursor(
+ Display* /* display */,
+ Pixmap /* source */,
+ Pixmap /* mask */,
+ XColor* /* foreground_color */,
+ XColor* /* background_color */,
+ unsigned int /* x */,
+ unsigned int /* y */
+);
+extern Cursor XCreateGlyphCursor(
+ Display* /* display */,
+ Font /* source_font */,
+ Font /* mask_font */,
+ unsigned int /* source_char */,
+ unsigned int /* mask_char */,
+ XColor _Xconst * /* foreground_color */,
+ XColor _Xconst * /* background_color */
+);
+extern Cursor XCreateFontCursor(
+ Display* /* display */,
+ unsigned int /* shape */
+);
+extern Font XLoadFont(
+ Display* /* display */,
+ _Xconst char* /* name */
+);
+extern GC XCreateGC(
+ Display* /* display */,
+ Drawable /* d */,
+ unsigned long /* valuemask */,
+ XGCValues* /* values */
+);
+extern GContext XGContextFromGC(
+ GC /* gc */
+);
+extern void XFlushGC(
+ Display* /* display */,
+ GC /* gc */
+);
+extern Pixmap XCreatePixmap(
+ Display* /* display */,
+ Drawable /* d */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int /* depth */
+);
+extern Pixmap XCreateBitmapFromData(
+ Display* /* display */,
+ Drawable /* d */,
+ _Xconst char* /* data */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+extern Pixmap XCreatePixmapFromBitmapData(
+ Display* /* display */,
+ Drawable /* d */,
+ char* /* data */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned long /* fg */,
+ unsigned long /* bg */,
+ unsigned int /* depth */
+);
+extern Window XCreateSimpleWindow(
+ Display* /* display */,
+ Window /* parent */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int /* border_width */,
+ unsigned long /* border */,
+ unsigned long /* background */
+);
+extern Window XGetSelectionOwner(
+ Display* /* display */,
+ Atom /* selection */
+);
+extern Window XCreateWindow(
+ Display* /* display */,
+ Window /* parent */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int /* border_width */,
+ int /* depth */,
+ unsigned int /* class */,
+ Visual* /* visual */,
+ unsigned long /* valuemask */,
+ XSetWindowAttributes* /* attributes */
+);
+extern Colormap *XListInstalledColormaps(
+ Display* /* display */,
+ Window /* w */,
+ int* /* num_return */
+);
+extern char **XListFonts(
+ Display* /* display */,
+ _Xconst char* /* pattern */,
+ int /* maxnames */,
+ int* /* actual_count_return */
+);
+extern char **XListFontsWithInfo(
+ Display* /* display */,
+ _Xconst char* /* pattern */,
+ int /* maxnames */,
+ int* /* count_return */,
+ XFontStruct** /* info_return */
+);
+extern char **XGetFontPath(
+ Display* /* display */,
+ int* /* npaths_return */
+);
+extern char **XListExtensions(
+ Display* /* display */,
+ int* /* nextensions_return */
+);
+extern Atom *XListProperties(
+ Display* /* display */,
+ Window /* w */,
+ int* /* num_prop_return */
+);
+extern XHostAddress *XListHosts(
+ Display* /* display */,
+ int* /* nhosts_return */,
+ Bool* /* state_return */
+);
+extern KeySym XKeycodeToKeysym(
+ Display* /* display */,
+#if NeedWidePrototypes
+ unsigned int /* keycode */,
+#else
+ KeyCode /* keycode */,
+#endif
+ int /* index */
+);
+extern KeySym XLookupKeysym(
+ XKeyEvent* /* key_event */,
+ int /* index */
+);
+extern KeySym *XGetKeyboardMapping(
+ Display* /* display */,
+#if NeedWidePrototypes
+ unsigned int /* first_keycode */,
+#else
+ KeyCode /* first_keycode */,
+#endif
+ int /* keycode_count */,
+ int* /* keysyms_per_keycode_return */
+);
+extern KeySym XStringToKeysym(
+ _Xconst char* /* string */
+);
+extern long XMaxRequestSize(
+ Display* /* display */
+);
+extern long XExtendedMaxRequestSize(
+ Display* /* display */
+);
+extern char *XResourceManagerString(
+ Display* /* display */
+);
+extern char *XScreenResourceString(
+ Screen* /* screen */
+);
+extern unsigned long XDisplayMotionBufferSize(
+ Display* /* display */
+);
+extern VisualID XVisualIDFromVisual(
+ Visual* /* visual */
+);
+
+/* multithread routines */
+
+extern Status XInitThreads(
+ void
+);
+
+extern void XLockDisplay(
+ Display* /* display */
+);
+
+extern void XUnlockDisplay(
+ Display* /* display */
+);
+
+/* routines for dealing with extensions */
+
+extern XExtCodes *XInitExtension(
+ Display* /* display */,
+ _Xconst char* /* name */
+);
+
+extern XExtCodes *XAddExtension(
+ Display* /* display */
+);
+extern XExtData *XFindOnExtensionList(
+ XExtData** /* structure */,
+ int /* number */
+);
+extern XExtData **XEHeadOfExtensionList(
+ XEDataObject /* object */
+);
+
+/* these are routines for which there are also macros */
+extern Window XRootWindow(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern Window XDefaultRootWindow(
+ Display* /* display */
+);
+extern Window XRootWindowOfScreen(
+ Screen* /* screen */
+);
+extern Visual *XDefaultVisual(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern Visual *XDefaultVisualOfScreen(
+ Screen* /* screen */
+);
+extern GC XDefaultGC(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern GC XDefaultGCOfScreen(
+ Screen* /* screen */
+);
+extern unsigned long XBlackPixel(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern unsigned long XWhitePixel(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern unsigned long XAllPlanes(
+ void
+);
+extern unsigned long XBlackPixelOfScreen(
+ Screen* /* screen */
+);
+extern unsigned long XWhitePixelOfScreen(
+ Screen* /* screen */
+);
+extern unsigned long XNextRequest(
+ Display* /* display */
+);
+extern unsigned long XLastKnownRequestProcessed(
+ Display* /* display */
+);
+extern char *XServerVendor(
+ Display* /* display */
+);
+extern char *XDisplayString(
+ Display* /* display */
+);
+extern Colormap XDefaultColormap(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern Colormap XDefaultColormapOfScreen(
+ Screen* /* screen */
+);
+extern Display *XDisplayOfScreen(
+ Screen* /* screen */
+);
+extern Screen *XScreenOfDisplay(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern Screen *XDefaultScreenOfDisplay(
+ Display* /* display */
+);
+extern long XEventMaskOfScreen(
+ Screen* /* screen */
+);
+
+extern int XScreenNumberOfScreen(
+ Screen* /* screen */
+);
+
+typedef int (*XErrorHandler) ( /* WARNING, this type not in Xlib spec */
+ Display* /* display */,
+ XErrorEvent* /* error_event */
+);
+
+extern XErrorHandler XSetErrorHandler (
+ XErrorHandler /* handler */
+);
+
+
+typedef int (*XIOErrorHandler) ( /* WARNING, this type not in Xlib spec */
+ Display* /* display */
+);
+
+extern XIOErrorHandler XSetIOErrorHandler (
+ XIOErrorHandler /* handler */
+);
+
+
+extern XPixmapFormatValues *XListPixmapFormats(
+ Display* /* display */,
+ int* /* count_return */
+);
+extern int *XListDepths(
+ Display* /* display */,
+ int /* screen_number */,
+ int* /* count_return */
+);
+
+/* ICCCM routines for things that don't require special include files; */
+/* other declarations are given in Xutil.h */
+extern Status XReconfigureWMWindow(
+ Display* /* display */,
+ Window /* w */,
+ int /* screen_number */,
+ unsigned int /* mask */,
+ XWindowChanges* /* changes */
+);
+
+extern Status XGetWMProtocols(
+ Display* /* display */,
+ Window /* w */,
+ Atom** /* protocols_return */,
+ int* /* count_return */
+);
+extern Status XSetWMProtocols(
+ Display* /* display */,
+ Window /* w */,
+ Atom* /* protocols */,
+ int /* count */
+);
+extern Status XIconifyWindow(
+ Display* /* display */,
+ Window /* w */,
+ int /* screen_number */
+);
+extern Status XWithdrawWindow(
+ Display* /* display */,
+ Window /* w */,
+ int /* screen_number */
+);
+extern Status XGetCommand(
+ Display* /* display */,
+ Window /* w */,
+ char*** /* argv_return */,
+ int* /* argc_return */
+);
+extern Status XGetWMColormapWindows(
+ Display* /* display */,
+ Window /* w */,
+ Window** /* windows_return */,
+ int* /* count_return */
+);
+extern Status XSetWMColormapWindows(
+ Display* /* display */,
+ Window /* w */,
+ Window* /* colormap_windows */,
+ int /* count */
+);
+extern void XFreeStringList(
+ char** /* list */
+);
+extern int XSetTransientForHint(
+ Display* /* display */,
+ Window /* w */,
+ Window /* prop_window */
+);
+
+/* The following are given in alphabetical order */
+
+extern int XActivateScreenSaver(
+ Display* /* display */
+);
+
+extern int XAddHost(
+ Display* /* display */,
+ XHostAddress* /* host */
+);
+
+extern int XAddHosts(
+ Display* /* display */,
+ XHostAddress* /* hosts */,
+ int /* num_hosts */
+);
+
+extern int XAddToExtensionList(
+ struct _XExtData** /* structure */,
+ XExtData* /* ext_data */
+);
+
+extern int XAddToSaveSet(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern Status XAllocColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ XColor* /* screen_in_out */
+);
+
+extern Status XAllocColorCells(
+ Display* /* display */,
+ Colormap /* colormap */,
+ Bool /* contig */,
+ unsigned long* /* plane_masks_return */,
+ unsigned int /* nplanes */,
+ unsigned long* /* pixels_return */,
+ unsigned int /* npixels */
+);
+
+extern Status XAllocColorPlanes(
+ Display* /* display */,
+ Colormap /* colormap */,
+ Bool /* contig */,
+ unsigned long* /* pixels_return */,
+ int /* ncolors */,
+ int /* nreds */,
+ int /* ngreens */,
+ int /* nblues */,
+ unsigned long* /* rmask_return */,
+ unsigned long* /* gmask_return */,
+ unsigned long* /* bmask_return */
+);
+
+extern Status XAllocNamedColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ _Xconst char* /* color_name */,
+ XColor* /* screen_def_return */,
+ XColor* /* exact_def_return */
+);
+
+extern int XAllowEvents(
+ Display* /* display */,
+ int /* event_mode */,
+ Time /* time */
+);
+
+extern int XAutoRepeatOff(
+ Display* /* display */
+);
+
+extern int XAutoRepeatOn(
+ Display* /* display */
+);
+
+extern int XBell(
+ Display* /* display */,
+ int /* percent */
+);
+
+extern int XBitmapBitOrder(
+ Display* /* display */
+);
+
+extern int XBitmapPad(
+ Display* /* display */
+);
+
+extern int XBitmapUnit(
+ Display* /* display */
+);
+
+extern int XCellsOfScreen(
+ Screen* /* screen */
+);
+
+extern int XChangeActivePointerGrab(
+ Display* /* display */,
+ unsigned int /* event_mask */,
+ Cursor /* cursor */,
+ Time /* time */
+);
+
+extern int XChangeGC(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned long /* valuemask */,
+ XGCValues* /* values */
+);
+
+extern int XChangeKeyboardControl(
+ Display* /* display */,
+ unsigned long /* value_mask */,
+ XKeyboardControl* /* values */
+);
+
+extern int XChangeKeyboardMapping(
+ Display* /* display */,
+ int /* first_keycode */,
+ int /* keysyms_per_keycode */,
+ KeySym* /* keysyms */,
+ int /* num_codes */
+);
+
+extern int XChangePointerControl(
+ Display* /* display */,
+ Bool /* do_accel */,
+ Bool /* do_threshold */,
+ int /* accel_numerator */,
+ int /* accel_denominator */,
+ int /* threshold */
+);
+
+extern int XChangeProperty(
+ Display* /* display */,
+ Window /* w */,
+ Atom /* property */,
+ Atom /* type */,
+ int /* format */,
+ int /* mode */,
+ _Xconst unsigned char* /* data */,
+ int /* nelements */
+);
+
+extern int XChangeSaveSet(
+ Display* /* display */,
+ Window /* w */,
+ int /* change_mode */
+);
+
+extern int XChangeWindowAttributes(
+ Display* /* display */,
+ Window /* w */,
+ unsigned long /* valuemask */,
+ XSetWindowAttributes* /* attributes */
+);
+
+extern Bool XCheckIfEvent(
+ Display* /* display */,
+ XEvent* /* event_return */,
+ Bool (*) (
+ Display* /* display */,
+ XEvent* /* event */,
+ XPointer /* arg */
+ ) /* predicate */,
+ XPointer /* arg */
+);
+
+extern Bool XCheckMaskEvent(
+ Display* /* display */,
+ long /* event_mask */,
+ XEvent* /* event_return */
+);
+
+extern Bool XCheckTypedEvent(
+ Display* /* display */,
+ int /* event_type */,
+ XEvent* /* event_return */
+);
+
+extern Bool XCheckTypedWindowEvent(
+ Display* /* display */,
+ Window /* w */,
+ int /* event_type */,
+ XEvent* /* event_return */
+);
+
+extern Bool XCheckWindowEvent(
+ Display* /* display */,
+ Window /* w */,
+ long /* event_mask */,
+ XEvent* /* event_return */
+);
+
+extern int XCirculateSubwindows(
+ Display* /* display */,
+ Window /* w */,
+ int /* direction */
+);
+
+extern int XCirculateSubwindowsDown(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XCirculateSubwindowsUp(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XClearArea(
+ Display* /* display */,
+ Window /* w */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ Bool /* exposures */
+);
+
+extern int XClearWindow(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XCloseDisplay(
+ Display* /* display */
+);
+
+extern int XConfigureWindow(
+ Display* /* display */,
+ Window /* w */,
+ unsigned int /* value_mask */,
+ XWindowChanges* /* values */
+);
+
+extern int XConnectionNumber(
+ Display* /* display */
+);
+
+extern int XConvertSelection(
+ Display* /* display */,
+ Atom /* selection */,
+ Atom /* target */,
+ Atom /* property */,
+ Window /* requestor */,
+ Time /* time */
+);
+
+extern int XCopyArea(
+ Display* /* display */,
+ Drawable /* src */,
+ Drawable /* dest */,
+ GC /* gc */,
+ int /* src_x */,
+ int /* src_y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* dest_x */,
+ int /* dest_y */
+);
+
+extern int XCopyGC(
+ Display* /* display */,
+ GC /* src */,
+ unsigned long /* valuemask */,
+ GC /* dest */
+);
+
+extern int XCopyPlane(
+ Display* /* display */,
+ Drawable /* src */,
+ Drawable /* dest */,
+ GC /* gc */,
+ int /* src_x */,
+ int /* src_y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* dest_x */,
+ int /* dest_y */,
+ unsigned long /* plane */
+);
+
+extern int XDefaultDepth(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDefaultDepthOfScreen(
+ Screen* /* screen */
+);
+
+extern int XDefaultScreen(
+ Display* /* display */
+);
+
+extern int XDefineCursor(
+ Display* /* display */,
+ Window /* w */,
+ Cursor /* cursor */
+);
+
+extern int XDeleteProperty(
+ Display* /* display */,
+ Window /* w */,
+ Atom /* property */
+);
+
+extern int XDestroyWindow(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XDestroySubwindows(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XDoesBackingStore(
+ Screen* /* screen */
+);
+
+extern Bool XDoesSaveUnders(
+ Screen* /* screen */
+);
+
+extern int XDisableAccessControl(
+ Display* /* display */
+);
+
+
+extern int XDisplayCells(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDisplayHeight(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDisplayHeightMM(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDisplayKeycodes(
+ Display* /* display */,
+ int* /* min_keycodes_return */,
+ int* /* max_keycodes_return */
+);
+
+extern int XDisplayPlanes(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDisplayWidth(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDisplayWidthMM(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDrawArc(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* angle1 */,
+ int /* angle2 */
+);
+
+extern int XDrawArcs(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XArc* /* arcs */,
+ int /* narcs */
+);
+
+extern int XDrawImageString(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst char* /* string */,
+ int /* length */
+);
+
+extern int XDrawImageString16(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst XChar2b* /* string */,
+ int /* length */
+);
+
+extern int XDrawLine(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x1 */,
+ int /* y1 */,
+ int /* x2 */,
+ int /* y2 */
+);
+
+extern int XDrawLines(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XPoint* /* points */,
+ int /* npoints */,
+ int /* mode */
+);
+
+extern int XDrawPoint(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */
+);
+
+extern int XDrawPoints(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XPoint* /* points */,
+ int /* npoints */,
+ int /* mode */
+);
+
+extern int XDrawRectangle(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+extern int XDrawRectangles(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XRectangle* /* rectangles */,
+ int /* nrectangles */
+);
+
+extern int XDrawSegments(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XSegment* /* segments */,
+ int /* nsegments */
+);
+
+extern int XDrawString(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst char* /* string */,
+ int /* length */
+);
+
+extern int XDrawString16(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst XChar2b* /* string */,
+ int /* length */
+);
+
+extern int XDrawText(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ XTextItem* /* items */,
+ int /* nitems */
+);
+
+extern int XDrawText16(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ XTextItem16* /* items */,
+ int /* nitems */
+);
+
+extern int XEnableAccessControl(
+ Display* /* display */
+);
+
+extern int XEventsQueued(
+ Display* /* display */,
+ int /* mode */
+);
+
+extern Status XFetchName(
+ Display* /* display */,
+ Window /* w */,
+ char** /* window_name_return */
+);
+
+extern int XFillArc(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* angle1 */,
+ int /* angle2 */
+);
+
+extern int XFillArcs(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XArc* /* arcs */,
+ int /* narcs */
+);
+
+extern int XFillPolygon(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XPoint* /* points */,
+ int /* npoints */,
+ int /* shape */,
+ int /* mode */
+);
+
+extern int XFillRectangle(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+extern int XFillRectangles(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XRectangle* /* rectangles */,
+ int /* nrectangles */
+);
+
+extern int XFlush(
+ Display* /* display */
+);
+
+extern int XForceScreenSaver(
+ Display* /* display */,
+ int /* mode */
+);
+
+extern int XFree(
+ void* /* data */
+);
+
+extern int XFreeColormap(
+ Display* /* display */,
+ Colormap /* colormap */
+);
+
+extern int XFreeColors(
+ Display* /* display */,
+ Colormap /* colormap */,
+ unsigned long* /* pixels */,
+ int /* npixels */,
+ unsigned long /* planes */
+);
+
+extern int XFreeCursor(
+ Display* /* display */,
+ Cursor /* cursor */
+);
+
+extern int XFreeExtensionList(
+ char** /* list */
+);
+
+extern int XFreeFont(
+ Display* /* display */,
+ XFontStruct* /* font_struct */
+);
+
+extern int XFreeFontInfo(
+ char** /* names */,
+ XFontStruct* /* free_info */,
+ int /* actual_count */
+);
+
+extern int XFreeFontNames(
+ char** /* list */
+);
+
+extern int XFreeFontPath(
+ char** /* list */
+);
+
+extern int XFreeGC(
+ Display* /* display */,
+ GC /* gc */
+);
+
+extern int XFreeModifiermap(
+ XModifierKeymap* /* modmap */
+);
+
+extern int XFreePixmap(
+ Display* /* display */,
+ Pixmap /* pixmap */
+);
+
+extern int XGeometry(
+ Display* /* display */,
+ int /* screen */,
+ _Xconst char* /* position */,
+ _Xconst char* /* default_position */,
+ unsigned int /* bwidth */,
+ unsigned int /* fwidth */,
+ unsigned int /* fheight */,
+ int /* xadder */,
+ int /* yadder */,
+ int* /* x_return */,
+ int* /* y_return */,
+ int* /* width_return */,
+ int* /* height_return */
+);
+
+extern int XGetErrorDatabaseText(
+ Display* /* display */,
+ _Xconst char* /* name */,
+ _Xconst char* /* message */,
+ _Xconst char* /* default_string */,
+ char* /* buffer_return */,
+ int /* length */
+);
+
+extern int XGetErrorText(
+ Display* /* display */,
+ int /* code */,
+ char* /* buffer_return */,
+ int /* length */
+);
+
+extern Bool XGetFontProperty(
+ XFontStruct* /* font_struct */,
+ Atom /* atom */,
+ unsigned long* /* value_return */
+);
+
+extern Status XGetGCValues(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned long /* valuemask */,
+ XGCValues* /* values_return */
+);
+
+extern Status XGetGeometry(
+ Display* /* display */,
+ Drawable /* d */,
+ Window* /* root_return */,
+ int* /* x_return */,
+ int* /* y_return */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */,
+ unsigned int* /* border_width_return */,
+ unsigned int* /* depth_return */
+);
+
+extern Status XGetIconName(
+ Display* /* display */,
+ Window /* w */,
+ char** /* icon_name_return */
+);
+
+extern int XGetInputFocus(
+ Display* /* display */,
+ Window* /* focus_return */,
+ int* /* revert_to_return */
+);
+
+extern int XGetKeyboardControl(
+ Display* /* display */,
+ XKeyboardState* /* values_return */
+);
+
+extern int XGetPointerControl(
+ Display* /* display */,
+ int* /* accel_numerator_return */,
+ int* /* accel_denominator_return */,
+ int* /* threshold_return */
+);
+
+extern int XGetPointerMapping(
+ Display* /* display */,
+ unsigned char* /* map_return */,
+ int /* nmap */
+);
+
+extern int XGetScreenSaver(
+ Display* /* display */,
+ int* /* timeout_return */,
+ int* /* interval_return */,
+ int* /* prefer_blanking_return */,
+ int* /* allow_exposures_return */
+);
+
+extern Status XGetTransientForHint(
+ Display* /* display */,
+ Window /* w */,
+ Window* /* prop_window_return */
+);
+
+extern int XGetWindowProperty(
+ Display* /* display */,
+ Window /* w */,
+ Atom /* property */,
+ long /* long_offset */,
+ long /* long_length */,
+ Bool /* delete */,
+ Atom /* req_type */,
+ Atom* /* actual_type_return */,
+ int* /* actual_format_return */,
+ unsigned long* /* nitems_return */,
+ unsigned long* /* bytes_after_return */,
+ unsigned char** /* prop_return */
+);
+
+extern Status XGetWindowAttributes(
+ Display* /* display */,
+ Window /* w */,
+ XWindowAttributes* /* window_attributes_return */
+);
+
+extern int XGrabButton(
+ Display* /* display */,
+ unsigned int /* button */,
+ unsigned int /* modifiers */,
+ Window /* grab_window */,
+ Bool /* owner_events */,
+ unsigned int /* event_mask */,
+ int /* pointer_mode */,
+ int /* keyboard_mode */,
+ Window /* confine_to */,
+ Cursor /* cursor */
+);
+
+extern int XGrabKey(
+ Display* /* display */,
+ int /* keycode */,
+ unsigned int /* modifiers */,
+ Window /* grab_window */,
+ Bool /* owner_events */,
+ int /* pointer_mode */,
+ int /* keyboard_mode */
+);
+
+extern int XGrabKeyboard(
+ Display* /* display */,
+ Window /* grab_window */,
+ Bool /* owner_events */,
+ int /* pointer_mode */,
+ int /* keyboard_mode */,
+ Time /* time */
+);
+
+extern int XGrabPointer(
+ Display* /* display */,
+ Window /* grab_window */,
+ Bool /* owner_events */,
+ unsigned int /* event_mask */,
+ int /* pointer_mode */,
+ int /* keyboard_mode */,
+ Window /* confine_to */,
+ Cursor /* cursor */,
+ Time /* time */
+);
+
+extern int XGrabServer(
+ Display* /* display */
+);
+
+extern int XHeightMMOfScreen(
+ Screen* /* screen */
+);
+
+extern int XHeightOfScreen(
+ Screen* /* screen */
+);
+
+extern int XIfEvent(
+ Display* /* display */,
+ XEvent* /* event_return */,
+ Bool (*) (
+ Display* /* display */,
+ XEvent* /* event */,
+ XPointer /* arg */
+ ) /* predicate */,
+ XPointer /* arg */
+);
+
+extern int XImageByteOrder(
+ Display* /* display */
+);
+
+extern int XInstallColormap(
+ Display* /* display */,
+ Colormap /* colormap */
+);
+
+extern KeyCode XKeysymToKeycode(
+ Display* /* display */,
+ KeySym /* keysym */
+);
+
+extern int XKillClient(
+ Display* /* display */,
+ XID /* resource */
+);
+
+extern Status XLookupColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ _Xconst char* /* color_name */,
+ XColor* /* exact_def_return */,
+ XColor* /* screen_def_return */
+);
+
+extern int XLowerWindow(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XMapRaised(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XMapSubwindows(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XMapWindow(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XMaskEvent(
+ Display* /* display */,
+ long /* event_mask */,
+ XEvent* /* event_return */
+);
+
+extern int XMaxCmapsOfScreen(
+ Screen* /* screen */
+);
+
+extern int XMinCmapsOfScreen(
+ Screen* /* screen */
+);
+
+extern int XMoveResizeWindow(
+ Display* /* display */,
+ Window /* w */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+extern int XMoveWindow(
+ Display* /* display */,
+ Window /* w */,
+ int /* x */,
+ int /* y */
+);
+
+extern int XNextEvent(
+ Display* /* display */,
+ XEvent* /* event_return */
+);
+
+extern int XNoOp(
+ Display* /* display */
+);
+
+extern Status XParseColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ _Xconst char* /* spec */,
+ XColor* /* exact_def_return */
+);
+
+extern int XParseGeometry(
+ _Xconst char* /* parsestring */,
+ int* /* x_return */,
+ int* /* y_return */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */
+);
+
+extern int XPeekEvent(
+ Display* /* display */,
+ XEvent* /* event_return */
+);
+
+extern int XPeekIfEvent(
+ Display* /* display */,
+ XEvent* /* event_return */,
+ Bool (*) (
+ Display* /* display */,
+ XEvent* /* event */,
+ XPointer /* arg */
+ ) /* predicate */,
+ XPointer /* arg */
+);
+
+extern int XPending(
+ Display* /* display */
+);
+
+extern int XPlanesOfScreen(
+ Screen* /* screen */
+);
+
+extern int XProtocolRevision(
+ Display* /* display */
+);
+
+extern int XProtocolVersion(
+ Display* /* display */
+);
+
+
+extern int XPutBackEvent(
+ Display* /* display */,
+ XEvent* /* event */
+);
+
+extern int XPutImage(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XImage* /* image */,
+ int /* src_x */,
+ int /* src_y */,
+ int /* dest_x */,
+ int /* dest_y */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+extern int XQLength(
+ Display* /* display */
+);
+
+extern Status XQueryBestCursor(
+ Display* /* display */,
+ Drawable /* d */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */
+);
+
+extern Status XQueryBestSize(
+ Display* /* display */,
+ int /* class */,
+ Drawable /* which_screen */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */
+);
+
+extern Status XQueryBestStipple(
+ Display* /* display */,
+ Drawable /* which_screen */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */
+);
+
+extern Status XQueryBestTile(
+ Display* /* display */,
+ Drawable /* which_screen */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */
+);
+
+extern int XQueryColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ XColor* /* def_in_out */
+);
+
+extern int XQueryColors(
+ Display* /* display */,
+ Colormap /* colormap */,
+ XColor* /* defs_in_out */,
+ int /* ncolors */
+);
+
+extern Bool XQueryExtension(
+ Display* /* display */,
+ _Xconst char* /* name */,
+ int* /* major_opcode_return */,
+ int* /* first_event_return */,
+ int* /* first_error_return */
+);
+
+extern int XQueryKeymap(
+ Display* /* display */,
+ char [32] /* keys_return */
+);
+
+extern Bool XQueryPointer(
+ Display* /* display */,
+ Window /* w */,
+ Window* /* root_return */,
+ Window* /* child_return */,
+ int* /* root_x_return */,
+ int* /* root_y_return */,
+ int* /* win_x_return */,
+ int* /* win_y_return */,
+ unsigned int* /* mask_return */
+);
+
+extern int XQueryTextExtents(
+ Display* /* display */,
+ XID /* font_ID */,
+ _Xconst char* /* string */,
+ int /* nchars */,
+ int* /* direction_return */,
+ int* /* font_ascent_return */,
+ int* /* font_descent_return */,
+ XCharStruct* /* overall_return */
+);
+
+extern int XQueryTextExtents16(
+ Display* /* display */,
+ XID /* font_ID */,
+ _Xconst XChar2b* /* string */,
+ int /* nchars */,
+ int* /* direction_return */,
+ int* /* font_ascent_return */,
+ int* /* font_descent_return */,
+ XCharStruct* /* overall_return */
+);
+
+extern Status XQueryTree(
+ Display* /* display */,
+ Window /* w */,
+ Window* /* root_return */,
+ Window* /* parent_return */,
+ Window** /* children_return */,
+ unsigned int* /* nchildren_return */
+);
+
+extern int XRaiseWindow(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XReadBitmapFile(
+ Display* /* display */,
+ Drawable /* d */,
+ _Xconst char* /* filename */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */,
+ Pixmap* /* bitmap_return */,
+ int* /* x_hot_return */,
+ int* /* y_hot_return */
+);
+
+extern int XReadBitmapFileData(
+ _Xconst char* /* filename */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */,
+ unsigned char** /* data_return */,
+ int* /* x_hot_return */,
+ int* /* y_hot_return */
+);
+
+extern int XRebindKeysym(
+ Display* /* display */,
+ KeySym /* keysym */,
+ KeySym* /* list */,
+ int /* mod_count */,
+ _Xconst unsigned char* /* string */,
+ int /* bytes_string */
+);
+
+extern int XRecolorCursor(
+ Display* /* display */,
+ Cursor /* cursor */,
+ XColor* /* foreground_color */,
+ XColor* /* background_color */
+);
+
+extern int XRefreshKeyboardMapping(
+ XMappingEvent* /* event_map */
+);
+
+extern int XRemoveFromSaveSet(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XRemoveHost(
+ Display* /* display */,
+ XHostAddress* /* host */
+);
+
+extern int XRemoveHosts(
+ Display* /* display */,
+ XHostAddress* /* hosts */,
+ int /* num_hosts */
+);
+
+extern int XReparentWindow(
+ Display* /* display */,
+ Window /* w */,
+ Window /* parent */,
+ int /* x */,
+ int /* y */
+);
+
+extern int XResetScreenSaver(
+ Display* /* display */
+);
+
+extern int XResizeWindow(
+ Display* /* display */,
+ Window /* w */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+extern int XRestackWindows(
+ Display* /* display */,
+ Window* /* windows */,
+ int /* nwindows */
+);
+
+extern int XRotateBuffers(
+ Display* /* display */,
+ int /* rotate */
+);
+
+extern int XRotateWindowProperties(
+ Display* /* display */,
+ Window /* w */,
+ Atom* /* properties */,
+ int /* num_prop */,
+ int /* npositions */
+);
+
+extern int XScreenCount(
+ Display* /* display */
+);
+
+extern int XSelectInput(
+ Display* /* display */,
+ Window /* w */,
+ long /* event_mask */
+);
+
+extern Status XSendEvent(
+ Display* /* display */,
+ Window /* w */,
+ Bool /* propagate */,
+ long /* event_mask */,
+ XEvent* /* event_send */
+);
+
+extern int XSetAccessControl(
+ Display* /* display */,
+ int /* mode */
+);
+
+extern int XSetArcMode(
+ Display* /* display */,
+ GC /* gc */,
+ int /* arc_mode */
+);
+
+extern int XSetBackground(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned long /* background */
+);
+
+extern int XSetClipMask(
+ Display* /* display */,
+ GC /* gc */,
+ Pixmap /* pixmap */
+);
+
+extern int XSetClipOrigin(
+ Display* /* display */,
+ GC /* gc */,
+ int /* clip_x_origin */,
+ int /* clip_y_origin */
+);
+
+extern int XSetClipRectangles(
+ Display* /* display */,
+ GC /* gc */,
+ int /* clip_x_origin */,
+ int /* clip_y_origin */,
+ XRectangle* /* rectangles */,
+ int /* n */,
+ int /* ordering */
+);
+
+extern int XSetCloseDownMode(
+ Display* /* display */,
+ int /* close_mode */
+);
+
+extern int XSetCommand(
+ Display* /* display */,
+ Window /* w */,
+ char** /* argv */,
+ int /* argc */
+);
+
+extern int XSetDashes(
+ Display* /* display */,
+ GC /* gc */,
+ int /* dash_offset */,
+ _Xconst char* /* dash_list */,
+ int /* n */
+);
+
+extern int XSetFillRule(
+ Display* /* display */,
+ GC /* gc */,
+ int /* fill_rule */
+);
+
+extern int XSetFillStyle(
+ Display* /* display */,
+ GC /* gc */,
+ int /* fill_style */
+);
+
+extern int XSetFont(
+ Display* /* display */,
+ GC /* gc */,
+ Font /* font */
+);
+
+extern int XSetFontPath(
+ Display* /* display */,
+ char** /* directories */,
+ int /* ndirs */
+);
+
+extern int XSetForeground(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned long /* foreground */
+);
+
+extern int XSetFunction(
+ Display* /* display */,
+ GC /* gc */,
+ int /* function */
+);
+
+extern int XSetGraphicsExposures(
+ Display* /* display */,
+ GC /* gc */,
+ Bool /* graphics_exposures */
+);
+
+extern int XSetIconName(
+ Display* /* display */,
+ Window /* w */,
+ _Xconst char* /* icon_name */
+);
+
+extern int XSetInputFocus(
+ Display* /* display */,
+ Window /* focus */,
+ int /* revert_to */,
+ Time /* time */
+);
+
+extern int XSetLineAttributes(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned int /* line_width */,
+ int /* line_style */,
+ int /* cap_style */,
+ int /* join_style */
+);
+
+extern int XSetModifierMapping(
+ Display* /* display */,
+ XModifierKeymap* /* modmap */
+);
+
+extern int XSetPlaneMask(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned long /* plane_mask */
+);
+
+extern int XSetPointerMapping(
+ Display* /* display */,
+ _Xconst unsigned char* /* map */,
+ int /* nmap */
+);
+
+extern int XSetScreenSaver(
+ Display* /* display */,
+ int /* timeout */,
+ int /* interval */,
+ int /* prefer_blanking */,
+ int /* allow_exposures */
+);
+
+extern int XSetSelectionOwner(
+ Display* /* display */,
+ Atom /* selection */,
+ Window /* owner */,
+ Time /* time */
+);
+
+extern int XSetState(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned long /* foreground */,
+ unsigned long /* background */,
+ int /* function */,
+ unsigned long /* plane_mask */
+);
+
+extern int XSetStipple(
+ Display* /* display */,
+ GC /* gc */,
+ Pixmap /* stipple */
+);
+
+extern int XSetSubwindowMode(
+ Display* /* display */,
+ GC /* gc */,
+ int /* subwindow_mode */
+);
+
+extern int XSetTSOrigin(
+ Display* /* display */,
+ GC /* gc */,
+ int /* ts_x_origin */,
+ int /* ts_y_origin */
+);
+
+extern int XSetTile(
+ Display* /* display */,
+ GC /* gc */,
+ Pixmap /* tile */
+);
+
+extern int XSetWindowBackground(
+ Display* /* display */,
+ Window /* w */,
+ unsigned long /* background_pixel */
+);
+
+extern int XSetWindowBackgroundPixmap(
+ Display* /* display */,
+ Window /* w */,
+ Pixmap /* background_pixmap */
+);
+
+extern int XSetWindowBorder(
+ Display* /* display */,
+ Window /* w */,
+ unsigned long /* border_pixel */
+);
+
+extern int XSetWindowBorderPixmap(
+ Display* /* display */,
+ Window /* w */,
+ Pixmap /* border_pixmap */
+);
+
+extern int XSetWindowBorderWidth(
+ Display* /* display */,
+ Window /* w */,
+ unsigned int /* width */
+);
+
+extern int XSetWindowColormap(
+ Display* /* display */,
+ Window /* w */,
+ Colormap /* colormap */
+);
+
+extern int XStoreBuffer(
+ Display* /* display */,
+ _Xconst char* /* bytes */,
+ int /* nbytes */,
+ int /* buffer */
+);
+
+extern int XStoreBytes(
+ Display* /* display */,
+ _Xconst char* /* bytes */,
+ int /* nbytes */
+);
+
+extern int XStoreColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ XColor* /* color */
+);
+
+extern int XStoreColors(
+ Display* /* display */,
+ Colormap /* colormap */,
+ XColor* /* color */,
+ int /* ncolors */
+);
+
+extern int XStoreName(
+ Display* /* display */,
+ Window /* w */,
+ _Xconst char* /* window_name */
+);
+
+extern int XStoreNamedColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ _Xconst char* /* color */,
+ unsigned long /* pixel */,
+ int /* flags */
+);
+
+extern int XSync(
+ Display* /* display */,
+ Bool /* discard */
+);
+
+extern int XTextExtents(
+ XFontStruct* /* font_struct */,
+ _Xconst char* /* string */,
+ int /* nchars */,
+ int* /* direction_return */,
+ int* /* font_ascent_return */,
+ int* /* font_descent_return */,
+ XCharStruct* /* overall_return */
+);
+
+extern int XTextExtents16(
+ XFontStruct* /* font_struct */,
+ _Xconst XChar2b* /* string */,
+ int /* nchars */,
+ int* /* direction_return */,
+ int* /* font_ascent_return */,
+ int* /* font_descent_return */,
+ XCharStruct* /* overall_return */
+);
+
+extern int XTextWidth(
+ XFontStruct* /* font_struct */,
+ _Xconst char* /* string */,
+ int /* count */
+);
+
+extern int XTextWidth16(
+ XFontStruct* /* font_struct */,
+ _Xconst XChar2b* /* string */,
+ int /* count */
+);
+
+extern Bool XTranslateCoordinates(
+ Display* /* display */,
+ Window /* src_w */,
+ Window /* dest_w */,
+ int /* src_x */,
+ int /* src_y */,
+ int* /* dest_x_return */,
+ int* /* dest_y_return */,
+ Window* /* child_return */
+);
+
+extern int XUndefineCursor(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XUngrabButton(
+ Display* /* display */,
+ unsigned int /* button */,
+ unsigned int /* modifiers */,
+ Window /* grab_window */
+);
+
+extern int XUngrabKey(
+ Display* /* display */,
+ int /* keycode */,
+ unsigned int /* modifiers */,
+ Window /* grab_window */
+);
+
+extern int XUngrabKeyboard(
+ Display* /* display */,
+ Time /* time */
+);
+
+extern int XUngrabPointer(
+ Display* /* display */,
+ Time /* time */
+);
+
+extern int XUngrabServer(
+ Display* /* display */
+);
+
+extern int XUninstallColormap(
+ Display* /* display */,
+ Colormap /* colormap */
+);
+
+extern int XUnloadFont(
+ Display* /* display */,
+ Font /* font */
+);
+
+extern int XUnmapSubwindows(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XUnmapWindow(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XVendorRelease(
+ Display* /* display */
+);
+
+extern int XWarpPointer(
+ Display* /* display */,
+ Window /* src_w */,
+ Window /* dest_w */,
+ int /* src_x */,
+ int /* src_y */,
+ unsigned int /* src_width */,
+ unsigned int /* src_height */,
+ int /* dest_x */,
+ int /* dest_y */
+);
+
+extern int XWidthMMOfScreen(
+ Screen* /* screen */
+);
+
+extern int XWidthOfScreen(
+ Screen* /* screen */
+);
+
+extern int XWindowEvent(
+ Display* /* display */,
+ Window /* w */,
+ long /* event_mask */,
+ XEvent* /* event_return */
+);
+
+extern int XWriteBitmapFile(
+ Display* /* display */,
+ _Xconst char* /* filename */,
+ Pixmap /* bitmap */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* x_hot */,
+ int /* y_hot */
+);
+
+extern Bool XSupportsLocale (void);
+
+extern char *XSetLocaleModifiers(
+ const char* /* modifier_list */
+);
+
+extern XOM XOpenOM(
+ Display* /* display */,
+ struct _XrmHashBucketRec* /* rdb */,
+ _Xconst char* /* res_name */,
+ _Xconst char* /* res_class */
+);
+
+extern Status XCloseOM(
+ XOM /* om */
+);
+
+extern char *XSetOMValues(
+ XOM /* om */,
+ ...
+) _X_SENTINEL(0);
+
+extern char *XGetOMValues(
+ XOM /* om */,
+ ...
+) _X_SENTINEL(0);
+
+extern Display *XDisplayOfOM(
+ XOM /* om */
+);
+
+extern char *XLocaleOfOM(
+ XOM /* om */
+);
+
+extern XOC XCreateOC(
+ XOM /* om */,
+ ...
+) _X_SENTINEL(0);
+
+extern void XDestroyOC(
+ XOC /* oc */
+);
+
+extern XOM XOMOfOC(
+ XOC /* oc */
+);
+
+extern char *XSetOCValues(
+ XOC /* oc */,
+ ...
+) _X_SENTINEL(0);
+
+extern char *XGetOCValues(
+ XOC /* oc */,
+ ...
+) _X_SENTINEL(0);
+
+extern XFontSet XCreateFontSet(
+ Display* /* display */,
+ _Xconst char* /* base_font_name_list */,
+ char*** /* missing_charset_list */,
+ int* /* missing_charset_count */,
+ char** /* def_string */
+);
+
+extern void XFreeFontSet(
+ Display* /* display */,
+ XFontSet /* font_set */
+);
+
+extern int XFontsOfFontSet(
+ XFontSet /* font_set */,
+ XFontStruct*** /* font_struct_list */,
+ char*** /* font_name_list */
+);
+
+extern char *XBaseFontNameListOfFontSet(
+ XFontSet /* font_set */
+);
+
+extern char *XLocaleOfFontSet(
+ XFontSet /* font_set */
+);
+
+extern Bool XContextDependentDrawing(
+ XFontSet /* font_set */
+);
+
+extern Bool XDirectionalDependentDrawing(
+ XFontSet /* font_set */
+);
+
+extern Bool XContextualDrawing(
+ XFontSet /* font_set */
+);
+
+extern XFontSetExtents *XExtentsOfFontSet(
+ XFontSet /* font_set */
+);
+
+extern int XmbTextEscapement(
+ XFontSet /* font_set */,
+ _Xconst char* /* text */,
+ int /* bytes_text */
+);
+
+extern int XwcTextEscapement(
+ XFontSet /* font_set */,
+ _Xconst wchar_t* /* text */,
+ int /* num_wchars */
+);
+
+extern int Xutf8TextEscapement(
+ XFontSet /* font_set */,
+ _Xconst char* /* text */,
+ int /* bytes_text */
+);
+
+extern int XmbTextExtents(
+ XFontSet /* font_set */,
+ _Xconst char* /* text */,
+ int /* bytes_text */,
+ XRectangle* /* overall_ink_return */,
+ XRectangle* /* overall_logical_return */
+);
+
+extern int XwcTextExtents(
+ XFontSet /* font_set */,
+ _Xconst wchar_t* /* text */,
+ int /* num_wchars */,
+ XRectangle* /* overall_ink_return */,
+ XRectangle* /* overall_logical_return */
+);
+
+extern int Xutf8TextExtents(
+ XFontSet /* font_set */,
+ _Xconst char* /* text */,
+ int /* bytes_text */,
+ XRectangle* /* overall_ink_return */,
+ XRectangle* /* overall_logical_return */
+);
+
+extern Status XmbTextPerCharExtents(
+ XFontSet /* font_set */,
+ _Xconst char* /* text */,
+ int /* bytes_text */,
+ XRectangle* /* ink_extents_buffer */,
+ XRectangle* /* logical_extents_buffer */,
+ int /* buffer_size */,
+ int* /* num_chars */,
+ XRectangle* /* overall_ink_return */,
+ XRectangle* /* overall_logical_return */
+);
+
+extern Status XwcTextPerCharExtents(
+ XFontSet /* font_set */,
+ _Xconst wchar_t* /* text */,
+ int /* num_wchars */,
+ XRectangle* /* ink_extents_buffer */,
+ XRectangle* /* logical_extents_buffer */,
+ int /* buffer_size */,
+ int* /* num_chars */,
+ XRectangle* /* overall_ink_return */,
+ XRectangle* /* overall_logical_return */
+);
+
+extern Status Xutf8TextPerCharExtents(
+ XFontSet /* font_set */,
+ _Xconst char* /* text */,
+ int /* bytes_text */,
+ XRectangle* /* ink_extents_buffer */,
+ XRectangle* /* logical_extents_buffer */,
+ int /* buffer_size */,
+ int* /* num_chars */,
+ XRectangle* /* overall_ink_return */,
+ XRectangle* /* overall_logical_return */
+);
+
+extern void XmbDrawText(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ XmbTextItem* /* text_items */,
+ int /* nitems */
+);
+
+extern void XwcDrawText(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ XwcTextItem* /* text_items */,
+ int /* nitems */
+);
+
+extern void Xutf8DrawText(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ XmbTextItem* /* text_items */,
+ int /* nitems */
+);
+
+extern void XmbDrawString(
+ Display* /* display */,
+ Drawable /* d */,
+ XFontSet /* font_set */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst char* /* text */,
+ int /* bytes_text */
+);
+
+extern void XwcDrawString(
+ Display* /* display */,
+ Drawable /* d */,
+ XFontSet /* font_set */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst wchar_t* /* text */,
+ int /* num_wchars */
+);
+
+extern void Xutf8DrawString(
+ Display* /* display */,
+ Drawable /* d */,
+ XFontSet /* font_set */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst char* /* text */,
+ int /* bytes_text */
+);
+
+extern void XmbDrawImageString(
+ Display* /* display */,
+ Drawable /* d */,
+ XFontSet /* font_set */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst char* /* text */,
+ int /* bytes_text */
+);
+
+extern void XwcDrawImageString(
+ Display* /* display */,
+ Drawable /* d */,
+ XFontSet /* font_set */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst wchar_t* /* text */,
+ int /* num_wchars */
+);
+
+extern void Xutf8DrawImageString(
+ Display* /* display */,
+ Drawable /* d */,
+ XFontSet /* font_set */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst char* /* text */,
+ int /* bytes_text */
+);
+
+extern XIM XOpenIM(
+ Display* /* dpy */,
+ struct _XrmHashBucketRec* /* rdb */,
+ char* /* res_name */,
+ char* /* res_class */
+);
+
+extern Status XCloseIM(
+ XIM /* im */
+);
+
+extern char *XGetIMValues(
+ XIM /* im */, ...
+) _X_SENTINEL(0);
+
+extern char *XSetIMValues(
+ XIM /* im */, ...
+) _X_SENTINEL(0);
+
+extern Display *XDisplayOfIM(
+ XIM /* im */
+);
+
+extern char *XLocaleOfIM(
+ XIM /* im*/
+);
+
+extern XIC XCreateIC(
+ XIM /* im */, ...
+) _X_SENTINEL(0);
+
+extern void XDestroyIC(
+ XIC /* ic */
+);
+
+extern void XSetICFocus(
+ XIC /* ic */
+);
+
+extern void XUnsetICFocus(
+ XIC /* ic */
+);
+
+extern wchar_t *XwcResetIC(
+ XIC /* ic */
+);
+
+extern char *XmbResetIC(
+ XIC /* ic */
+);
+
+extern char *Xutf8ResetIC(
+ XIC /* ic */
+);
+
+extern char *XSetICValues(
+ XIC /* ic */, ...
+) _X_SENTINEL(0);
+
+extern char *XGetICValues(
+ XIC /* ic */, ...
+) _X_SENTINEL(0);
+
+extern XIM XIMOfIC(
+ XIC /* ic */
+);
+
+extern Bool XFilterEvent(
+ XEvent* /* event */,
+ Window /* window */
+);
+
+extern int XmbLookupString(
+ XIC /* ic */,
+ XKeyPressedEvent* /* event */,
+ char* /* buffer_return */,
+ int /* bytes_buffer */,
+ KeySym* /* keysym_return */,
+ Status* /* status_return */
+);
+
+extern int XwcLookupString(
+ XIC /* ic */,
+ XKeyPressedEvent* /* event */,
+ wchar_t* /* buffer_return */,
+ int /* wchars_buffer */,
+ KeySym* /* keysym_return */,
+ Status* /* status_return */
+);
+
+extern int Xutf8LookupString(
+ XIC /* ic */,
+ XKeyPressedEvent* /* event */,
+ char* /* buffer_return */,
+ int /* bytes_buffer */,
+ KeySym* /* keysym_return */,
+ Status* /* status_return */
+);
+
+extern XVaNestedList XVaCreateNestedList(
+ int /*unused*/, ...
+) _X_SENTINEL(0);
+
+/* internal connections for IMs */
+
+extern Bool XRegisterIMInstantiateCallback(
+ Display* /* dpy */,
+ struct _XrmHashBucketRec* /* rdb */,
+ char* /* res_name */,
+ char* /* res_class */,
+ XIDProc /* callback */,
+ XPointer /* client_data */
+);
+
+extern Bool XUnregisterIMInstantiateCallback(
+ Display* /* dpy */,
+ struct _XrmHashBucketRec* /* rdb */,
+ char* /* res_name */,
+ char* /* res_class */,
+ XIDProc /* callback */,
+ XPointer /* client_data */
+);
+
+typedef void (*XConnectionWatchProc)(
+ Display* /* dpy */,
+ XPointer /* client_data */,
+ int /* fd */,
+ Bool /* opening */, /* open or close flag */
+ XPointer* /* watch_data */ /* open sets, close uses */
+);
+
+
+extern Status XInternalConnectionNumbers(
+ Display* /* dpy */,
+ int** /* fd_return */,
+ int* /* count_return */
+);
+
+extern void XProcessInternalConnection(
+ Display* /* dpy */,
+ int /* fd */
+);
+
+extern Status XAddConnectionWatch(
+ Display* /* dpy */,
+ XConnectionWatchProc /* callback */,
+ XPointer /* client_data */
+);
+
+extern void XRemoveConnectionWatch(
+ Display* /* dpy */,
+ XConnectionWatchProc /* callback */,
+ XPointer /* client_data */
+);
+
+extern void XSetAuthorization(
+ char * /* name */,
+ int /* namelen */,
+ char * /* data */,
+ int /* datalen */
+);
+
+extern int _Xmbtowc(
+ wchar_t * /* wstr */,
+#ifdef ISC
+ char const * /* str */,
+ size_t /* len */
+#else
+ char * /* str */,
+ int /* len */
+#endif
+);
+
+extern int _Xwctomb(
+ char * /* str */,
+ wchar_t /* wc */
+);
+
+extern Bool XGetEventData(
+ Display* /* dpy */,
+ XGenericEventCookie* /* cookie*/
+);
+
+extern void XFreeEventData(
+ Display* /* dpy */,
+ XGenericEventCookie* /* cookie*/
+);
+
+_XFUNCPROTOEND
+
+#endif /* _X11_XLIB_H_ */
diff --git a/libX11/include/X11/Xlibint.h b/libX11/include/X11/Xlibint.h
index 8a06f6d6a..2bd83a357 100644
--- a/libX11/include/X11/Xlibint.h
+++ b/libX11/include/X11/Xlibint.h
@@ -27,8 +27,8 @@ from The Open Group.
*/
-#ifndef _XLIBINT_H_
-#define _XLIBINT_H_ 1
+#ifndef _X11_XLIBINT_H_
+#define _X11_XLIBINT_H_ 1
/*
* Xlibint.h - Header definition and support file for the internal
@@ -1394,4 +1394,4 @@ extern void xlocaledir(
_XFUNCPROTOEND
-#endif /* _XLIBINT_H_ */
+#endif /* _X11_XLIBINT_H_ */
diff --git a/libX11/include/X11/Xlocale.h b/libX11/include/X11/Xlocale.h
index baa13353b..dfb004c32 100644
--- a/libX11/include/X11/Xlocale.h
+++ b/libX11/include/X11/Xlocale.h
@@ -1,59 +1,59 @@
-/*
-
-Copyright 1991, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
-OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall
-not be used in advertising or otherwise to promote the sale, use or
-other dealings in this Software without prior written authorization
-from The Open Group.
-
-*/
-
-#ifndef _XLOCALE_H_
-#define _XLOCALE_H_
-
-#include <X11/Xfuncproto.h>
-#include <X11/Xosdefs.h>
-
-#ifndef X_LOCALE
-#include <locale.h>
-#else
-
-#define LC_ALL 0
-#define LC_COLLATE 1
-#define LC_CTYPE 2
-#define LC_MONETARY 3
-#define LC_NUMERIC 4
-#define LC_TIME 5
-
-_XFUNCPROTOBEGIN
-extern char *_Xsetlocale(
- int /* category */,
- _Xconst char* /* name */
-);
-_XFUNCPROTOEND
-
-#define setlocale _Xsetlocale
-
-#include <stddef.h>
-
-#endif /* X_LOCALE */
-
-#endif /* _XLOCALE_H_ */
+/*
+
+Copyright 1991, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+
+#ifndef _X11_XLOCALE_H_
+#define _X11_XLOCALE_H_
+
+#include <X11/Xfuncproto.h>
+#include <X11/Xosdefs.h>
+
+#ifndef X_LOCALE
+#include <locale.h>
+#else
+
+#define LC_ALL 0
+#define LC_COLLATE 1
+#define LC_CTYPE 2
+#define LC_MONETARY 3
+#define LC_NUMERIC 4
+#define LC_TIME 5
+
+_XFUNCPROTOBEGIN
+extern char *_Xsetlocale(
+ int /* category */,
+ _Xconst char* /* name */
+);
+_XFUNCPROTOEND
+
+#define setlocale _Xsetlocale
+
+#include <stddef.h>
+
+#endif /* X_LOCALE */
+
+#endif /* _X11_XLOCALE_H_ */
diff --git a/libX11/include/X11/Xregion.h b/libX11/include/X11/Xregion.h
index 31199688c..1ae16c487 100644
--- a/libX11/include/X11/Xregion.h
+++ b/libX11/include/X11/Xregion.h
@@ -1,191 +1,191 @@
-/************************************************************************
-
-Copyright 1987, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
- All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the name of Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
-ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-SOFTWARE.
-
-************************************************************************/
-
-#ifndef _XREGION_H
-#define _XREGION_H
-
-typedef struct {
- short x1, x2, y1, y2;
-} Box, BOX, BoxRec, *BoxPtr;
-
-typedef struct {
- short x, y, width, height;
-}RECTANGLE, RectangleRec, *RectanglePtr;
-
-#define TRUE 1
-#define FALSE 0
-#ifndef MAXSHORT
-#define MAXSHORT 32767
-#define MINSHORT -MAXSHORT
-#endif
-#ifndef MAX
-#define MAX(a,b) (((a) > (b)) ? (a) : (b))
-#endif
-#ifndef MIN
-#define MIN(a,b) (((a) < (b)) ? (a) : (b))
-#endif
-
-
-/*
- * clip region
- */
-
-typedef struct _XRegion {
- long size;
- long numRects;
- BOX *rects;
- BOX extents;
-} REGION;
-
-/* Xutil.h contains the declaration:
- * typedef struct _XRegion *Region;
- */
-
-/* 1 if two BOXs overlap.
- * 0 if two BOXs do not overlap.
- * Remember, x2 and y2 are not in the region
- */
-#define EXTENTCHECK(r1, r2) \
- ((r1)->x2 > (r2)->x1 && \
- (r1)->x1 < (r2)->x2 && \
- (r1)->y2 > (r2)->y1 && \
- (r1)->y1 < (r2)->y2)
-
-/*
- * update region extents
- */
-#define EXTENTS(r,idRect){\
- if((r)->x1 < (idRect)->extents.x1)\
- (idRect)->extents.x1 = (r)->x1;\
- if((r)->y1 < (idRect)->extents.y1)\
- (idRect)->extents.y1 = (r)->y1;\
- if((r)->x2 > (idRect)->extents.x2)\
- (idRect)->extents.x2 = (r)->x2;\
- if((r)->y2 > (idRect)->extents.y2)\
- (idRect)->extents.y2 = (r)->y2;\
- }
-
-/*
- * Check to see if there is enough memory in the present region.
- */
-#define MEMCHECK(reg, rect, firstrect){\
- if ((reg)->numRects >= ((reg)->size - 1)){\
- (firstrect) = (BOX *) Xrealloc \
- ((char *)(firstrect), (unsigned) (2 * (sizeof(BOX)) * ((reg)->size)));\
- if ((firstrect) == 0)\
- return(0);\
- (reg)->size *= 2;\
- (rect) = &(firstrect)[(reg)->numRects];\
- }\
- }
-
-/* this routine checks to see if the previous rectangle is the same
- * or subsumes the new rectangle to add.
- */
-
-#define CHECK_PREVIOUS(Reg, R, Rx1, Ry1, Rx2, Ry2)\
- (!(((Reg)->numRects > 0)&&\
- ((R-1)->y1 == (Ry1)) &&\
- ((R-1)->y2 == (Ry2)) &&\
- ((R-1)->x1 <= (Rx1)) &&\
- ((R-1)->x2 >= (Rx2))))
-
-/* add a rectangle to the given Region */
-#define ADDRECT(reg, r, rx1, ry1, rx2, ry2){\
- if (((rx1) < (rx2)) && ((ry1) < (ry2)) &&\
- CHECK_PREVIOUS((reg), (r), (rx1), (ry1), (rx2), (ry2))){\
- (r)->x1 = (rx1);\
- (r)->y1 = (ry1);\
- (r)->x2 = (rx2);\
- (r)->y2 = (ry2);\
- EXTENTS((r), (reg));\
- (reg)->numRects++;\
- (r)++;\
- }\
- }
-
-
-
-/* add a rectangle to the given Region */
-#define ADDRECTNOX(reg, r, rx1, ry1, rx2, ry2){\
- if ((rx1 < rx2) && (ry1 < ry2) &&\
- CHECK_PREVIOUS((reg), (r), (rx1), (ry1), (rx2), (ry2))){\
- (r)->x1 = (rx1);\
- (r)->y1 = (ry1);\
- (r)->x2 = (rx2);\
- (r)->y2 = (ry2);\
- (reg)->numRects++;\
- (r)++;\
- }\
- }
-
-#define EMPTY_REGION(pReg) pReg->numRects = 0
-
-#define REGION_NOT_EMPTY(pReg) pReg->numRects
-
-#define INBOX(r, x, y) \
- ( ( ((r).x2 > x)) && \
- ( ((r).x1 <= x)) && \
- ( ((r).y2 > y)) && \
- ( ((r).y1 <= y)) )
-
-/*
- * number of points to buffer before sending them off
- * to scanlines() : Must be an even number
- */
-#define NUMPTSTOBUFFER 200
-
-/*
- * used to allocate buffers for points and link
- * the buffers together
- */
-typedef struct _POINTBLOCK {
- XPoint pts[NUMPTSTOBUFFER];
- struct _POINTBLOCK *next;
-} POINTBLOCK;
-
-#endif
+/************************************************************************
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+************************************************************************/
+
+#ifndef _X11_XREGION_H_
+#define _X11_XREGION_H_
+
+typedef struct {
+ short x1, x2, y1, y2;
+} Box, BOX, BoxRec, *BoxPtr;
+
+typedef struct {
+ short x, y, width, height;
+}RECTANGLE, RectangleRec, *RectanglePtr;
+
+#define TRUE 1
+#define FALSE 0
+#ifndef MAXSHORT
+#define MAXSHORT 32767
+#define MINSHORT -MAXSHORT
+#endif
+#ifndef MAX
+#define MAX(a,b) (((a) > (b)) ? (a) : (b))
+#endif
+#ifndef MIN
+#define MIN(a,b) (((a) < (b)) ? (a) : (b))
+#endif
+
+
+/*
+ * clip region
+ */
+
+typedef struct _XRegion {
+ long size;
+ long numRects;
+ BOX *rects;
+ BOX extents;
+} REGION;
+
+/* Xutil.h contains the declaration:
+ * typedef struct _XRegion *Region;
+ */
+
+/* 1 if two BOXs overlap.
+ * 0 if two BOXs do not overlap.
+ * Remember, x2 and y2 are not in the region
+ */
+#define EXTENTCHECK(r1, r2) \
+ ((r1)->x2 > (r2)->x1 && \
+ (r1)->x1 < (r2)->x2 && \
+ (r1)->y2 > (r2)->y1 && \
+ (r1)->y1 < (r2)->y2)
+
+/*
+ * update region extents
+ */
+#define EXTENTS(r,idRect){\
+ if((r)->x1 < (idRect)->extents.x1)\
+ (idRect)->extents.x1 = (r)->x1;\
+ if((r)->y1 < (idRect)->extents.y1)\
+ (idRect)->extents.y1 = (r)->y1;\
+ if((r)->x2 > (idRect)->extents.x2)\
+ (idRect)->extents.x2 = (r)->x2;\
+ if((r)->y2 > (idRect)->extents.y2)\
+ (idRect)->extents.y2 = (r)->y2;\
+ }
+
+/*
+ * Check to see if there is enough memory in the present region.
+ */
+#define MEMCHECK(reg, rect, firstrect){\
+ if ((reg)->numRects >= ((reg)->size - 1)){\
+ (firstrect) = (BOX *) Xrealloc \
+ ((char *)(firstrect), (unsigned) (2 * (sizeof(BOX)) * ((reg)->size)));\
+ if ((firstrect) == 0)\
+ return(0);\
+ (reg)->size *= 2;\
+ (rect) = &(firstrect)[(reg)->numRects];\
+ }\
+ }
+
+/* this routine checks to see if the previous rectangle is the same
+ * or subsumes the new rectangle to add.
+ */
+
+#define CHECK_PREVIOUS(Reg, R, Rx1, Ry1, Rx2, Ry2)\
+ (!(((Reg)->numRects > 0)&&\
+ ((R-1)->y1 == (Ry1)) &&\
+ ((R-1)->y2 == (Ry2)) &&\
+ ((R-1)->x1 <= (Rx1)) &&\
+ ((R-1)->x2 >= (Rx2))))
+
+/* add a rectangle to the given Region */
+#define ADDRECT(reg, r, rx1, ry1, rx2, ry2){\
+ if (((rx1) < (rx2)) && ((ry1) < (ry2)) &&\
+ CHECK_PREVIOUS((reg), (r), (rx1), (ry1), (rx2), (ry2))){\
+ (r)->x1 = (rx1);\
+ (r)->y1 = (ry1);\
+ (r)->x2 = (rx2);\
+ (r)->y2 = (ry2);\
+ EXTENTS((r), (reg));\
+ (reg)->numRects++;\
+ (r)++;\
+ }\
+ }
+
+
+
+/* add a rectangle to the given Region */
+#define ADDRECTNOX(reg, r, rx1, ry1, rx2, ry2){\
+ if ((rx1 < rx2) && (ry1 < ry2) &&\
+ CHECK_PREVIOUS((reg), (r), (rx1), (ry1), (rx2), (ry2))){\
+ (r)->x1 = (rx1);\
+ (r)->y1 = (ry1);\
+ (r)->x2 = (rx2);\
+ (r)->y2 = (ry2);\
+ (reg)->numRects++;\
+ (r)++;\
+ }\
+ }
+
+#define EMPTY_REGION(pReg) pReg->numRects = 0
+
+#define REGION_NOT_EMPTY(pReg) pReg->numRects
+
+#define INBOX(r, x, y) \
+ ( ( ((r).x2 > x)) && \
+ ( ((r).x1 <= x)) && \
+ ( ((r).y2 > y)) && \
+ ( ((r).y1 <= y)) )
+
+/*
+ * number of points to buffer before sending them off
+ * to scanlines() : Must be an even number
+ */
+#define NUMPTSTOBUFFER 200
+
+/*
+ * used to allocate buffers for points and link
+ * the buffers together
+ */
+typedef struct _POINTBLOCK {
+ XPoint pts[NUMPTSTOBUFFER];
+ struct _POINTBLOCK *next;
+} POINTBLOCK;
+
+#endif /* _X11_XREGION_H_ */
diff --git a/libX11/include/X11/Xresource.h b/libX11/include/X11/Xresource.h
index dbb144c27..113f732a5 100644
--- a/libX11/include/X11/Xresource.h
+++ b/libX11/include/X11/Xresource.h
@@ -1,358 +1,358 @@
-
-/***********************************************************
-
-Copyright 1987, 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-
-Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
-
- All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the name of Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
-ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-SOFTWARE.
-
-******************************************************************/
-
-#ifndef _XRESOURCE_H_
-#define _XRESOURCE_H_
-
-#ifndef _XP_PRINT_SERVER_
-#include <X11/Xlib.h>
-#endif
-
-/****************************************************************
- ****************************************************************
- *** ***
- *** ***
- *** X Resource Manager Intrinsics ***
- *** ***
- *** ***
- ****************************************************************
- ****************************************************************/
-
-_XFUNCPROTOBEGIN
-
-/****************************************************************
- *
- * Memory Management
- *
- ****************************************************************/
-
-extern char *Xpermalloc(
- unsigned int /* size */
-);
-
-/****************************************************************
- *
- * Quark Management
- *
- ****************************************************************/
-
-typedef int XrmQuark, *XrmQuarkList;
-#define NULLQUARK ((XrmQuark) 0)
-
-typedef char *XrmString;
-#define NULLSTRING ((XrmString) 0)
-
-/* find quark for string, create new quark if none already exists */
-extern XrmQuark XrmStringToQuark(
- _Xconst char* /* string */
-);
-
-extern XrmQuark XrmPermStringToQuark(
- _Xconst char* /* string */
-);
-
-/* find string for quark */
-extern XrmString XrmQuarkToString(
- XrmQuark /* quark */
-);
-
-extern XrmQuark XrmUniqueQuark(
- void
-);
-
-#define XrmStringsEqual(a1, a2) (strcmp(a1, a2) == 0)
-
-
-/****************************************************************
- *
- * Conversion of Strings to Lists
- *
- ****************************************************************/
-
-typedef enum {XrmBindTightly, XrmBindLoosely} XrmBinding, *XrmBindingList;
-
-extern void XrmStringToQuarkList(
- _Xconst char* /* string */,
- XrmQuarkList /* quarks_return */
-);
-
-extern void XrmStringToBindingQuarkList(
- _Xconst char* /* string */,
- XrmBindingList /* bindings_return */,
- XrmQuarkList /* quarks_return */
-);
-
-/****************************************************************
- *
- * Name and Class lists.
- *
- ****************************************************************/
-
-typedef XrmQuark XrmName;
-typedef XrmQuarkList XrmNameList;
-#define XrmNameToString(name) XrmQuarkToString(name)
-#define XrmStringToName(string) XrmStringToQuark(string)
-#define XrmStringToNameList(str, name) XrmStringToQuarkList(str, name)
-
-typedef XrmQuark XrmClass;
-typedef XrmQuarkList XrmClassList;
-#define XrmClassToString(c_class) XrmQuarkToString(c_class)
-#define XrmStringToClass(c_class) XrmStringToQuark(c_class)
-#define XrmStringToClassList(str,c_class) XrmStringToQuarkList(str, c_class)
-
-
-
-/****************************************************************
- *
- * Resource Representation Types and Values
- *
- ****************************************************************/
-
-typedef XrmQuark XrmRepresentation;
-#define XrmStringToRepresentation(string) XrmStringToQuark(string)
-#define XrmRepresentationToString(type) XrmQuarkToString(type)
-
-typedef struct {
- unsigned int size;
- XPointer addr;
-} XrmValue, *XrmValuePtr;
-
-
-/****************************************************************
- *
- * Resource Manager Functions
- *
- ****************************************************************/
-
-typedef struct _XrmHashBucketRec *XrmHashBucket;
-typedef XrmHashBucket *XrmHashTable;
-typedef XrmHashTable XrmSearchList[];
-typedef struct _XrmHashBucketRec *XrmDatabase;
-
-
-extern void XrmDestroyDatabase(
- XrmDatabase /* database */
-);
-
-extern void XrmQPutResource(
- XrmDatabase* /* database */,
- XrmBindingList /* bindings */,
- XrmQuarkList /* quarks */,
- XrmRepresentation /* type */,
- XrmValue* /* value */
-);
-
-extern void XrmPutResource(
- XrmDatabase* /* database */,
- _Xconst char* /* specifier */,
- _Xconst char* /* type */,
- XrmValue* /* value */
-);
-
-extern void XrmQPutStringResource(
- XrmDatabase* /* database */,
- XrmBindingList /* bindings */,
- XrmQuarkList /* quarks */,
- _Xconst char* /* value */
-);
-
-extern void XrmPutStringResource(
- XrmDatabase* /* database */,
- _Xconst char* /* specifier */,
- _Xconst char* /* value */
-);
-
-extern void XrmPutLineResource(
- XrmDatabase* /* database */,
- _Xconst char* /* line */
-);
-
-extern Bool XrmQGetResource(
- XrmDatabase /* database */,
- XrmNameList /* quark_name */,
- XrmClassList /* quark_class */,
- XrmRepresentation* /* quark_type_return */,
- XrmValue* /* value_return */
-);
-
-extern Bool XrmGetResource(
- XrmDatabase /* database */,
- _Xconst char* /* str_name */,
- _Xconst char* /* str_class */,
- char** /* str_type_return */,
- XrmValue* /* value_return */
-);
-
-extern Bool XrmQGetSearchList(
- XrmDatabase /* database */,
- XrmNameList /* names */,
- XrmClassList /* classes */,
- XrmSearchList /* list_return */,
- int /* list_length */
-);
-
-extern Bool XrmQGetSearchResource(
- XrmSearchList /* list */,
- XrmName /* name */,
- XrmClass /* class */,
- XrmRepresentation* /* type_return */,
- XrmValue* /* value_return */
-);
-
-/****************************************************************
- *
- * Resource Database Management
- *
- ****************************************************************/
-
-#ifndef _XP_PRINT_SERVER_
-
-extern void XrmSetDatabase(
- Display* /* display */,
- XrmDatabase /* database */
-);
-
-extern XrmDatabase XrmGetDatabase(
- Display* /* display */
-);
-
-#endif /* !_XP_PRINT_SERVER_ */
-
-extern XrmDatabase XrmGetFileDatabase(
- _Xconst char* /* filename */
-);
-
-extern Status XrmCombineFileDatabase(
- _Xconst char* /* filename */,
- XrmDatabase* /* target */,
- Bool /* override */
-);
-
-extern XrmDatabase XrmGetStringDatabase(
- _Xconst char* /* data */ /* null terminated string */
-);
-
-extern void XrmPutFileDatabase(
- XrmDatabase /* database */,
- _Xconst char* /* filename */
-);
-
-extern void XrmMergeDatabases(
- XrmDatabase /* source_db */,
- XrmDatabase* /* target_db */
-);
-
-extern void XrmCombineDatabase(
- XrmDatabase /* source_db */,
- XrmDatabase* /* target_db */,
- Bool /* override */
-);
-
-#define XrmEnumAllLevels 0
-#define XrmEnumOneLevel 1
-
-extern Bool XrmEnumerateDatabase(
- XrmDatabase /* db */,
- XrmNameList /* name_prefix */,
- XrmClassList /* class_prefix */,
- int /* mode */,
- Bool (*)(
- XrmDatabase* /* db */,
- XrmBindingList /* bindings */,
- XrmQuarkList /* quarks */,
- XrmRepresentation* /* type */,
- XrmValue* /* value */,
- XPointer /* closure */
- ) /* proc */,
- XPointer /* closure */
-);
-
-extern const char *XrmLocaleOfDatabase(
- XrmDatabase /* database */
-);
-
-
-/****************************************************************
- *
- * Command line option mapping to resource entries
- *
- ****************************************************************/
-
-typedef enum {
- XrmoptionNoArg, /* Value is specified in OptionDescRec.value */
- XrmoptionIsArg, /* Value is the option string itself */
- XrmoptionStickyArg, /* Value is characters immediately following option */
- XrmoptionSepArg, /* Value is next argument in argv */
- XrmoptionResArg, /* Resource and value in next argument in argv */
- XrmoptionSkipArg, /* Ignore this option and the next argument in argv */
- XrmoptionSkipLine, /* Ignore this option and the rest of argv */
- XrmoptionSkipNArgs /* Ignore this option and the next
- OptionDescRes.value arguments in argv */
-} XrmOptionKind;
-
-typedef struct {
- char *option; /* Option abbreviation in argv */
- char *specifier; /* Resource specifier */
- XrmOptionKind argKind; /* Which style of option it is */
- XPointer value; /* Value to provide if XrmoptionNoArg */
-} XrmOptionDescRec, *XrmOptionDescList;
-
-
-extern void XrmParseCommand(
- XrmDatabase* /* database */,
- XrmOptionDescList /* table */,
- int /* table_count */,
- _Xconst char* /* name */,
- int* /* argc_in_out */,
- char** /* argv_in_out */
-);
-
-_XFUNCPROTOEND
-
-#endif /* _XRESOURCE_H_ */
-/* DON'T ADD STUFF AFTER THIS #endif */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _X11_XRESOURCE_H_
+#define _X11_XRESOURCE_H_
+
+#ifndef _XP_PRINT_SERVER_
+#include <X11/Xlib.h>
+#endif
+
+/****************************************************************
+ ****************************************************************
+ *** ***
+ *** ***
+ *** X Resource Manager Intrinsics ***
+ *** ***
+ *** ***
+ ****************************************************************
+ ****************************************************************/
+
+_XFUNCPROTOBEGIN
+
+/****************************************************************
+ *
+ * Memory Management
+ *
+ ****************************************************************/
+
+extern char *Xpermalloc(
+ unsigned int /* size */
+);
+
+/****************************************************************
+ *
+ * Quark Management
+ *
+ ****************************************************************/
+
+typedef int XrmQuark, *XrmQuarkList;
+#define NULLQUARK ((XrmQuark) 0)
+
+typedef char *XrmString;
+#define NULLSTRING ((XrmString) 0)
+
+/* find quark for string, create new quark if none already exists */
+extern XrmQuark XrmStringToQuark(
+ _Xconst char* /* string */
+);
+
+extern XrmQuark XrmPermStringToQuark(
+ _Xconst char* /* string */
+);
+
+/* find string for quark */
+extern XrmString XrmQuarkToString(
+ XrmQuark /* quark */
+);
+
+extern XrmQuark XrmUniqueQuark(
+ void
+);
+
+#define XrmStringsEqual(a1, a2) (strcmp(a1, a2) == 0)
+
+
+/****************************************************************
+ *
+ * Conversion of Strings to Lists
+ *
+ ****************************************************************/
+
+typedef enum {XrmBindTightly, XrmBindLoosely} XrmBinding, *XrmBindingList;
+
+extern void XrmStringToQuarkList(
+ _Xconst char* /* string */,
+ XrmQuarkList /* quarks_return */
+);
+
+extern void XrmStringToBindingQuarkList(
+ _Xconst char* /* string */,
+ XrmBindingList /* bindings_return */,
+ XrmQuarkList /* quarks_return */
+);
+
+/****************************************************************
+ *
+ * Name and Class lists.
+ *
+ ****************************************************************/
+
+typedef XrmQuark XrmName;
+typedef XrmQuarkList XrmNameList;
+#define XrmNameToString(name) XrmQuarkToString(name)
+#define XrmStringToName(string) XrmStringToQuark(string)
+#define XrmStringToNameList(str, name) XrmStringToQuarkList(str, name)
+
+typedef XrmQuark XrmClass;
+typedef XrmQuarkList XrmClassList;
+#define XrmClassToString(c_class) XrmQuarkToString(c_class)
+#define XrmStringToClass(c_class) XrmStringToQuark(c_class)
+#define XrmStringToClassList(str,c_class) XrmStringToQuarkList(str, c_class)
+
+
+
+/****************************************************************
+ *
+ * Resource Representation Types and Values
+ *
+ ****************************************************************/
+
+typedef XrmQuark XrmRepresentation;
+#define XrmStringToRepresentation(string) XrmStringToQuark(string)
+#define XrmRepresentationToString(type) XrmQuarkToString(type)
+
+typedef struct {
+ unsigned int size;
+ XPointer addr;
+} XrmValue, *XrmValuePtr;
+
+
+/****************************************************************
+ *
+ * Resource Manager Functions
+ *
+ ****************************************************************/
+
+typedef struct _XrmHashBucketRec *XrmHashBucket;
+typedef XrmHashBucket *XrmHashTable;
+typedef XrmHashTable XrmSearchList[];
+typedef struct _XrmHashBucketRec *XrmDatabase;
+
+
+extern void XrmDestroyDatabase(
+ XrmDatabase /* database */
+);
+
+extern void XrmQPutResource(
+ XrmDatabase* /* database */,
+ XrmBindingList /* bindings */,
+ XrmQuarkList /* quarks */,
+ XrmRepresentation /* type */,
+ XrmValue* /* value */
+);
+
+extern void XrmPutResource(
+ XrmDatabase* /* database */,
+ _Xconst char* /* specifier */,
+ _Xconst char* /* type */,
+ XrmValue* /* value */
+);
+
+extern void XrmQPutStringResource(
+ XrmDatabase* /* database */,
+ XrmBindingList /* bindings */,
+ XrmQuarkList /* quarks */,
+ _Xconst char* /* value */
+);
+
+extern void XrmPutStringResource(
+ XrmDatabase* /* database */,
+ _Xconst char* /* specifier */,
+ _Xconst char* /* value */
+);
+
+extern void XrmPutLineResource(
+ XrmDatabase* /* database */,
+ _Xconst char* /* line */
+);
+
+extern Bool XrmQGetResource(
+ XrmDatabase /* database */,
+ XrmNameList /* quark_name */,
+ XrmClassList /* quark_class */,
+ XrmRepresentation* /* quark_type_return */,
+ XrmValue* /* value_return */
+);
+
+extern Bool XrmGetResource(
+ XrmDatabase /* database */,
+ _Xconst char* /* str_name */,
+ _Xconst char* /* str_class */,
+ char** /* str_type_return */,
+ XrmValue* /* value_return */
+);
+
+extern Bool XrmQGetSearchList(
+ XrmDatabase /* database */,
+ XrmNameList /* names */,
+ XrmClassList /* classes */,
+ XrmSearchList /* list_return */,
+ int /* list_length */
+);
+
+extern Bool XrmQGetSearchResource(
+ XrmSearchList /* list */,
+ XrmName /* name */,
+ XrmClass /* class */,
+ XrmRepresentation* /* type_return */,
+ XrmValue* /* value_return */
+);
+
+/****************************************************************
+ *
+ * Resource Database Management
+ *
+ ****************************************************************/
+
+#ifndef _XP_PRINT_SERVER_
+
+extern void XrmSetDatabase(
+ Display* /* display */,
+ XrmDatabase /* database */
+);
+
+extern XrmDatabase XrmGetDatabase(
+ Display* /* display */
+);
+
+#endif /* !_XP_PRINT_SERVER_ */
+
+extern XrmDatabase XrmGetFileDatabase(
+ _Xconst char* /* filename */
+);
+
+extern Status XrmCombineFileDatabase(
+ _Xconst char* /* filename */,
+ XrmDatabase* /* target */,
+ Bool /* override */
+);
+
+extern XrmDatabase XrmGetStringDatabase(
+ _Xconst char* /* data */ /* null terminated string */
+);
+
+extern void XrmPutFileDatabase(
+ XrmDatabase /* database */,
+ _Xconst char* /* filename */
+);
+
+extern void XrmMergeDatabases(
+ XrmDatabase /* source_db */,
+ XrmDatabase* /* target_db */
+);
+
+extern void XrmCombineDatabase(
+ XrmDatabase /* source_db */,
+ XrmDatabase* /* target_db */,
+ Bool /* override */
+);
+
+#define XrmEnumAllLevels 0
+#define XrmEnumOneLevel 1
+
+extern Bool XrmEnumerateDatabase(
+ XrmDatabase /* db */,
+ XrmNameList /* name_prefix */,
+ XrmClassList /* class_prefix */,
+ int /* mode */,
+ Bool (*)(
+ XrmDatabase* /* db */,
+ XrmBindingList /* bindings */,
+ XrmQuarkList /* quarks */,
+ XrmRepresentation* /* type */,
+ XrmValue* /* value */,
+ XPointer /* closure */
+ ) /* proc */,
+ XPointer /* closure */
+);
+
+extern const char *XrmLocaleOfDatabase(
+ XrmDatabase /* database */
+);
+
+
+/****************************************************************
+ *
+ * Command line option mapping to resource entries
+ *
+ ****************************************************************/
+
+typedef enum {
+ XrmoptionNoArg, /* Value is specified in OptionDescRec.value */
+ XrmoptionIsArg, /* Value is the option string itself */
+ XrmoptionStickyArg, /* Value is characters immediately following option */
+ XrmoptionSepArg, /* Value is next argument in argv */
+ XrmoptionResArg, /* Resource and value in next argument in argv */
+ XrmoptionSkipArg, /* Ignore this option and the next argument in argv */
+ XrmoptionSkipLine, /* Ignore this option and the rest of argv */
+ XrmoptionSkipNArgs /* Ignore this option and the next
+ OptionDescRes.value arguments in argv */
+} XrmOptionKind;
+
+typedef struct {
+ char *option; /* Option abbreviation in argv */
+ char *specifier; /* Resource specifier */
+ XrmOptionKind argKind; /* Which style of option it is */
+ XPointer value; /* Value to provide if XrmoptionNoArg */
+} XrmOptionDescRec, *XrmOptionDescList;
+
+
+extern void XrmParseCommand(
+ XrmDatabase* /* database */,
+ XrmOptionDescList /* table */,
+ int /* table_count */,
+ _Xconst char* /* name */,
+ int* /* argc_in_out */,
+ char** /* argv_in_out */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _X11_XRESOURCE_H_ */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/libX11/include/X11/Xutil.h b/libX11/include/X11/Xutil.h
index 8ff34d9f0..a97f489f1 100644
--- a/libX11/include/X11/Xutil.h
+++ b/libX11/include/X11/Xutil.h
@@ -1,826 +1,826 @@
-
-/***********************************************************
-
-Copyright 1987, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
- All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the name of Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
-ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-SOFTWARE.
-
-******************************************************************/
-
-#ifndef _XUTIL_H_
-#define _XUTIL_H_
-
-/* You must include <X11/Xlib.h> before including this file */
-#include <X11/Xlib.h>
-#include <X11/keysym.h>
-
-/*
- * Bitmask returned by XParseGeometry(). Each bit tells if the corresponding
- * value (x, y, width, height) was found in the parsed string.
- */
-#define NoValue 0x0000
-#define XValue 0x0001
-#define YValue 0x0002
-#define WidthValue 0x0004
-#define HeightValue 0x0008
-#define AllValues 0x000F
-#define XNegative 0x0010
-#define YNegative 0x0020
-
-/*
- * new version containing base_width, base_height, and win_gravity fields;
- * used with WM_NORMAL_HINTS.
- */
-typedef struct {
- long flags; /* marks which fields in this structure are defined */
- int x, y; /* obsolete for new window mgrs, but clients */
- int width, height; /* should set so old wm's don't mess up */
- int min_width, min_height;
- int max_width, max_height;
- int width_inc, height_inc;
- struct {
- int x; /* numerator */
- int y; /* denominator */
- } min_aspect, max_aspect;
- int base_width, base_height; /* added by ICCCM version 1 */
- int win_gravity; /* added by ICCCM version 1 */
-} XSizeHints;
-
-/*
- * The next block of definitions are for window manager properties that
- * clients and applications use for communication.
- */
-
-/* flags argument in size hints */
-#define USPosition (1L << 0) /* user specified x, y */
-#define USSize (1L << 1) /* user specified width, height */
-
-#define PPosition (1L << 2) /* program specified position */
-#define PSize (1L << 3) /* program specified size */
-#define PMinSize (1L << 4) /* program specified minimum size */
-#define PMaxSize (1L << 5) /* program specified maximum size */
-#define PResizeInc (1L << 6) /* program specified resize increments */
-#define PAspect (1L << 7) /* program specified min and max aspect ratios */
-#define PBaseSize (1L << 8) /* program specified base for incrementing */
-#define PWinGravity (1L << 9) /* program specified window gravity */
-
-/* obsolete */
-#define PAllHints (PPosition|PSize|PMinSize|PMaxSize|PResizeInc|PAspect)
-
-
-
-typedef struct {
- long flags; /* marks which fields in this structure are defined */
- Bool input; /* does this application rely on the window manager to
- get keyboard input? */
- int initial_state; /* see below */
- Pixmap icon_pixmap; /* pixmap to be used as icon */
- Window icon_window; /* window to be used as icon */
- int icon_x, icon_y; /* initial position of icon */
- Pixmap icon_mask; /* icon mask bitmap */
- XID window_group; /* id of related window group */
- /* this structure may be extended in the future */
-} XWMHints;
-
-/* definition for flags of XWMHints */
-
-#define InputHint (1L << 0)
-#define StateHint (1L << 1)
-#define IconPixmapHint (1L << 2)
-#define IconWindowHint (1L << 3)
-#define IconPositionHint (1L << 4)
-#define IconMaskHint (1L << 5)
-#define WindowGroupHint (1L << 6)
-#define AllHints (InputHint|StateHint|IconPixmapHint|IconWindowHint| \
-IconPositionHint|IconMaskHint|WindowGroupHint)
-#define XUrgencyHint (1L << 8)
-
-/* definitions for initial window state */
-#define WithdrawnState 0 /* for windows that are not mapped */
-#define NormalState 1 /* most applications want to start this way */
-#define IconicState 3 /* application wants to start as an icon */
-
-/*
- * Obsolete states no longer defined by ICCCM
- */
-#define DontCareState 0 /* don't know or care */
-#define ZoomState 2 /* application wants to start zoomed */
-#define InactiveState 4 /* application believes it is seldom used; */
- /* some wm's may put it on inactive menu */
-
-
-/*
- * new structure for manipulating TEXT properties; used with WM_NAME,
- * WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND.
- */
-typedef struct {
- unsigned char *value; /* same as Property routines */
- Atom encoding; /* prop type */
- int format; /* prop data format: 8, 16, or 32 */
- unsigned long nitems; /* number of data items in value */
-} XTextProperty;
-
-#define XNoMemory -1
-#define XLocaleNotSupported -2
-#define XConverterNotFound -3
-
-typedef enum {
- XStringStyle, /* STRING */
- XCompoundTextStyle, /* COMPOUND_TEXT */
- XTextStyle, /* text in owner's encoding (current locale)*/
- XStdICCTextStyle, /* STRING, else COMPOUND_TEXT */
- /* The following is an XFree86 extension, introduced in November 2000 */
- XUTF8StringStyle /* UTF8_STRING */
-} XICCEncodingStyle;
-
-typedef struct {
- int min_width, min_height;
- int max_width, max_height;
- int width_inc, height_inc;
-} XIconSize;
-
-typedef struct {
- char *res_name;
- char *res_class;
-} XClassHint;
-
-#ifdef XUTIL_DEFINE_FUNCTIONS
-extern int XDestroyImage(
- XImage *ximage);
-extern unsigned long XGetPixel(
- XImage *ximage,
- int x, int y);
-extern int XPutPixel(
- XImage *ximage,
- int x, int y,
- unsigned long pixel);
-extern XImage *XSubImage(
- XImage *ximage,
- int x, int y,
- unsigned int width, unsigned int height);
-extern int XAddPixel(
- XImage *ximage,
- long value);
-#else
-/*
- * These macros are used to give some sugar to the image routines so that
- * naive people are more comfortable with them.
- */
-#define XDestroyImage(ximage) \
- ((*((ximage)->f.destroy_image))((ximage)))
-#define XGetPixel(ximage, x, y) \
- ((*((ximage)->f.get_pixel))((ximage), (x), (y)))
-#define XPutPixel(ximage, x, y, pixel) \
- ((*((ximage)->f.put_pixel))((ximage), (x), (y), (pixel)))
-#define XSubImage(ximage, x, y, width, height) \
- ((*((ximage)->f.sub_image))((ximage), (x), (y), (width), (height)))
-#define XAddPixel(ximage, value) \
- ((*((ximage)->f.add_pixel))((ximage), (value)))
-#endif
-
-/*
- * Compose sequence status structure, used in calling XLookupString.
- */
-typedef struct _XComposeStatus {
- XPointer compose_ptr; /* state table pointer */
- int chars_matched; /* match state */
-} XComposeStatus;
-
-/*
- * Keysym macros, used on Keysyms to test for classes of symbols
- */
-#define IsKeypadKey(keysym) \
- (((KeySym)(keysym) >= XK_KP_Space) && ((KeySym)(keysym) <= XK_KP_Equal))
-
-#define IsPrivateKeypadKey(keysym) \
- (((KeySym)(keysym) >= 0x11000000) && ((KeySym)(keysym) <= 0x1100FFFF))
-
-#define IsCursorKey(keysym) \
- (((KeySym)(keysym) >= XK_Home) && ((KeySym)(keysym) < XK_Select))
-
-#define IsPFKey(keysym) \
- (((KeySym)(keysym) >= XK_KP_F1) && ((KeySym)(keysym) <= XK_KP_F4))
-
-#define IsFunctionKey(keysym) \
- (((KeySym)(keysym) >= XK_F1) && ((KeySym)(keysym) <= XK_F35))
-
-#define IsMiscFunctionKey(keysym) \
- (((KeySym)(keysym) >= XK_Select) && ((KeySym)(keysym) <= XK_Break))
-
-#ifdef XK_XKB_KEYS
-#define IsModifierKey(keysym) \
- ((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \
- || (((KeySym)(keysym) >= XK_ISO_Lock) && \
- ((KeySym)(keysym) <= XK_ISO_Last_Group_Lock)) \
- || ((KeySym)(keysym) == XK_Mode_switch) \
- || ((KeySym)(keysym) == XK_Num_Lock))
-#else
-#define IsModifierKey(keysym) \
- ((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \
- || ((KeySym)(keysym) == XK_Mode_switch) \
- || ((KeySym)(keysym) == XK_Num_Lock))
-#endif
-/*
- * opaque reference to Region data type
- */
-typedef struct _XRegion *Region;
-
-/* Return values from XRectInRegion() */
-
-#define RectangleOut 0
-#define RectangleIn 1
-#define RectanglePart 2
-
-
-/*
- * Information used by the visual utility routines to find desired visual
- * type from the many visuals a display may support.
- */
-
-typedef struct {
- Visual *visual;
- VisualID visualid;
- int screen;
- int depth;
-#if defined(__cplusplus) || defined(c_plusplus)
- int c_class; /* C++ */
-#else
- int class;
-#endif
- unsigned long red_mask;
- unsigned long green_mask;
- unsigned long blue_mask;
- int colormap_size;
- int bits_per_rgb;
-} XVisualInfo;
-
-#define VisualNoMask 0x0
-#define VisualIDMask 0x1
-#define VisualScreenMask 0x2
-#define VisualDepthMask 0x4
-#define VisualClassMask 0x8
-#define VisualRedMaskMask 0x10
-#define VisualGreenMaskMask 0x20
-#define VisualBlueMaskMask 0x40
-#define VisualColormapSizeMask 0x80
-#define VisualBitsPerRGBMask 0x100
-#define VisualAllMask 0x1FF
-
-/*
- * This defines a window manager property that clients may use to
- * share standard color maps of type RGB_COLOR_MAP:
- */
-typedef struct {
- Colormap colormap;
- unsigned long red_max;
- unsigned long red_mult;
- unsigned long green_max;
- unsigned long green_mult;
- unsigned long blue_max;
- unsigned long blue_mult;
- unsigned long base_pixel;
- VisualID visualid; /* added by ICCCM version 1 */
- XID killid; /* added by ICCCM version 1 */
-} XStandardColormap;
-
-#define ReleaseByFreeingColormap ((XID) 1L) /* for killid field above */
-
-
-/*
- * return codes for XReadBitmapFile and XWriteBitmapFile
- */
-#define BitmapSuccess 0
-#define BitmapOpenFailed 1
-#define BitmapFileInvalid 2
-#define BitmapNoMemory 3
-
-/****************************************************************
- *
- * Context Management
- *
- ****************************************************************/
-
-
-/* Associative lookup table return codes */
-
-#define XCSUCCESS 0 /* No error. */
-#define XCNOMEM 1 /* Out of memory */
-#define XCNOENT 2 /* No entry in table */
-
-typedef int XContext;
-
-#define XUniqueContext() ((XContext) XrmUniqueQuark())
-#define XStringToContext(string) ((XContext) XrmStringToQuark(string))
-
-_XFUNCPROTOBEGIN
-
-/* The following declarations are alphabetized. */
-
-extern XClassHint *XAllocClassHint (
- void
-);
-
-extern XIconSize *XAllocIconSize (
- void
-);
-
-extern XSizeHints *XAllocSizeHints (
- void
-);
-
-extern XStandardColormap *XAllocStandardColormap (
- void
-);
-
-extern XWMHints *XAllocWMHints (
- void
-);
-
-extern int XClipBox(
- Region /* r */,
- XRectangle* /* rect_return */
-);
-
-extern Region XCreateRegion(
- void
-);
-
-extern const char *XDefaultString (void);
-
-extern int XDeleteContext(
- Display* /* display */,
- XID /* rid */,
- XContext /* context */
-);
-
-extern int XDestroyRegion(
- Region /* r */
-);
-
-extern int XEmptyRegion(
- Region /* r */
-);
-
-extern int XEqualRegion(
- Region /* r1 */,
- Region /* r2 */
-);
-
-extern int XFindContext(
- Display* /* display */,
- XID /* rid */,
- XContext /* context */,
- XPointer* /* data_return */
-);
-
-extern Status XGetClassHint(
- Display* /* display */,
- Window /* w */,
- XClassHint* /* class_hints_return */
-);
-
-extern Status XGetIconSizes(
- Display* /* display */,
- Window /* w */,
- XIconSize** /* size_list_return */,
- int* /* count_return */
-);
-
-extern Status XGetNormalHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* hints_return */
-);
-
-extern Status XGetRGBColormaps(
- Display* /* display */,
- Window /* w */,
- XStandardColormap** /* stdcmap_return */,
- int* /* count_return */,
- Atom /* property */
-);
-
-extern Status XGetSizeHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* hints_return */,
- Atom /* property */
-);
-
-extern Status XGetStandardColormap(
- Display* /* display */,
- Window /* w */,
- XStandardColormap* /* colormap_return */,
- Atom /* property */
-);
-
-extern Status XGetTextProperty(
- Display* /* display */,
- Window /* window */,
- XTextProperty* /* text_prop_return */,
- Atom /* property */
-);
-
-extern XVisualInfo *XGetVisualInfo(
- Display* /* display */,
- long /* vinfo_mask */,
- XVisualInfo* /* vinfo_template */,
- int* /* nitems_return */
-);
-
-extern Status XGetWMClientMachine(
- Display* /* display */,
- Window /* w */,
- XTextProperty* /* text_prop_return */
-);
-
-extern XWMHints *XGetWMHints(
- Display* /* display */,
- Window /* w */
-);
-
-extern Status XGetWMIconName(
- Display* /* display */,
- Window /* w */,
- XTextProperty* /* text_prop_return */
-);
-
-extern Status XGetWMName(
- Display* /* display */,
- Window /* w */,
- XTextProperty* /* text_prop_return */
-);
-
-extern Status XGetWMNormalHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* hints_return */,
- long* /* supplied_return */
-);
-
-extern Status XGetWMSizeHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* hints_return */,
- long* /* supplied_return */,
- Atom /* property */
-);
-
-extern Status XGetZoomHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* zhints_return */
-);
-
-extern int XIntersectRegion(
- Region /* sra */,
- Region /* srb */,
- Region /* dr_return */
-);
-
-extern void XConvertCase(
- KeySym /* sym */,
- KeySym* /* lower */,
- KeySym* /* upper */
-);
-
-extern int XLookupString(
- XKeyEvent* /* event_struct */,
- char* /* buffer_return */,
- int /* bytes_buffer */,
- KeySym* /* keysym_return */,
- XComposeStatus* /* status_in_out */
-);
-
-extern Status XMatchVisualInfo(
- Display* /* display */,
- int /* screen */,
- int /* depth */,
- int /* class */,
- XVisualInfo* /* vinfo_return */
-);
-
-extern int XOffsetRegion(
- Region /* r */,
- int /* dx */,
- int /* dy */
-);
-
-extern Bool XPointInRegion(
- Region /* r */,
- int /* x */,
- int /* y */
-);
-
-extern Region XPolygonRegion(
- XPoint* /* points */,
- int /* n */,
- int /* fill_rule */
-);
-
-extern int XRectInRegion(
- Region /* r */,
- int /* x */,
- int /* y */,
- unsigned int /* width */,
- unsigned int /* height */
-);
-
-extern int XSaveContext(
- Display* /* display */,
- XID /* rid */,
- XContext /* context */,
- _Xconst char* /* data */
-);
-
-extern int XSetClassHint(
- Display* /* display */,
- Window /* w */,
- XClassHint* /* class_hints */
-);
-
-extern int XSetIconSizes(
- Display* /* display */,
- Window /* w */,
- XIconSize* /* size_list */,
- int /* count */
-);
-
-extern int XSetNormalHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* hints */
-);
-
-extern void XSetRGBColormaps(
- Display* /* display */,
- Window /* w */,
- XStandardColormap* /* stdcmaps */,
- int /* count */,
- Atom /* property */
-);
-
-extern int XSetSizeHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* hints */,
- Atom /* property */
-);
-
-extern int XSetStandardProperties(
- Display* /* display */,
- Window /* w */,
- _Xconst char* /* window_name */,
- _Xconst char* /* icon_name */,
- Pixmap /* icon_pixmap */,
- char** /* argv */,
- int /* argc */,
- XSizeHints* /* hints */
-);
-
-extern void XSetTextProperty(
- Display* /* display */,
- Window /* w */,
- XTextProperty* /* text_prop */,
- Atom /* property */
-);
-
-extern void XSetWMClientMachine(
- Display* /* display */,
- Window /* w */,
- XTextProperty* /* text_prop */
-);
-
-extern int XSetWMHints(
- Display* /* display */,
- Window /* w */,
- XWMHints* /* wm_hints */
-);
-
-extern void XSetWMIconName(
- Display* /* display */,
- Window /* w */,
- XTextProperty* /* text_prop */
-);
-
-extern void XSetWMName(
- Display* /* display */,
- Window /* w */,
- XTextProperty* /* text_prop */
-);
-
-extern void XSetWMNormalHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* hints */
-);
-
-extern void XSetWMProperties(
- Display* /* display */,
- Window /* w */,
- XTextProperty* /* window_name */,
- XTextProperty* /* icon_name */,
- char** /* argv */,
- int /* argc */,
- XSizeHints* /* normal_hints */,
- XWMHints* /* wm_hints */,
- XClassHint* /* class_hints */
-);
-
-extern void XmbSetWMProperties(
- Display* /* display */,
- Window /* w */,
- _Xconst char* /* window_name */,
- _Xconst char* /* icon_name */,
- char** /* argv */,
- int /* argc */,
- XSizeHints* /* normal_hints */,
- XWMHints* /* wm_hints */,
- XClassHint* /* class_hints */
-);
-
-extern void Xutf8SetWMProperties(
- Display* /* display */,
- Window /* w */,
- _Xconst char* /* window_name */,
- _Xconst char* /* icon_name */,
- char** /* argv */,
- int /* argc */,
- XSizeHints* /* normal_hints */,
- XWMHints* /* wm_hints */,
- XClassHint* /* class_hints */
-);
-
-extern void XSetWMSizeHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* hints */,
- Atom /* property */
-);
-
-extern int XSetRegion(
- Display* /* display */,
- GC /* gc */,
- Region /* r */
-);
-
-extern void XSetStandardColormap(
- Display* /* display */,
- Window /* w */,
- XStandardColormap* /* colormap */,
- Atom /* property */
-);
-
-extern int XSetZoomHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* zhints */
-);
-
-extern int XShrinkRegion(
- Region /* r */,
- int /* dx */,
- int /* dy */
-);
-
-extern Status XStringListToTextProperty(
- char** /* list */,
- int /* count */,
- XTextProperty* /* text_prop_return */
-);
-
-extern int XSubtractRegion(
- Region /* sra */,
- Region /* srb */,
- Region /* dr_return */
-);
-
-extern int XmbTextListToTextProperty(
- Display* display,
- char** list,
- int count,
- XICCEncodingStyle style,
- XTextProperty* text_prop_return
-);
-
-extern int XwcTextListToTextProperty(
- Display* display,
- wchar_t** list,
- int count,
- XICCEncodingStyle style,
- XTextProperty* text_prop_return
-);
-
-extern int Xutf8TextListToTextProperty(
- Display* display,
- char** list,
- int count,
- XICCEncodingStyle style,
- XTextProperty* text_prop_return
-);
-
-extern void XwcFreeStringList(
- wchar_t** list
-);
-
-extern Status XTextPropertyToStringList(
- XTextProperty* /* text_prop */,
- char*** /* list_return */,
- int* /* count_return */
-);
-
-extern int XmbTextPropertyToTextList(
- Display* display,
- const XTextProperty* text_prop,
- char*** list_return,
- int* count_return
-);
-
-extern int XwcTextPropertyToTextList(
- Display* display,
- const XTextProperty* text_prop,
- wchar_t*** list_return,
- int* count_return
-);
-
-extern int Xutf8TextPropertyToTextList(
- Display* display,
- const XTextProperty* text_prop,
- char*** list_return,
- int* count_return
-);
-
-extern int XUnionRectWithRegion(
- XRectangle* /* rectangle */,
- Region /* src_region */,
- Region /* dest_region_return */
-);
-
-extern int XUnionRegion(
- Region /* sra */,
- Region /* srb */,
- Region /* dr_return */
-);
-
-extern int XWMGeometry(
- Display* /* display */,
- int /* screen_number */,
- _Xconst char* /* user_geometry */,
- _Xconst char* /* default_geometry */,
- unsigned int /* border_width */,
- XSizeHints* /* hints */,
- int* /* x_return */,
- int* /* y_return */,
- int* /* width_return */,
- int* /* height_return */,
- int* /* gravity_return */
-);
-
-extern int XXorRegion(
- Region /* sra */,
- Region /* srb */,
- Region /* dr_return */
-);
-
-_XFUNCPROTOEND
-
-#endif /* _XUTIL_H_ */
+
+/***********************************************************
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _X11_XUTIL_H_
+#define _X11_XUTIL_H_
+
+/* You must include <X11/Xlib.h> before including this file */
+#include <X11/Xlib.h>
+#include <X11/keysym.h>
+
+/*
+ * Bitmask returned by XParseGeometry(). Each bit tells if the corresponding
+ * value (x, y, width, height) was found in the parsed string.
+ */
+#define NoValue 0x0000
+#define XValue 0x0001
+#define YValue 0x0002
+#define WidthValue 0x0004
+#define HeightValue 0x0008
+#define AllValues 0x000F
+#define XNegative 0x0010
+#define YNegative 0x0020
+
+/*
+ * new version containing base_width, base_height, and win_gravity fields;
+ * used with WM_NORMAL_HINTS.
+ */
+typedef struct {
+ long flags; /* marks which fields in this structure are defined */
+ int x, y; /* obsolete for new window mgrs, but clients */
+ int width, height; /* should set so old wm's don't mess up */
+ int min_width, min_height;
+ int max_width, max_height;
+ int width_inc, height_inc;
+ struct {
+ int x; /* numerator */
+ int y; /* denominator */
+ } min_aspect, max_aspect;
+ int base_width, base_height; /* added by ICCCM version 1 */
+ int win_gravity; /* added by ICCCM version 1 */
+} XSizeHints;
+
+/*
+ * The next block of definitions are for window manager properties that
+ * clients and applications use for communication.
+ */
+
+/* flags argument in size hints */
+#define USPosition (1L << 0) /* user specified x, y */
+#define USSize (1L << 1) /* user specified width, height */
+
+#define PPosition (1L << 2) /* program specified position */
+#define PSize (1L << 3) /* program specified size */
+#define PMinSize (1L << 4) /* program specified minimum size */
+#define PMaxSize (1L << 5) /* program specified maximum size */
+#define PResizeInc (1L << 6) /* program specified resize increments */
+#define PAspect (1L << 7) /* program specified min and max aspect ratios */
+#define PBaseSize (1L << 8) /* program specified base for incrementing */
+#define PWinGravity (1L << 9) /* program specified window gravity */
+
+/* obsolete */
+#define PAllHints (PPosition|PSize|PMinSize|PMaxSize|PResizeInc|PAspect)
+
+
+
+typedef struct {
+ long flags; /* marks which fields in this structure are defined */
+ Bool input; /* does this application rely on the window manager to
+ get keyboard input? */
+ int initial_state; /* see below */
+ Pixmap icon_pixmap; /* pixmap to be used as icon */
+ Window icon_window; /* window to be used as icon */
+ int icon_x, icon_y; /* initial position of icon */
+ Pixmap icon_mask; /* icon mask bitmap */
+ XID window_group; /* id of related window group */
+ /* this structure may be extended in the future */
+} XWMHints;
+
+/* definition for flags of XWMHints */
+
+#define InputHint (1L << 0)
+#define StateHint (1L << 1)
+#define IconPixmapHint (1L << 2)
+#define IconWindowHint (1L << 3)
+#define IconPositionHint (1L << 4)
+#define IconMaskHint (1L << 5)
+#define WindowGroupHint (1L << 6)
+#define AllHints (InputHint|StateHint|IconPixmapHint|IconWindowHint| \
+IconPositionHint|IconMaskHint|WindowGroupHint)
+#define XUrgencyHint (1L << 8)
+
+/* definitions for initial window state */
+#define WithdrawnState 0 /* for windows that are not mapped */
+#define NormalState 1 /* most applications want to start this way */
+#define IconicState 3 /* application wants to start as an icon */
+
+/*
+ * Obsolete states no longer defined by ICCCM
+ */
+#define DontCareState 0 /* don't know or care */
+#define ZoomState 2 /* application wants to start zoomed */
+#define InactiveState 4 /* application believes it is seldom used; */
+ /* some wm's may put it on inactive menu */
+
+
+/*
+ * new structure for manipulating TEXT properties; used with WM_NAME,
+ * WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND.
+ */
+typedef struct {
+ unsigned char *value; /* same as Property routines */
+ Atom encoding; /* prop type */
+ int format; /* prop data format: 8, 16, or 32 */
+ unsigned long nitems; /* number of data items in value */
+} XTextProperty;
+
+#define XNoMemory -1
+#define XLocaleNotSupported -2
+#define XConverterNotFound -3
+
+typedef enum {
+ XStringStyle, /* STRING */
+ XCompoundTextStyle, /* COMPOUND_TEXT */
+ XTextStyle, /* text in owner's encoding (current locale)*/
+ XStdICCTextStyle, /* STRING, else COMPOUND_TEXT */
+ /* The following is an XFree86 extension, introduced in November 2000 */
+ XUTF8StringStyle /* UTF8_STRING */
+} XICCEncodingStyle;
+
+typedef struct {
+ int min_width, min_height;
+ int max_width, max_height;
+ int width_inc, height_inc;
+} XIconSize;
+
+typedef struct {
+ char *res_name;
+ char *res_class;
+} XClassHint;
+
+#ifdef XUTIL_DEFINE_FUNCTIONS
+extern int XDestroyImage(
+ XImage *ximage);
+extern unsigned long XGetPixel(
+ XImage *ximage,
+ int x, int y);
+extern int XPutPixel(
+ XImage *ximage,
+ int x, int y,
+ unsigned long pixel);
+extern XImage *XSubImage(
+ XImage *ximage,
+ int x, int y,
+ unsigned int width, unsigned int height);
+extern int XAddPixel(
+ XImage *ximage,
+ long value);
+#else
+/*
+ * These macros are used to give some sugar to the image routines so that
+ * naive people are more comfortable with them.
+ */
+#define XDestroyImage(ximage) \
+ ((*((ximage)->f.destroy_image))((ximage)))
+#define XGetPixel(ximage, x, y) \
+ ((*((ximage)->f.get_pixel))((ximage), (x), (y)))
+#define XPutPixel(ximage, x, y, pixel) \
+ ((*((ximage)->f.put_pixel))((ximage), (x), (y), (pixel)))
+#define XSubImage(ximage, x, y, width, height) \
+ ((*((ximage)->f.sub_image))((ximage), (x), (y), (width), (height)))
+#define XAddPixel(ximage, value) \
+ ((*((ximage)->f.add_pixel))((ximage), (value)))
+#endif
+
+/*
+ * Compose sequence status structure, used in calling XLookupString.
+ */
+typedef struct _XComposeStatus {
+ XPointer compose_ptr; /* state table pointer */
+ int chars_matched; /* match state */
+} XComposeStatus;
+
+/*
+ * Keysym macros, used on Keysyms to test for classes of symbols
+ */
+#define IsKeypadKey(keysym) \
+ (((KeySym)(keysym) >= XK_KP_Space) && ((KeySym)(keysym) <= XK_KP_Equal))
+
+#define IsPrivateKeypadKey(keysym) \
+ (((KeySym)(keysym) >= 0x11000000) && ((KeySym)(keysym) <= 0x1100FFFF))
+
+#define IsCursorKey(keysym) \
+ (((KeySym)(keysym) >= XK_Home) && ((KeySym)(keysym) < XK_Select))
+
+#define IsPFKey(keysym) \
+ (((KeySym)(keysym) >= XK_KP_F1) && ((KeySym)(keysym) <= XK_KP_F4))
+
+#define IsFunctionKey(keysym) \
+ (((KeySym)(keysym) >= XK_F1) && ((KeySym)(keysym) <= XK_F35))
+
+#define IsMiscFunctionKey(keysym) \
+ (((KeySym)(keysym) >= XK_Select) && ((KeySym)(keysym) <= XK_Break))
+
+#ifdef XK_XKB_KEYS
+#define IsModifierKey(keysym) \
+ ((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \
+ || (((KeySym)(keysym) >= XK_ISO_Lock) && \
+ ((KeySym)(keysym) <= XK_ISO_Last_Group_Lock)) \
+ || ((KeySym)(keysym) == XK_Mode_switch) \
+ || ((KeySym)(keysym) == XK_Num_Lock))
+#else
+#define IsModifierKey(keysym) \
+ ((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \
+ || ((KeySym)(keysym) == XK_Mode_switch) \
+ || ((KeySym)(keysym) == XK_Num_Lock))
+#endif
+/*
+ * opaque reference to Region data type
+ */
+typedef struct _XRegion *Region;
+
+/* Return values from XRectInRegion() */
+
+#define RectangleOut 0
+#define RectangleIn 1
+#define RectanglePart 2
+
+
+/*
+ * Information used by the visual utility routines to find desired visual
+ * type from the many visuals a display may support.
+ */
+
+typedef struct {
+ Visual *visual;
+ VisualID visualid;
+ int screen;
+ int depth;
+#if defined(__cplusplus) || defined(c_plusplus)
+ int c_class; /* C++ */
+#else
+ int class;
+#endif
+ unsigned long red_mask;
+ unsigned long green_mask;
+ unsigned long blue_mask;
+ int colormap_size;
+ int bits_per_rgb;
+} XVisualInfo;
+
+#define VisualNoMask 0x0
+#define VisualIDMask 0x1
+#define VisualScreenMask 0x2
+#define VisualDepthMask 0x4
+#define VisualClassMask 0x8
+#define VisualRedMaskMask 0x10
+#define VisualGreenMaskMask 0x20
+#define VisualBlueMaskMask 0x40
+#define VisualColormapSizeMask 0x80
+#define VisualBitsPerRGBMask 0x100
+#define VisualAllMask 0x1FF
+
+/*
+ * This defines a window manager property that clients may use to
+ * share standard color maps of type RGB_COLOR_MAP:
+ */
+typedef struct {
+ Colormap colormap;
+ unsigned long red_max;
+ unsigned long red_mult;
+ unsigned long green_max;
+ unsigned long green_mult;
+ unsigned long blue_max;
+ unsigned long blue_mult;
+ unsigned long base_pixel;
+ VisualID visualid; /* added by ICCCM version 1 */
+ XID killid; /* added by ICCCM version 1 */
+} XStandardColormap;
+
+#define ReleaseByFreeingColormap ((XID) 1L) /* for killid field above */
+
+
+/*
+ * return codes for XReadBitmapFile and XWriteBitmapFile
+ */
+#define BitmapSuccess 0
+#define BitmapOpenFailed 1
+#define BitmapFileInvalid 2
+#define BitmapNoMemory 3
+
+/****************************************************************
+ *
+ * Context Management
+ *
+ ****************************************************************/
+
+
+/* Associative lookup table return codes */
+
+#define XCSUCCESS 0 /* No error. */
+#define XCNOMEM 1 /* Out of memory */
+#define XCNOENT 2 /* No entry in table */
+
+typedef int XContext;
+
+#define XUniqueContext() ((XContext) XrmUniqueQuark())
+#define XStringToContext(string) ((XContext) XrmStringToQuark(string))
+
+_XFUNCPROTOBEGIN
+
+/* The following declarations are alphabetized. */
+
+extern XClassHint *XAllocClassHint (
+ void
+);
+
+extern XIconSize *XAllocIconSize (
+ void
+);
+
+extern XSizeHints *XAllocSizeHints (
+ void
+);
+
+extern XStandardColormap *XAllocStandardColormap (
+ void
+);
+
+extern XWMHints *XAllocWMHints (
+ void
+);
+
+extern int XClipBox(
+ Region /* r */,
+ XRectangle* /* rect_return */
+);
+
+extern Region XCreateRegion(
+ void
+);
+
+extern const char *XDefaultString (void);
+
+extern int XDeleteContext(
+ Display* /* display */,
+ XID /* rid */,
+ XContext /* context */
+);
+
+extern int XDestroyRegion(
+ Region /* r */
+);
+
+extern int XEmptyRegion(
+ Region /* r */
+);
+
+extern int XEqualRegion(
+ Region /* r1 */,
+ Region /* r2 */
+);
+
+extern int XFindContext(
+ Display* /* display */,
+ XID /* rid */,
+ XContext /* context */,
+ XPointer* /* data_return */
+);
+
+extern Status XGetClassHint(
+ Display* /* display */,
+ Window /* w */,
+ XClassHint* /* class_hints_return */
+);
+
+extern Status XGetIconSizes(
+ Display* /* display */,
+ Window /* w */,
+ XIconSize** /* size_list_return */,
+ int* /* count_return */
+);
+
+extern Status XGetNormalHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints_return */
+);
+
+extern Status XGetRGBColormaps(
+ Display* /* display */,
+ Window /* w */,
+ XStandardColormap** /* stdcmap_return */,
+ int* /* count_return */,
+ Atom /* property */
+);
+
+extern Status XGetSizeHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints_return */,
+ Atom /* property */
+);
+
+extern Status XGetStandardColormap(
+ Display* /* display */,
+ Window /* w */,
+ XStandardColormap* /* colormap_return */,
+ Atom /* property */
+);
+
+extern Status XGetTextProperty(
+ Display* /* display */,
+ Window /* window */,
+ XTextProperty* /* text_prop_return */,
+ Atom /* property */
+);
+
+extern XVisualInfo *XGetVisualInfo(
+ Display* /* display */,
+ long /* vinfo_mask */,
+ XVisualInfo* /* vinfo_template */,
+ int* /* nitems_return */
+);
+
+extern Status XGetWMClientMachine(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop_return */
+);
+
+extern XWMHints *XGetWMHints(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern Status XGetWMIconName(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop_return */
+);
+
+extern Status XGetWMName(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop_return */
+);
+
+extern Status XGetWMNormalHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints_return */,
+ long* /* supplied_return */
+);
+
+extern Status XGetWMSizeHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints_return */,
+ long* /* supplied_return */,
+ Atom /* property */
+);
+
+extern Status XGetZoomHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* zhints_return */
+);
+
+extern int XIntersectRegion(
+ Region /* sra */,
+ Region /* srb */,
+ Region /* dr_return */
+);
+
+extern void XConvertCase(
+ KeySym /* sym */,
+ KeySym* /* lower */,
+ KeySym* /* upper */
+);
+
+extern int XLookupString(
+ XKeyEvent* /* event_struct */,
+ char* /* buffer_return */,
+ int /* bytes_buffer */,
+ KeySym* /* keysym_return */,
+ XComposeStatus* /* status_in_out */
+);
+
+extern Status XMatchVisualInfo(
+ Display* /* display */,
+ int /* screen */,
+ int /* depth */,
+ int /* class */,
+ XVisualInfo* /* vinfo_return */
+);
+
+extern int XOffsetRegion(
+ Region /* r */,
+ int /* dx */,
+ int /* dy */
+);
+
+extern Bool XPointInRegion(
+ Region /* r */,
+ int /* x */,
+ int /* y */
+);
+
+extern Region XPolygonRegion(
+ XPoint* /* points */,
+ int /* n */,
+ int /* fill_rule */
+);
+
+extern int XRectInRegion(
+ Region /* r */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+extern int XSaveContext(
+ Display* /* display */,
+ XID /* rid */,
+ XContext /* context */,
+ _Xconst char* /* data */
+);
+
+extern int XSetClassHint(
+ Display* /* display */,
+ Window /* w */,
+ XClassHint* /* class_hints */
+);
+
+extern int XSetIconSizes(
+ Display* /* display */,
+ Window /* w */,
+ XIconSize* /* size_list */,
+ int /* count */
+);
+
+extern int XSetNormalHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints */
+);
+
+extern void XSetRGBColormaps(
+ Display* /* display */,
+ Window /* w */,
+ XStandardColormap* /* stdcmaps */,
+ int /* count */,
+ Atom /* property */
+);
+
+extern int XSetSizeHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints */,
+ Atom /* property */
+);
+
+extern int XSetStandardProperties(
+ Display* /* display */,
+ Window /* w */,
+ _Xconst char* /* window_name */,
+ _Xconst char* /* icon_name */,
+ Pixmap /* icon_pixmap */,
+ char** /* argv */,
+ int /* argc */,
+ XSizeHints* /* hints */
+);
+
+extern void XSetTextProperty(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop */,
+ Atom /* property */
+);
+
+extern void XSetWMClientMachine(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop */
+);
+
+extern int XSetWMHints(
+ Display* /* display */,
+ Window /* w */,
+ XWMHints* /* wm_hints */
+);
+
+extern void XSetWMIconName(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop */
+);
+
+extern void XSetWMName(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop */
+);
+
+extern void XSetWMNormalHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints */
+);
+
+extern void XSetWMProperties(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* window_name */,
+ XTextProperty* /* icon_name */,
+ char** /* argv */,
+ int /* argc */,
+ XSizeHints* /* normal_hints */,
+ XWMHints* /* wm_hints */,
+ XClassHint* /* class_hints */
+);
+
+extern void XmbSetWMProperties(
+ Display* /* display */,
+ Window /* w */,
+ _Xconst char* /* window_name */,
+ _Xconst char* /* icon_name */,
+ char** /* argv */,
+ int /* argc */,
+ XSizeHints* /* normal_hints */,
+ XWMHints* /* wm_hints */,
+ XClassHint* /* class_hints */
+);
+
+extern void Xutf8SetWMProperties(
+ Display* /* display */,
+ Window /* w */,
+ _Xconst char* /* window_name */,
+ _Xconst char* /* icon_name */,
+ char** /* argv */,
+ int /* argc */,
+ XSizeHints* /* normal_hints */,
+ XWMHints* /* wm_hints */,
+ XClassHint* /* class_hints */
+);
+
+extern void XSetWMSizeHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints */,
+ Atom /* property */
+);
+
+extern int XSetRegion(
+ Display* /* display */,
+ GC /* gc */,
+ Region /* r */
+);
+
+extern void XSetStandardColormap(
+ Display* /* display */,
+ Window /* w */,
+ XStandardColormap* /* colormap */,
+ Atom /* property */
+);
+
+extern int XSetZoomHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* zhints */
+);
+
+extern int XShrinkRegion(
+ Region /* r */,
+ int /* dx */,
+ int /* dy */
+);
+
+extern Status XStringListToTextProperty(
+ char** /* list */,
+ int /* count */,
+ XTextProperty* /* text_prop_return */
+);
+
+extern int XSubtractRegion(
+ Region /* sra */,
+ Region /* srb */,
+ Region /* dr_return */
+);
+
+extern int XmbTextListToTextProperty(
+ Display* display,
+ char** list,
+ int count,
+ XICCEncodingStyle style,
+ XTextProperty* text_prop_return
+);
+
+extern int XwcTextListToTextProperty(
+ Display* display,
+ wchar_t** list,
+ int count,
+ XICCEncodingStyle style,
+ XTextProperty* text_prop_return
+);
+
+extern int Xutf8TextListToTextProperty(
+ Display* display,
+ char** list,
+ int count,
+ XICCEncodingStyle style,
+ XTextProperty* text_prop_return
+);
+
+extern void XwcFreeStringList(
+ wchar_t** list
+);
+
+extern Status XTextPropertyToStringList(
+ XTextProperty* /* text_prop */,
+ char*** /* list_return */,
+ int* /* count_return */
+);
+
+extern int XmbTextPropertyToTextList(
+ Display* display,
+ const XTextProperty* text_prop,
+ char*** list_return,
+ int* count_return
+);
+
+extern int XwcTextPropertyToTextList(
+ Display* display,
+ const XTextProperty* text_prop,
+ wchar_t*** list_return,
+ int* count_return
+);
+
+extern int Xutf8TextPropertyToTextList(
+ Display* display,
+ const XTextProperty* text_prop,
+ char*** list_return,
+ int* count_return
+);
+
+extern int XUnionRectWithRegion(
+ XRectangle* /* rectangle */,
+ Region /* src_region */,
+ Region /* dest_region_return */
+);
+
+extern int XUnionRegion(
+ Region /* sra */,
+ Region /* srb */,
+ Region /* dr_return */
+);
+
+extern int XWMGeometry(
+ Display* /* display */,
+ int /* screen_number */,
+ _Xconst char* /* user_geometry */,
+ _Xconst char* /* default_geometry */,
+ unsigned int /* border_width */,
+ XSizeHints* /* hints */,
+ int* /* x_return */,
+ int* /* y_return */,
+ int* /* width_return */,
+ int* /* height_return */,
+ int* /* gravity_return */
+);
+
+extern int XXorRegion(
+ Region /* sra */,
+ Region /* srb */,
+ Region /* dr_return */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _X11_XUTIL_H_ */
diff --git a/libX11/include/X11/cursorfont.h b/libX11/include/X11/cursorfont.h
index 70d71259b..d6319b6fa 100644
--- a/libX11/include/X11/cursorfont.h
+++ b/libX11/include/X11/cursorfont.h
@@ -1,111 +1,111 @@
-/*
-
-Copyright 1987, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
-OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall
-not be used in advertising or otherwise to promote the sale, use or
-other dealings in this Software without prior written authorization
-from The Open Group.
-
-*/
-
-#ifndef _cursorfont_h_
-#define _cursorfont_h_
-
-#define XC_num_glyphs 154
-#define XC_X_cursor 0
-#define XC_arrow 2
-#define XC_based_arrow_down 4
-#define XC_based_arrow_up 6
-#define XC_boat 8
-#define XC_bogosity 10
-#define XC_bottom_left_corner 12
-#define XC_bottom_right_corner 14
-#define XC_bottom_side 16
-#define XC_bottom_tee 18
-#define XC_box_spiral 20
-#define XC_center_ptr 22
-#define XC_circle 24
-#define XC_clock 26
-#define XC_coffee_mug 28
-#define XC_cross 30
-#define XC_cross_reverse 32
-#define XC_crosshair 34
-#define XC_diamond_cross 36
-#define XC_dot 38
-#define XC_dotbox 40
-#define XC_double_arrow 42
-#define XC_draft_large 44
-#define XC_draft_small 46
-#define XC_draped_box 48
-#define XC_exchange 50
-#define XC_fleur 52
-#define XC_gobbler 54
-#define XC_gumby 56
-#define XC_hand1 58
-#define XC_hand2 60
-#define XC_heart 62
-#define XC_icon 64
-#define XC_iron_cross 66
-#define XC_left_ptr 68
-#define XC_left_side 70
-#define XC_left_tee 72
-#define XC_leftbutton 74
-#define XC_ll_angle 76
-#define XC_lr_angle 78
-#define XC_man 80
-#define XC_middlebutton 82
-#define XC_mouse 84
-#define XC_pencil 86
-#define XC_pirate 88
-#define XC_plus 90
-#define XC_question_arrow 92
-#define XC_right_ptr 94
-#define XC_right_side 96
-#define XC_right_tee 98
-#define XC_rightbutton 100
-#define XC_rtl_logo 102
-#define XC_sailboat 104
-#define XC_sb_down_arrow 106
-#define XC_sb_h_double_arrow 108
-#define XC_sb_left_arrow 110
-#define XC_sb_right_arrow 112
-#define XC_sb_up_arrow 114
-#define XC_sb_v_double_arrow 116
-#define XC_shuttle 118
-#define XC_sizing 120
-#define XC_spider 122
-#define XC_spraycan 124
-#define XC_star 126
-#define XC_target 128
-#define XC_tcross 130
-#define XC_top_left_arrow 132
-#define XC_top_left_corner 134
-#define XC_top_right_corner 136
-#define XC_top_side 138
-#define XC_top_tee 140
-#define XC_trek 142
-#define XC_ul_angle 144
-#define XC_umbrella 146
-#define XC_ur_angle 148
-#define XC_watch 150
-#define XC_xterm 152
-
-#endif /* _cursorfont_h_ */
+/*
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+
+#ifndef _X11_CURSORFONT_H_
+#define _X11_CURSORFONT_H_
+
+#define XC_num_glyphs 154
+#define XC_X_cursor 0
+#define XC_arrow 2
+#define XC_based_arrow_down 4
+#define XC_based_arrow_up 6
+#define XC_boat 8
+#define XC_bogosity 10
+#define XC_bottom_left_corner 12
+#define XC_bottom_right_corner 14
+#define XC_bottom_side 16
+#define XC_bottom_tee 18
+#define XC_box_spiral 20
+#define XC_center_ptr 22
+#define XC_circle 24
+#define XC_clock 26
+#define XC_coffee_mug 28
+#define XC_cross 30
+#define XC_cross_reverse 32
+#define XC_crosshair 34
+#define XC_diamond_cross 36
+#define XC_dot 38
+#define XC_dotbox 40
+#define XC_double_arrow 42
+#define XC_draft_large 44
+#define XC_draft_small 46
+#define XC_draped_box 48
+#define XC_exchange 50
+#define XC_fleur 52
+#define XC_gobbler 54
+#define XC_gumby 56
+#define XC_hand1 58
+#define XC_hand2 60
+#define XC_heart 62
+#define XC_icon 64
+#define XC_iron_cross 66
+#define XC_left_ptr 68
+#define XC_left_side 70
+#define XC_left_tee 72
+#define XC_leftbutton 74
+#define XC_ll_angle 76
+#define XC_lr_angle 78
+#define XC_man 80
+#define XC_middlebutton 82
+#define XC_mouse 84
+#define XC_pencil 86
+#define XC_pirate 88
+#define XC_plus 90
+#define XC_question_arrow 92
+#define XC_right_ptr 94
+#define XC_right_side 96
+#define XC_right_tee 98
+#define XC_rightbutton 100
+#define XC_rtl_logo 102
+#define XC_sailboat 104
+#define XC_sb_down_arrow 106
+#define XC_sb_h_double_arrow 108
+#define XC_sb_left_arrow 110
+#define XC_sb_right_arrow 112
+#define XC_sb_up_arrow 114
+#define XC_sb_v_double_arrow 116
+#define XC_shuttle 118
+#define XC_sizing 120
+#define XC_spider 122
+#define XC_spraycan 124
+#define XC_star 126
+#define XC_target 128
+#define XC_tcross 130
+#define XC_top_left_arrow 132
+#define XC_top_left_corner 134
+#define XC_top_right_corner 136
+#define XC_top_side 138
+#define XC_top_tee 140
+#define XC_trek 142
+#define XC_ul_angle 144
+#define XC_umbrella 146
+#define XC_ur_angle 148
+#define XC_watch 150
+#define XC_xterm 152
+
+#endif /* _X11_CURSORFONT_H_ */
diff --git a/xorg-server/Xext/bigreq.c b/xorg-server/Xext/bigreq.c
index 4ebc0d6b9..3dcb69579 100644
--- a/xorg-server/Xext/bigreq.c
+++ b/xorg-server/Xext/bigreq.c
@@ -40,18 +40,8 @@ from The Open Group.
#include "opaque.h"
#include "modinit.h"
-static DISPATCH_PROC(ProcBigReqDispatch);
-
void BigReqExtensionInit(INITARGS);
-void
-BigReqExtensionInit(INITARGS)
-{
- AddExtension(XBigReqExtensionName, 0, 0,
- ProcBigReqDispatch, ProcBigReqDispatch,
- NULL, StandardMinorOpcode);
-}
-
static int
ProcBigReqDispatch (ClientPtr client)
{
@@ -78,3 +68,11 @@ ProcBigReqDispatch (ClientPtr client)
WriteToClient(client, sizeof(xBigReqEnableReply), (char *)&rep);
return Success;
}
+
+void
+BigReqExtensionInit(INITARGS)
+{
+ AddExtension(XBigReqExtensionName, 0, 0,
+ ProcBigReqDispatch, ProcBigReqDispatch,
+ NULL, StandardMinorOpcode);
+}
diff --git a/xorg-server/Xext/saver.c b/xorg-server/Xext/saver.c
index 910bb2e9a..5fd6c895d 100644
--- a/xorg-server/Xext/saver.c
+++ b/xorg-server/Xext/saver.c
@@ -68,20 +68,6 @@ in this Software without prior written authorization from the X Consortium.
static int ScreenSaverEventBase = 0;
-static DISPATCH_PROC(ProcScreenSaverQueryInfo);
-static DISPATCH_PROC(ProcScreenSaverDispatch);
-static DISPATCH_PROC(ProcScreenSaverQueryVersion);
-static DISPATCH_PROC(ProcScreenSaverSelectInput);
-static DISPATCH_PROC(ProcScreenSaverSetAttributes);
-static DISPATCH_PROC(ProcScreenSaverUnsetAttributes);
-static DISPATCH_PROC(ProcScreenSaverSuspend);
-static DISPATCH_PROC(SProcScreenSaverDispatch);
-static DISPATCH_PROC(SProcScreenSaverQueryInfo);
-static DISPATCH_PROC(SProcScreenSaverQueryVersion);
-static DISPATCH_PROC(SProcScreenSaverSelectInput);
-static DISPATCH_PROC(SProcScreenSaverSetAttributes);
-static DISPATCH_PROC(SProcScreenSaverUnsetAttributes);
-static DISPATCH_PROC(SProcScreenSaverSuspend);
static Bool ScreenSaverHandle (
ScreenPtr /* pScreen */,
@@ -243,45 +229,6 @@ static DevPrivateKeyRec ScreenPrivateKeyRec;
#define New(t) (malloc(sizeof (t)))
-/****************
- * ScreenSaverExtensionInit
- *
- * Called from InitExtensions in main() or from QueryExtension() if the
- * extension is dynamically loaded.
- *
- ****************/
-
-void
-ScreenSaverExtensionInit(INITARGS)
-{
- ExtensionEntry *extEntry;
- int i;
- ScreenPtr pScreen;
-
- if (!dixRegisterPrivateKey(&ScreenPrivateKeyRec, PRIVATE_SCREEN, 0))
- return;
-
- AttrType = CreateNewResourceType(ScreenSaverFreeAttr, "SaverAttr");
- SaverEventType = CreateNewResourceType(ScreenSaverFreeEvents,
- "SaverEvent");
- SuspendType = CreateNewResourceType(ScreenSaverFreeSuspend,
- "SaverSuspend");
-
- for (i = 0; i < screenInfo.numScreens; i++)
- {
- pScreen = screenInfo.screens[i];
- SetScreenPrivate (pScreen, NULL);
- }
- if (AttrType && SaverEventType && SuspendType &&
- (extEntry = AddExtension(ScreenSaverName, ScreenSaverNumberEvents, 0,
- ProcScreenSaverDispatch, SProcScreenSaverDispatch,
- NULL, StandardMinorOpcode)))
- {
- ScreenSaverEventBase = extEntry->eventBase;
- EventSwapVector[ScreenSaverEventBase] = (EventSwapPtr) SScreenSaverNotifyEvent;
- }
-}
-
static void
CheckScreenPrivate (ScreenPtr pScreen)
{
@@ -1418,7 +1365,7 @@ ProcScreenSaverSuspend (ClientPtr client)
return Success;
}
-static DISPATCH_PROC((*NormalVector[])) = {
+static int (*NormalVector[]) (ClientPtr /* client */) = {
ProcScreenSaverQueryVersion,
ProcScreenSaverQueryInfo,
ProcScreenSaverSelectInput,
@@ -1519,7 +1466,7 @@ SProcScreenSaverSuspend (ClientPtr client)
return ProcScreenSaverSuspend (client);
}
-static DISPATCH_PROC((*SwappedVector[])) = {
+static int (*SwappedVector[]) (ClientPtr /* client */) = {
SProcScreenSaverQueryVersion,
SProcScreenSaverQueryInfo,
SProcScreenSaverSelectInput,
@@ -1537,3 +1484,34 @@ SProcScreenSaverDispatch (ClientPtr client)
return (*SwappedVector[stuff->data])(client);
return BadRequest;
}
+
+void
+ScreenSaverExtensionInit(INITARGS)
+{
+ ExtensionEntry *extEntry;
+ int i;
+ ScreenPtr pScreen;
+
+ if (!dixRegisterPrivateKey(&ScreenPrivateKeyRec, PRIVATE_SCREEN, 0))
+ return;
+
+ AttrType = CreateNewResourceType(ScreenSaverFreeAttr, "SaverAttr");
+ SaverEventType = CreateNewResourceType(ScreenSaverFreeEvents,
+ "SaverEvent");
+ SuspendType = CreateNewResourceType(ScreenSaverFreeSuspend,
+ "SaverSuspend");
+
+ for (i = 0; i < screenInfo.numScreens; i++)
+ {
+ pScreen = screenInfo.screens[i];
+ SetScreenPrivate (pScreen, NULL);
+ }
+ if (AttrType && SaverEventType && SuspendType &&
+ (extEntry = AddExtension(ScreenSaverName, ScreenSaverNumberEvents, 0,
+ ProcScreenSaverDispatch, SProcScreenSaverDispatch,
+ NULL, StandardMinorOpcode)))
+ {
+ ScreenSaverEventBase = extEntry->eventBase;
+ EventSwapVector[ScreenSaverEventBase] = (EventSwapPtr) SScreenSaverNotifyEvent;
+ }
+}
diff --git a/xorg-server/Xext/shape.c b/xorg-server/Xext/shape.c
index 3ee9e027e..6a35a0451 100644
--- a/xorg-server/Xext/shape.c
+++ b/xorg-server/Xext/shape.c
@@ -70,26 +70,6 @@ static void SShapeNotifyEvent(
* externally by the Xfixes extension and are now defined in window.h
*/
-static DISPATCH_PROC(ProcShapeCombine);
-static DISPATCH_PROC(ProcShapeDispatch);
-static DISPATCH_PROC(ProcShapeGetRectangles);
-static DISPATCH_PROC(ProcShapeInputSelected);
-static DISPATCH_PROC(ProcShapeMask);
-static DISPATCH_PROC(ProcShapeOffset);
-static DISPATCH_PROC(ProcShapeQueryExtents);
-static DISPATCH_PROC(ProcShapeQueryVersion);
-static DISPATCH_PROC(ProcShapeRectangles);
-static DISPATCH_PROC(ProcShapeSelectInput);
-static DISPATCH_PROC(SProcShapeCombine);
-static DISPATCH_PROC(SProcShapeDispatch);
-static DISPATCH_PROC(SProcShapeGetRectangles);
-static DISPATCH_PROC(SProcShapeInputSelected);
-static DISPATCH_PROC(SProcShapeMask);
-static DISPATCH_PROC(SProcShapeOffset);
-static DISPATCH_PROC(SProcShapeQueryExtents);
-static DISPATCH_PROC(SProcShapeQueryVersion);
-static DISPATCH_PROC(SProcShapeRectangles);
-static DISPATCH_PROC(SProcShapeSelectInput);
#ifdef PANORAMIX
#include "panoramiX.h"
@@ -124,23 +104,6 @@ typedef struct _ShapeEvent {
*
****************/
-void
-ShapeExtensionInit(void)
-{
- ExtensionEntry *extEntry;
-
- ClientType = CreateNewResourceType(ShapeFreeClient, "ShapeClient");
- ShapeEventType = CreateNewResourceType(ShapeFreeEvents, "ShapeEvent");
- if (ClientType && ShapeEventType &&
- (extEntry = AddExtension(SHAPENAME, ShapeNumberEvents, 0,
- ProcShapeDispatch, SProcShapeDispatch,
- NULL, StandardMinorOpcode)))
- {
- ShapeEventBase = extEntry->eventBase;
- EventSwapVector[ShapeEventBase] = (EventSwapPtr) SShapeNotifyEvent;
- }
-}
-
static int
RegionOperate (
ClientPtr client,
@@ -1280,3 +1243,20 @@ SProcShapeDispatch (ClientPtr client)
return BadRequest;
}
}
+
+void
+ShapeExtensionInit(void)
+{
+ ExtensionEntry *extEntry;
+
+ ClientType = CreateNewResourceType(ShapeFreeClient, "ShapeClient");
+ ShapeEventType = CreateNewResourceType(ShapeFreeEvents, "ShapeEvent");
+ if (ClientType && ShapeEventType &&
+ (extEntry = AddExtension(SHAPENAME, ShapeNumberEvents, 0,
+ ProcShapeDispatch, SProcShapeDispatch,
+ NULL, StandardMinorOpcode)))
+ {
+ ShapeEventBase = extEntry->eventBase;
+ EventSwapVector[ShapeEventBase] = (EventSwapPtr) SShapeNotifyEvent;
+ }
+}
diff --git a/xorg-server/Xext/shm.c b/xorg-server/Xext/shm.c
index 638211bd2..7099e8f36 100644
--- a/xorg-server/Xext/shm.c
+++ b/xorg-server/Xext/shm.c
@@ -122,20 +122,6 @@ static void SShmCompletionEvent(
static Bool ShmDestroyPixmap (PixmapPtr pPixmap);
-static DISPATCH_PROC(ProcShmAttach);
-static DISPATCH_PROC(ProcShmCreatePixmap);
-static DISPATCH_PROC(ProcShmDetach);
-static DISPATCH_PROC(ProcShmDispatch);
-static DISPATCH_PROC(ProcShmGetImage);
-static DISPATCH_PROC(ProcShmPutImage);
-static DISPATCH_PROC(ProcShmQueryVersion);
-static DISPATCH_PROC(SProcShmAttach);
-static DISPATCH_PROC(SProcShmCreatePixmap);
-static DISPATCH_PROC(SProcShmDetach);
-static DISPATCH_PROC(SProcShmDispatch);
-static DISPATCH_PROC(SProcShmGetImage);
-static DISPATCH_PROC(SProcShmPutImage);
-static DISPATCH_PROC(SProcShmQueryVersion);
static unsigned char ShmReqCode;
int ShmCompletionCode;
@@ -256,56 +242,6 @@ ShmRegisterPrivates(void)
return TRUE;
}
-void
-ShmExtensionInit(INITARGS)
-{
- ExtensionEntry *extEntry;
- int i;
-
-#ifdef MUST_CHECK_FOR_SHM_SYSCALL
- if (!CheckForShmSyscall())
- {
- ErrorF("MIT-SHM extension disabled due to lack of kernel support\n");
- return;
- }
-#endif
-
- if (!ShmRegisterPrivates())
- return;
-
- sharedPixmaps = xFalse;
- {
- sharedPixmaps = xTrue;
- for (i = 0; i < screenInfo.numScreens; i++)
- {
- ShmScrPrivateRec *screen_priv = ShmInitScreenPriv(screenInfo.screens[i]);
- if (!screen_priv->shmFuncs)
- screen_priv->shmFuncs = &miFuncs;
- if (!screen_priv->shmFuncs->CreatePixmap)
- sharedPixmaps = xFalse;
- }
- if (sharedPixmaps)
- for (i = 0; i < screenInfo.numScreens; i++)
- {
- ShmScrPrivateRec *screen_priv = ShmGetScreenPriv(screenInfo.screens[i]);
- screen_priv->destroyPixmap = screenInfo.screens[i]->DestroyPixmap;
- screenInfo.screens[i]->DestroyPixmap = ShmDestroyPixmap;
- }
- }
- ShmSegType = CreateNewResourceType(ShmDetachSegment, "ShmSeg");
- if (ShmSegType &&
- (extEntry = AddExtension(SHMNAME, ShmNumberEvents, ShmNumberErrors,
- ProcShmDispatch, SProcShmDispatch,
- ShmResetProc, StandardMinorOpcode)))
- {
- ShmReqCode = (unsigned char)extEntry->base;
- ShmCompletionCode = extEntry->eventBase;
- BadShmSegCode = extEntry->errorBase;
- SetResourceTypeErrorValue(ShmSegType, BadShmSegCode);
- EventSwapVector[ShmCompletionCode] = (EventSwapPtr) SShmCompletionEvent;
- }
-}
-
/*ARGSUSED*/
static void
ShmResetProc(ExtensionEntry *extEntry)
@@ -600,6 +536,226 @@ doShmPutImage(DrawablePtr dst, GCPtr pGC,
}
}
+static int
+ProcShmPutImage(ClientPtr client)
+{
+ GCPtr pGC;
+ DrawablePtr pDraw;
+ long length;
+ ShmDescPtr shmdesc;
+ REQUEST(xShmPutImageReq);
+
+ REQUEST_SIZE_MATCH(xShmPutImageReq);
+ VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
+ VERIFY_SHMPTR(stuff->shmseg, stuff->offset, FALSE, shmdesc, client);
+ if ((stuff->sendEvent != xTrue) && (stuff->sendEvent != xFalse))
+ return BadValue;
+ if (stuff->format == XYBitmap)
+ {
+ if (stuff->depth != 1)
+ return BadMatch;
+ length = PixmapBytePad(stuff->totalWidth, 1);
+ }
+ else if (stuff->format == XYPixmap)
+ {
+ if (pDraw->depth != stuff->depth)
+ return BadMatch;
+ length = PixmapBytePad(stuff->totalWidth, 1);
+ length *= stuff->depth;
+ }
+ else if (stuff->format == ZPixmap)
+ {
+ if (pDraw->depth != stuff->depth)
+ return BadMatch;
+ length = PixmapBytePad(stuff->totalWidth, stuff->depth);
+ }
+ else
+ {
+ client->errorValue = stuff->format;
+ return BadValue;
+ }
+
+ /*
+ * There's a potential integer overflow in this check:
+ * VERIFY_SHMSIZE(shmdesc, stuff->offset, length * stuff->totalHeight,
+ * client);
+ * the version below ought to avoid it
+ */
+ if (stuff->totalHeight != 0 &&
+ length > (shmdesc->size - stuff->offset)/stuff->totalHeight) {
+ client->errorValue = stuff->totalWidth;
+ return BadValue;
+ }
+ if (stuff->srcX > stuff->totalWidth)
+ {
+ client->errorValue = stuff->srcX;
+ return BadValue;
+ }
+ if (stuff->srcY > stuff->totalHeight)
+ {
+ client->errorValue = stuff->srcY;
+ return BadValue;
+ }
+ if ((stuff->srcX + stuff->srcWidth) > stuff->totalWidth)
+ {
+ client->errorValue = stuff->srcWidth;
+ return BadValue;
+ }
+ if ((stuff->srcY + stuff->srcHeight) > stuff->totalHeight)
+ {
+ client->errorValue = stuff->srcHeight;
+ return BadValue;
+ }
+
+ if ((((stuff->format == ZPixmap) && (stuff->srcX == 0)) ||
+ ((stuff->format != ZPixmap) &&
+ (stuff->srcX < screenInfo.bitmapScanlinePad) &&
+ ((stuff->format == XYBitmap) ||
+ ((stuff->srcY == 0) &&
+ (stuff->srcHeight == stuff->totalHeight))))) &&
+ ((stuff->srcX + stuff->srcWidth) == stuff->totalWidth))
+ (*pGC->ops->PutImage) (pDraw, pGC, stuff->depth,
+ stuff->dstX, stuff->dstY,
+ stuff->totalWidth, stuff->srcHeight,
+ stuff->srcX, stuff->format,
+ shmdesc->addr + stuff->offset +
+ (stuff->srcY * length));
+ else
+ doShmPutImage(pDraw, pGC, stuff->depth, stuff->format,
+ stuff->totalWidth, stuff->totalHeight,
+ stuff->srcX, stuff->srcY,
+ stuff->srcWidth, stuff->srcHeight,
+ stuff->dstX, stuff->dstY,
+ shmdesc->addr + stuff->offset);
+
+ if (stuff->sendEvent)
+ {
+ xShmCompletionEvent ev;
+
+ ev.type = ShmCompletionCode;
+ ev.drawable = stuff->drawable;
+ ev.minorEvent = X_ShmPutImage;
+ ev.majorEvent = ShmReqCode;
+ ev.shmseg = stuff->shmseg;
+ ev.offset = stuff->offset;
+ WriteEventsToClient(client, 1, (xEvent *) &ev);
+ }
+
+ return Success;
+}
+
+static int
+ProcShmGetImage(ClientPtr client)
+{
+ DrawablePtr pDraw;
+ long lenPer = 0, length;
+ Mask plane = 0;
+ xShmGetImageReply xgi;
+ ShmDescPtr shmdesc;
+ int n, rc;
+
+ REQUEST(xShmGetImageReq);
+
+ REQUEST_SIZE_MATCH(xShmGetImageReq);
+ if ((stuff->format != XYPixmap) && (stuff->format != ZPixmap))
+ {
+ client->errorValue = stuff->format;
+ return BadValue;
+ }
+ rc = dixLookupDrawable(&pDraw, stuff->drawable, client, 0,
+ DixReadAccess);
+ if (rc != Success)
+ return rc;
+ VERIFY_SHMPTR(stuff->shmseg, stuff->offset, TRUE, shmdesc, client);
+ if (pDraw->type == DRAWABLE_WINDOW)
+ {
+ if( /* check for being viewable */
+ !((WindowPtr) pDraw)->realized ||
+ /* check for being on screen */
+ pDraw->x + stuff->x < 0 ||
+ pDraw->x + stuff->x + (int)stuff->width > pDraw->pScreen->width ||
+ pDraw->y + stuff->y < 0 ||
+ pDraw->y + stuff->y + (int)stuff->height > pDraw->pScreen->height ||
+ /* check for being inside of border */
+ stuff->x < - wBorderWidth((WindowPtr)pDraw) ||
+ stuff->x + (int)stuff->width >
+ wBorderWidth((WindowPtr)pDraw) + (int)pDraw->width ||
+ stuff->y < -wBorderWidth((WindowPtr)pDraw) ||
+ stuff->y + (int)stuff->height >
+ wBorderWidth((WindowPtr)pDraw) + (int)pDraw->height
+ )
+ return BadMatch;
+ xgi.visual = wVisual(((WindowPtr)pDraw));
+ }
+ else
+ {
+ if (stuff->x < 0 ||
+ stuff->x+(int)stuff->width > pDraw->width ||
+ stuff->y < 0 ||
+ stuff->y+(int)stuff->height > pDraw->height
+ )
+ return BadMatch;
+ xgi.visual = None;
+ }
+ xgi.type = X_Reply;
+ xgi.length = 0;
+ xgi.sequenceNumber = client->sequence;
+ xgi.depth = pDraw->depth;
+ if(stuff->format == ZPixmap)
+ {
+ length = PixmapBytePad(stuff->width, pDraw->depth) * stuff->height;
+ }
+ else
+ {
+ lenPer = PixmapBytePad(stuff->width, 1) * stuff->height;
+ plane = ((Mask)1) << (pDraw->depth - 1);
+ /* only planes asked for */
+ length = lenPer * Ones(stuff->planeMask & (plane | (plane - 1)));
+ }
+
+ VERIFY_SHMSIZE(shmdesc, stuff->offset, length, client);
+ xgi.size = length;
+
+ if (length == 0)
+ {
+ /* nothing to do */
+ }
+ else if (stuff->format == ZPixmap)
+ {
+ (*pDraw->pScreen->GetImage)(pDraw, stuff->x, stuff->y,
+ stuff->width, stuff->height,
+ stuff->format, stuff->planeMask,
+ shmdesc->addr + stuff->offset);
+ }
+ else
+ {
+
+ length = stuff->offset;
+ for (; plane; plane >>= 1)
+ {
+ if (stuff->planeMask & plane)
+ {
+ (*pDraw->pScreen->GetImage)(pDraw,
+ stuff->x, stuff->y,
+ stuff->width, stuff->height,
+ stuff->format, plane,
+ shmdesc->addr + length);
+ length += lenPer;
+ }
+ }
+ }
+
+ if (client->swapped) {
+ swaps(&xgi.sequenceNumber, n);
+ swapl(&xgi.length, n);
+ swapl(&xgi.visual, n);
+ swapl(&xgi.size, n);
+ }
+ WriteToClient(client, sizeof(xShmGetImageReply), (char *)&xgi);
+
+ return Success;
+}
+
#ifdef PANORAMIX
static int
ProcPanoramiXShmPutImage(ClientPtr client)
@@ -877,231 +1033,8 @@ CreatePmap:
return result;
}
-
#endif
-static int
-ProcShmPutImage(ClientPtr client)
-{
- GCPtr pGC;
- DrawablePtr pDraw;
- long length;
- ShmDescPtr shmdesc;
- REQUEST(xShmPutImageReq);
-
- REQUEST_SIZE_MATCH(xShmPutImageReq);
- VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
- VERIFY_SHMPTR(stuff->shmseg, stuff->offset, FALSE, shmdesc, client);
- if ((stuff->sendEvent != xTrue) && (stuff->sendEvent != xFalse))
- return BadValue;
- if (stuff->format == XYBitmap)
- {
- if (stuff->depth != 1)
- return BadMatch;
- length = PixmapBytePad(stuff->totalWidth, 1);
- }
- else if (stuff->format == XYPixmap)
- {
- if (pDraw->depth != stuff->depth)
- return BadMatch;
- length = PixmapBytePad(stuff->totalWidth, 1);
- length *= stuff->depth;
- }
- else if (stuff->format == ZPixmap)
- {
- if (pDraw->depth != stuff->depth)
- return BadMatch;
- length = PixmapBytePad(stuff->totalWidth, stuff->depth);
- }
- else
- {
- client->errorValue = stuff->format;
- return BadValue;
- }
-
- /*
- * There's a potential integer overflow in this check:
- * VERIFY_SHMSIZE(shmdesc, stuff->offset, length * stuff->totalHeight,
- * client);
- * the version below ought to avoid it
- */
- if (stuff->totalHeight != 0 &&
- length > (shmdesc->size - stuff->offset)/stuff->totalHeight) {
- client->errorValue = stuff->totalWidth;
- return BadValue;
- }
- if (stuff->srcX > stuff->totalWidth)
- {
- client->errorValue = stuff->srcX;
- return BadValue;
- }
- if (stuff->srcY > stuff->totalHeight)
- {
- client->errorValue = stuff->srcY;
- return BadValue;
- }
- if ((stuff->srcX + stuff->srcWidth) > stuff->totalWidth)
- {
- client->errorValue = stuff->srcWidth;
- return BadValue;
- }
- if ((stuff->srcY + stuff->srcHeight) > stuff->totalHeight)
- {
- client->errorValue = stuff->srcHeight;
- return BadValue;
- }
-
- if ((((stuff->format == ZPixmap) && (stuff->srcX == 0)) ||
- ((stuff->format != ZPixmap) &&
- (stuff->srcX < screenInfo.bitmapScanlinePad) &&
- ((stuff->format == XYBitmap) ||
- ((stuff->srcY == 0) &&
- (stuff->srcHeight == stuff->totalHeight))))) &&
- ((stuff->srcX + stuff->srcWidth) == stuff->totalWidth))
- (*pGC->ops->PutImage) (pDraw, pGC, stuff->depth,
- stuff->dstX, stuff->dstY,
- stuff->totalWidth, stuff->srcHeight,
- stuff->srcX, stuff->format,
- shmdesc->addr + stuff->offset +
- (stuff->srcY * length));
- else
- doShmPutImage(pDraw, pGC, stuff->depth, stuff->format,
- stuff->totalWidth, stuff->totalHeight,
- stuff->srcX, stuff->srcY,
- stuff->srcWidth, stuff->srcHeight,
- stuff->dstX, stuff->dstY,
- shmdesc->addr + stuff->offset);
-
- if (stuff->sendEvent)
- {
- xShmCompletionEvent ev;
-
- ev.type = ShmCompletionCode;
- ev.drawable = stuff->drawable;
- ev.minorEvent = X_ShmPutImage;
- ev.majorEvent = ShmReqCode;
- ev.shmseg = stuff->shmseg;
- ev.offset = stuff->offset;
- WriteEventsToClient(client, 1, (xEvent *) &ev);
- }
-
- return Success;
-}
-
-
-
-static int
-ProcShmGetImage(ClientPtr client)
-{
- DrawablePtr pDraw;
- long lenPer = 0, length;
- Mask plane = 0;
- xShmGetImageReply xgi;
- ShmDescPtr shmdesc;
- int n, rc;
-
- REQUEST(xShmGetImageReq);
-
- REQUEST_SIZE_MATCH(xShmGetImageReq);
- if ((stuff->format != XYPixmap) && (stuff->format != ZPixmap))
- {
- client->errorValue = stuff->format;
- return BadValue;
- }
- rc = dixLookupDrawable(&pDraw, stuff->drawable, client, 0,
- DixReadAccess);
- if (rc != Success)
- return rc;
- VERIFY_SHMPTR(stuff->shmseg, stuff->offset, TRUE, shmdesc, client);
- if (pDraw->type == DRAWABLE_WINDOW)
- {
- if( /* check for being viewable */
- !((WindowPtr) pDraw)->realized ||
- /* check for being on screen */
- pDraw->x + stuff->x < 0 ||
- pDraw->x + stuff->x + (int)stuff->width > pDraw->pScreen->width ||
- pDraw->y + stuff->y < 0 ||
- pDraw->y + stuff->y + (int)stuff->height > pDraw->pScreen->height ||
- /* check for being inside of border */
- stuff->x < - wBorderWidth((WindowPtr)pDraw) ||
- stuff->x + (int)stuff->width >
- wBorderWidth((WindowPtr)pDraw) + (int)pDraw->width ||
- stuff->y < -wBorderWidth((WindowPtr)pDraw) ||
- stuff->y + (int)stuff->height >
- wBorderWidth((WindowPtr)pDraw) + (int)pDraw->height
- )
- return BadMatch;
- xgi.visual = wVisual(((WindowPtr)pDraw));
- }
- else
- {
- if (stuff->x < 0 ||
- stuff->x+(int)stuff->width > pDraw->width ||
- stuff->y < 0 ||
- stuff->y+(int)stuff->height > pDraw->height
- )
- return BadMatch;
- xgi.visual = None;
- }
- xgi.type = X_Reply;
- xgi.length = 0;
- xgi.sequenceNumber = client->sequence;
- xgi.depth = pDraw->depth;
- if(stuff->format == ZPixmap)
- {
- length = PixmapBytePad(stuff->width, pDraw->depth) * stuff->height;
- }
- else
- {
- lenPer = PixmapBytePad(stuff->width, 1) * stuff->height;
- plane = ((Mask)1) << (pDraw->depth - 1);
- /* only planes asked for */
- length = lenPer * Ones(stuff->planeMask & (plane | (plane - 1)));
- }
-
- VERIFY_SHMSIZE(shmdesc, stuff->offset, length, client);
- xgi.size = length;
-
- if (length == 0)
- {
- /* nothing to do */
- }
- else if (stuff->format == ZPixmap)
- {
- (*pDraw->pScreen->GetImage)(pDraw, stuff->x, stuff->y,
- stuff->width, stuff->height,
- stuff->format, stuff->planeMask,
- shmdesc->addr + stuff->offset);
- }
- else
- {
-
- length = stuff->offset;
- for (; plane; plane >>= 1)
- {
- if (stuff->planeMask & plane)
- {
- (*pDraw->pScreen->GetImage)(pDraw,
- stuff->x, stuff->y,
- stuff->width, stuff->height,
- stuff->format, plane,
- shmdesc->addr + length);
- length += lenPer;
- }
- }
- }
-
- if (client->swapped) {
- swaps(&xgi.sequenceNumber, n);
- swapl(&xgi.length, n);
- swapl(&xgi.visual, n);
- swapl(&xgi.size, n);
- }
- WriteToClient(client, sizeof(xShmGetImageReply), (char *)&xgi);
-
- return Success;
-}
-
static PixmapPtr
fbShmCreatePixmap (ScreenPtr pScreen,
int width, int height, int depth, char *addr)
@@ -1361,3 +1294,53 @@ SProcShmDispatch (ClientPtr client)
return BadRequest;
}
}
+
+void
+ShmExtensionInit(INITARGS)
+{
+ ExtensionEntry *extEntry;
+ int i;
+
+#ifdef MUST_CHECK_FOR_SHM_SYSCALL
+ if (!CheckForShmSyscall())
+ {
+ ErrorF("MIT-SHM extension disabled due to lack of kernel support\n");
+ return;
+ }
+#endif
+
+ if (!ShmRegisterPrivates())
+ return;
+
+ sharedPixmaps = xFalse;
+ {
+ sharedPixmaps = xTrue;
+ for (i = 0; i < screenInfo.numScreens; i++)
+ {
+ ShmScrPrivateRec *screen_priv = ShmInitScreenPriv(screenInfo.screens[i]);
+ if (!screen_priv->shmFuncs)
+ screen_priv->shmFuncs = &miFuncs;
+ if (!screen_priv->shmFuncs->CreatePixmap)
+ sharedPixmaps = xFalse;
+ }
+ if (sharedPixmaps)
+ for (i = 0; i < screenInfo.numScreens; i++)
+ {
+ ShmScrPrivateRec *screen_priv = ShmGetScreenPriv(screenInfo.screens[i]);
+ screen_priv->destroyPixmap = screenInfo.screens[i]->DestroyPixmap;
+ screenInfo.screens[i]->DestroyPixmap = ShmDestroyPixmap;
+ }
+ }
+ ShmSegType = CreateNewResourceType(ShmDetachSegment, "ShmSeg");
+ if (ShmSegType &&
+ (extEntry = AddExtension(SHMNAME, ShmNumberEvents, ShmNumberErrors,
+ ProcShmDispatch, SProcShmDispatch,
+ ShmResetProc, StandardMinorOpcode)))
+ {
+ ShmReqCode = (unsigned char)extEntry->base;
+ ShmCompletionCode = extEntry->eventBase;
+ BadShmSegCode = extEntry->errorBase;
+ SetResourceTypeErrorValue(ShmSegType, BadShmSegCode);
+ EventSwapVector[ShmCompletionCode] = (EventSwapPtr) SShmCompletionEvent;
+ }
+}
diff --git a/xorg-server/Xext/sync.c b/xorg-server/Xext/sync.c
index 63a5015c0..bf57ce059 100644
--- a/xorg-server/Xext/sync.c
+++ b/xorg-server/Xext/sync.c
@@ -100,36 +100,6 @@ static void SyncInitServerTime(void);
static void SyncInitIdleTime(void);
-static DISPATCH_PROC(ProcSyncAwait);
-static DISPATCH_PROC(ProcSyncChangeAlarm);
-static DISPATCH_PROC(ProcSyncChangeCounter);
-static DISPATCH_PROC(ProcSyncCreateAlarm);
-static DISPATCH_PROC(ProcSyncCreateCounter);
-static DISPATCH_PROC(ProcSyncDestroyAlarm);
-static DISPATCH_PROC(ProcSyncDestroyCounter);
-static DISPATCH_PROC(ProcSyncDispatch);
-static DISPATCH_PROC(ProcSyncGetPriority);
-static DISPATCH_PROC(ProcSyncInitialize);
-static DISPATCH_PROC(ProcSyncListSystemCounters);
-static DISPATCH_PROC(ProcSyncQueryAlarm);
-static DISPATCH_PROC(ProcSyncQueryCounter);
-static DISPATCH_PROC(ProcSyncSetCounter);
-static DISPATCH_PROC(ProcSyncSetPriority);
-static DISPATCH_PROC(SProcSyncAwait);
-static DISPATCH_PROC(SProcSyncChangeAlarm);
-static DISPATCH_PROC(SProcSyncChangeCounter);
-static DISPATCH_PROC(SProcSyncCreateAlarm);
-static DISPATCH_PROC(SProcSyncCreateCounter);
-static DISPATCH_PROC(SProcSyncDestroyAlarm);
-static DISPATCH_PROC(SProcSyncDestroyCounter);
-static DISPATCH_PROC(SProcSyncDispatch);
-static DISPATCH_PROC(SProcSyncGetPriority);
-static DISPATCH_PROC(SProcSyncInitialize);
-static DISPATCH_PROC(SProcSyncListSystemCounters);
-static DISPATCH_PROC(SProcSyncQueryAlarm);
-static DISPATCH_PROC(SProcSyncQueryCounter);
-static DISPATCH_PROC(SProcSyncSetCounter);
-static DISPATCH_PROC(SProcSyncSetPriority);
/* Each counter maintains a simple linked list of triggers that are
* interested in the counter. The two functions below are used to
diff --git a/xorg-server/Xext/xcmisc.c b/xorg-server/Xext/xcmisc.c
index 625351f51..8dfe4d136 100644
--- a/xorg-server/Xext/xcmisc.c
+++ b/xorg-server/Xext/xcmisc.c
@@ -46,24 +46,6 @@ from The Open Group.
#define UINT32_MAX 0xffffffffU
#endif
-static DISPATCH_PROC(ProcXCMiscDispatch);
-static DISPATCH_PROC(ProcXCMiscGetVersion);
-static DISPATCH_PROC(ProcXCMiscGetXIDList);
-static DISPATCH_PROC(ProcXCMiscGetXIDRange);
-static DISPATCH_PROC(SProcXCMiscDispatch);
-static DISPATCH_PROC(SProcXCMiscGetVersion);
-static DISPATCH_PROC(SProcXCMiscGetXIDList);
-static DISPATCH_PROC(SProcXCMiscGetXIDRange);
-
-void XCMiscExtensionInit(INITARGS);
-
-void
-XCMiscExtensionInit(INITARGS)
-{
- AddExtension(XCMiscExtensionName, 0, 0,
- ProcXCMiscDispatch, SProcXCMiscDispatch,
- NULL, StandardMinorOpcode);
-}
static int
ProcXCMiscGetVersion(ClientPtr client)
@@ -215,3 +197,11 @@ SProcXCMiscDispatch (ClientPtr client)
return BadRequest;
}
}
+
+void
+XCMiscExtensionInit(INITARGS)
+{
+ AddExtension(XCMiscExtensionName, 0, 0,
+ ProcXCMiscDispatch, SProcXCMiscDispatch,
+ NULL, StandardMinorOpcode);
+}
diff --git a/xorg-server/Xext/xf86bigfont.c b/xorg-server/Xext/xf86bigfont.c
index 9d1223677..356a6152b 100644
--- a/xorg-server/Xext/xf86bigfont.c
+++ b/xorg-server/Xext/xf86bigfont.c
@@ -80,12 +80,6 @@ static void XF86BigfontResetProc(
ExtensionEntry * /* extEntry */
);
-static DISPATCH_PROC(ProcXF86BigfontDispatch);
-static DISPATCH_PROC(ProcXF86BigfontQueryVersion);
-static DISPATCH_PROC(ProcXF86BigfontQueryFont);
-static DISPATCH_PROC(SProcXF86BigfontDispatch);
-static DISPATCH_PROC(SProcXF86BigfontQueryVersion);
-static DISPATCH_PROC(SProcXF86BigfontQueryFont);
#ifdef HAS_SHM
diff --git a/xorg-server/Xext/xtest.c b/xorg-server/Xext/xtest.c
index 9873f662a..f1edfaca6 100644
--- a/xorg-server/Xext/xtest.c
+++ b/xorg-server/Xext/xtest.c
@@ -84,26 +84,6 @@ static int XTestSwapFakeInput(
xReq * /* req */
);
-static DISPATCH_PROC(ProcXTestCompareCursor);
-static DISPATCH_PROC(ProcXTestDispatch);
-static DISPATCH_PROC(ProcXTestFakeInput);
-static DISPATCH_PROC(ProcXTestGetVersion);
-static DISPATCH_PROC(ProcXTestGrabControl);
-static DISPATCH_PROC(SProcXTestCompareCursor);
-static DISPATCH_PROC(SProcXTestDispatch);
-static DISPATCH_PROC(SProcXTestFakeInput);
-static DISPATCH_PROC(SProcXTestGetVersion);
-static DISPATCH_PROC(SProcXTestGrabControl);
-
-void
-XTestExtensionInit(INITARGS)
-{
- AddExtension(XTestExtensionName, 0, 0,
- ProcXTestDispatch, SProcXTestDispatch,
- NULL, StandardMinorOpcode);
-
- xtest_evlist = InitEventList(GetMaximumEventsNum());
-}
static int
ProcXTestGetVersion(ClientPtr client)
@@ -699,3 +679,12 @@ GetXTestDevice(DeviceIntPtr master)
return NULL;
}
+void
+XTestExtensionInit(INITARGS)
+{
+ AddExtension(XTestExtensionName, 0, 0,
+ ProcXTestDispatch, SProcXTestDispatch,
+ NULL, StandardMinorOpcode);
+
+ xtest_evlist = InitEventList(GetMaximumEventsNum());
+}
diff --git a/xorg-server/configure.ac b/xorg-server/configure.ac
index 65ad00923..5fcc39bfb 100644
--- a/xorg-server/configure.ac
+++ b/xorg-server/configure.ac
@@ -601,9 +601,6 @@ AC_ARG_ENABLE(pc98, AC_HELP_STRING([--enable-pc98], [Enable PC98 support in
[SUPPORT_PC98=auto])
dnl GLX build options
-AC_ARG_WITH(dri-driver-path, AS_HELP_STRING([--with-dri-driver-path=PATH], [Path to DRI drivers (default: ${libdir}/dri)]),
- [ DRI_DRIVER_PATH="$withval" ],
- [ DRI_DRIVER_PATH="${libdir}/dri" ])
AC_ARG_ENABLE(aiglx, AS_HELP_STRING([--enable-aiglx], [Build accelerated indirect GLX (default: enabled)]),
[AIGLX=$enableval],
[AIGLX=yes])
@@ -1258,7 +1255,8 @@ AC_DEFINE_DIR(COMPILEDDEFAULTFONTPATH, FONTPATH, [Default font path])
AC_DEFINE_DIR(PCI_TXT_IDS_PATH, PCI_TXT_IDS_DIR, [Default PCI text file ID path])
AC_DEFINE_DIR(SERVER_MISC_CONFIG_PATH, SERVERCONFIG, [Server miscellaneous config path])
AC_DEFINE_DIR(BASE_FONT_PATH, FONTROOTDIR, [Default base font path])
-AC_DEFINE_DIR(DRI_DRIVER_PATH, DRI_DRIVER_PATH, [Default DRI driver path])
+dridriverdir=`$PKG_CONFIG --variable=dridriverdir dri`
+AC_DEFINE_DIR(DRI_DRIVER_PATH, dridriverdir, [Default DRI driver path])
AC_DEFINE_UNQUOTED(XVENDORNAME, ["$VENDOR_NAME"], [Vendor name])
AC_DEFINE_UNQUOTED(XVENDORNAMESHORT, ["$VENDOR_NAME_SHORT"], [Short vendor name])
AC_DEFINE_UNQUOTED(XORG_DATE, ["$RELEASE_DATE"], [Vendor release])
diff --git a/xorg-server/dix/dispatch.c b/xorg-server/dix/dispatch.c
index 38666a422..3a6549185 100644
--- a/xorg-server/dix/dispatch.c
+++ b/xorg-server/dix/dispatch.c
@@ -242,7 +242,6 @@ long SmartLastPrint;
#endif
void Dispatch(void);
-void InitProcVectors(void);
static int
SmartScheduleClient (int *clientReady, int nready)
@@ -3428,25 +3427,6 @@ int ProcNoOperation(ClientPtr client)
return Success;
}
-void
-InitProcVectors(void)
-{
- int i;
- for (i = 0; i<256; i++)
- {
- if(!ProcVector[i])
- {
- ProcVector[i] = SwappedProcVector[i] = ProcBadRequest;
- ReplySwapVector[i] = ReplyNotSwappd;
- }
- }
- for(i = LASTEvent; i < 128; i++)
- {
- EventSwapVector[i] = NotImplemented;
- }
-
-}
-
/**********************
* CloseDownClient
*
diff --git a/xorg-server/dix/dispatch.h b/xorg-server/dix/dispatch.h
index dd07096af..718684724 100644
--- a/xorg-server/dix/dispatch.h
+++ b/xorg-server/dix/dispatch.h
@@ -1,146 +1,145 @@
-/************************************************************
-
-Copyright 1996 by Thomas E. Dickey <dickey@clark.net>
-
- All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the name of the above listed
-copyright holder(s) not be used in advertising or publicity pertaining
-to distribution of the software without specific, written prior
-permission.
-
-THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD
-TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE
-LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-********************************************************/
-
-/*
- * This prototypes the dispatch.c module (except for functions declared in
- * global headers), plus related dispatch procedures from devices.c, events.c,
- * extension.c, property.c.
- */
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#ifndef DISPATCH_H
-#define DISPATCH_H 1
-
-DISPATCH_PROC(InitClientPrivates);
-DISPATCH_PROC(ProcAllocColor);
-DISPATCH_PROC(ProcAllocColorCells);
-DISPATCH_PROC(ProcAllocColorPlanes);
-DISPATCH_PROC(ProcAllocNamedColor);
-DISPATCH_PROC(ProcBell);
-DISPATCH_PROC(ProcChangeAccessControl);
-DISPATCH_PROC(ProcChangeCloseDownMode);
-DISPATCH_PROC(ProcChangeGC);
-DISPATCH_PROC(ProcChangeHosts);
-DISPATCH_PROC(ProcChangeKeyboardControl);
-DISPATCH_PROC(ProcChangeKeyboardMapping);
-DISPATCH_PROC(ProcChangePointerControl);
-DISPATCH_PROC(ProcChangeProperty);
-DISPATCH_PROC(ProcChangeSaveSet);
-DISPATCH_PROC(ProcChangeWindowAttributes);
-DISPATCH_PROC(ProcCirculateWindow);
-DISPATCH_PROC(ProcClearToBackground);
-DISPATCH_PROC(ProcCloseFont);
-DISPATCH_PROC(ProcConfigureWindow);
-DISPATCH_PROC(ProcConvertSelection);
-DISPATCH_PROC(ProcCopyArea);
-DISPATCH_PROC(ProcCopyColormapAndFree);
-DISPATCH_PROC(ProcCopyGC);
-DISPATCH_PROC(ProcCopyPlane);
-DISPATCH_PROC(ProcCreateColormap);
-DISPATCH_PROC(ProcCreateCursor);
-DISPATCH_PROC(ProcCreateGC);
-DISPATCH_PROC(ProcCreateGlyphCursor);
-DISPATCH_PROC(ProcCreatePixmap);
-DISPATCH_PROC(ProcCreateWindow);
-DISPATCH_PROC(ProcDeleteProperty);
-DISPATCH_PROC(ProcDestroySubwindows);
-DISPATCH_PROC(ProcDestroyWindow);
-DISPATCH_PROC(ProcEstablishConnection);
-DISPATCH_PROC(ProcFillPoly);
-DISPATCH_PROC(ProcForceScreenSaver);
-DISPATCH_PROC(ProcFreeColormap);
-DISPATCH_PROC(ProcFreeColors);
-DISPATCH_PROC(ProcFreeCursor);
-DISPATCH_PROC(ProcFreeGC);
-DISPATCH_PROC(ProcFreePixmap);
-DISPATCH_PROC(ProcGetAtomName);
-DISPATCH_PROC(ProcGetFontPath);
-DISPATCH_PROC(ProcGetGeometry);
-DISPATCH_PROC(ProcGetImage);
-DISPATCH_PROC(ProcGetKeyboardControl);
-DISPATCH_PROC(ProcGetKeyboardMapping);
-DISPATCH_PROC(ProcGetModifierMapping);
-DISPATCH_PROC(ProcGetMotionEvents);
-DISPATCH_PROC(ProcGetPointerControl);
-DISPATCH_PROC(ProcGetPointerMapping);
-DISPATCH_PROC(ProcGetProperty);
-DISPATCH_PROC(ProcGetScreenSaver);
-DISPATCH_PROC(ProcGetSelectionOwner);
-DISPATCH_PROC(ProcGetWindowAttributes);
-DISPATCH_PROC(ProcGrabServer);
-DISPATCH_PROC(ProcImageText16);
-DISPATCH_PROC(ProcImageText8);
-DISPATCH_PROC(ProcInitialConnection);
-DISPATCH_PROC(ProcInstallColormap);
-DISPATCH_PROC(ProcInternAtom);
-DISPATCH_PROC(ProcKillClient);
-DISPATCH_PROC(ProcListExtensions);
-DISPATCH_PROC(ProcListFonts);
-DISPATCH_PROC(ProcListFontsWithInfo);
-DISPATCH_PROC(ProcListHosts);
-DISPATCH_PROC(ProcListInstalledColormaps);
-DISPATCH_PROC(ProcListProperties);
-DISPATCH_PROC(ProcLookupColor);
-DISPATCH_PROC(ProcMapSubwindows);
-DISPATCH_PROC(ProcMapWindow);
-DISPATCH_PROC(ProcNoOperation);
-DISPATCH_PROC(ProcOpenFont);
-DISPATCH_PROC(ProcPolyArc);
-DISPATCH_PROC(ProcPolyFillArc);
-DISPATCH_PROC(ProcPolyFillRectangle);
-DISPATCH_PROC(ProcPolyLine);
-DISPATCH_PROC(ProcPolyPoint);
-DISPATCH_PROC(ProcPolyRectangle);
-DISPATCH_PROC(ProcPolySegment);
-DISPATCH_PROC(ProcPolyText);
-DISPATCH_PROC(ProcPutImage);
-DISPATCH_PROC(ProcQueryBestSize);
-DISPATCH_PROC(ProcQueryColors);
-DISPATCH_PROC(ProcQueryExtension);
-DISPATCH_PROC(ProcQueryFont);
-DISPATCH_PROC(ProcQueryKeymap);
-DISPATCH_PROC(ProcQueryTextExtents);
-DISPATCH_PROC(ProcQueryTree);
-DISPATCH_PROC(ProcReparentWindow);
-DISPATCH_PROC(ProcRotateProperties);
-DISPATCH_PROC(ProcSetClipRectangles);
-DISPATCH_PROC(ProcSetDashes);
-DISPATCH_PROC(ProcSetFontPath);
-DISPATCH_PROC(ProcSetModifierMapping);
-DISPATCH_PROC(ProcSetPointerMapping);
-DISPATCH_PROC(ProcSetScreenSaver);
-DISPATCH_PROC(ProcSetSelectionOwner);
-DISPATCH_PROC(ProcStoreColors);
-DISPATCH_PROC(ProcStoreNamedColor);
-DISPATCH_PROC(ProcTranslateCoords);
-DISPATCH_PROC(ProcUngrabServer);
-DISPATCH_PROC(ProcUninstallColormap);
-DISPATCH_PROC(ProcUnmapSubwindows);
-DISPATCH_PROC(ProcUnmapWindow);
-
-#endif /* DISPATCH_H */
+/************************************************************
+
+Copyright 1996 by Thomas E. Dickey <dickey@clark.net>
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of the above listed
+copyright holder(s) not be used in advertising or publicity pertaining
+to distribution of the software without specific, written prior
+permission.
+
+THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD
+TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE
+LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+********************************************************/
+
+/*
+ * This prototypes the dispatch.c module (except for functions declared in
+ * global headers), plus related dispatch procedures from devices.c, events.c,
+ * extension.c, property.c.
+ */
+
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#endif
+
+#ifndef DISPATCH_H
+#define DISPATCH_H 1
+
+int ProcAllocColor(ClientPtr /* client */);
+int ProcAllocColorCells(ClientPtr /* client */);
+int ProcAllocColorPlanes(ClientPtr /* client */);
+int ProcAllocNamedColor(ClientPtr /* client */);
+int ProcBell(ClientPtr /* client */);
+int ProcChangeAccessControl(ClientPtr /* client */);
+int ProcChangeCloseDownMode(ClientPtr /* client */);
+int ProcChangeGC(ClientPtr /* client */);
+int ProcChangeHosts(ClientPtr /* client */);
+int ProcChangeKeyboardControl(ClientPtr /* client */);
+int ProcChangeKeyboardMapping(ClientPtr /* client */);
+int ProcChangePointerControl(ClientPtr /* client */);
+int ProcChangeProperty(ClientPtr /* client */);
+int ProcChangeSaveSet(ClientPtr /* client */);
+int ProcChangeWindowAttributes(ClientPtr /* client */);
+int ProcCirculateWindow(ClientPtr /* client */);
+int ProcClearToBackground(ClientPtr /* client */);
+int ProcCloseFont(ClientPtr /* client */);
+int ProcConfigureWindow(ClientPtr /* client */);
+int ProcConvertSelection(ClientPtr /* client */);
+int ProcCopyArea(ClientPtr /* client */);
+int ProcCopyColormapAndFree(ClientPtr /* client */);
+int ProcCopyGC(ClientPtr /* client */);
+int ProcCopyPlane(ClientPtr /* client */);
+int ProcCreateColormap(ClientPtr /* client */);
+int ProcCreateCursor(ClientPtr /* client */);
+int ProcCreateGC(ClientPtr /* client */);
+int ProcCreateGlyphCursor(ClientPtr /* client */);
+int ProcCreatePixmap(ClientPtr /* client */);
+int ProcCreateWindow(ClientPtr /* client */);
+int ProcDeleteProperty(ClientPtr /* client */);
+int ProcDestroySubwindows(ClientPtr /* client */);
+int ProcDestroyWindow(ClientPtr /* client */);
+int ProcEstablishConnection(ClientPtr /* client */);
+int ProcFillPoly(ClientPtr /* client */);
+int ProcForceScreenSaver(ClientPtr /* client */);
+int ProcFreeColormap(ClientPtr /* client */);
+int ProcFreeColors(ClientPtr /* client */);
+int ProcFreeCursor(ClientPtr /* client */);
+int ProcFreeGC(ClientPtr /* client */);
+int ProcFreePixmap(ClientPtr /* client */);
+int ProcGetAtomName(ClientPtr /* client */);
+int ProcGetFontPath(ClientPtr /* client */);
+int ProcGetGeometry(ClientPtr /* client */);
+int ProcGetImage(ClientPtr /* client */);
+int ProcGetKeyboardControl(ClientPtr /* client */);
+int ProcGetKeyboardMapping(ClientPtr /* client */);
+int ProcGetModifierMapping(ClientPtr /* client */);
+int ProcGetMotionEvents(ClientPtr /* client */);
+int ProcGetPointerControl(ClientPtr /* client */);
+int ProcGetPointerMapping(ClientPtr /* client */);
+int ProcGetProperty(ClientPtr /* client */);
+int ProcGetScreenSaver(ClientPtr /* client */);
+int ProcGetSelectionOwner(ClientPtr /* client */);
+int ProcGetWindowAttributes(ClientPtr /* client */);
+int ProcGrabServer(ClientPtr /* client */);
+int ProcImageText16(ClientPtr /* client */);
+int ProcImageText8(ClientPtr /* client */);
+int ProcInitialConnection(ClientPtr /* client */);
+int ProcInstallColormap(ClientPtr /* client */);
+int ProcInternAtom(ClientPtr /* client */);
+int ProcKillClient(ClientPtr /* client */);
+int ProcListExtensions(ClientPtr /* client */);
+int ProcListFonts(ClientPtr /* client */);
+int ProcListFontsWithInfo(ClientPtr /* client */);
+int ProcListHosts(ClientPtr /* client */);
+int ProcListInstalledColormaps(ClientPtr /* client */);
+int ProcListProperties(ClientPtr /* client */);
+int ProcLookupColor(ClientPtr /* client */);
+int ProcMapSubwindows(ClientPtr /* client */);
+int ProcMapWindow(ClientPtr /* client */);
+int ProcNoOperation(ClientPtr /* client */);
+int ProcOpenFont(ClientPtr /* client */);
+int ProcPolyArc(ClientPtr /* client */);
+int ProcPolyFillArc(ClientPtr /* client */);
+int ProcPolyFillRectangle(ClientPtr /* client */);
+int ProcPolyLine(ClientPtr /* client */);
+int ProcPolyPoint(ClientPtr /* client */);
+int ProcPolyRectangle(ClientPtr /* client */);
+int ProcPolySegment(ClientPtr /* client */);
+int ProcPolyText(ClientPtr /* client */);
+int ProcPutImage(ClientPtr /* client */);
+int ProcQueryBestSize(ClientPtr /* client */);
+int ProcQueryColors(ClientPtr /* client */);
+int ProcQueryExtension(ClientPtr /* client */);
+int ProcQueryFont(ClientPtr /* client */);
+int ProcQueryKeymap(ClientPtr /* client */);
+int ProcQueryTextExtents(ClientPtr /* client */);
+int ProcQueryTree(ClientPtr /* client */);
+int ProcReparentWindow(ClientPtr /* client */);
+int ProcRotateProperties(ClientPtr /* client */);
+int ProcSetClipRectangles(ClientPtr /* client */);
+int ProcSetDashes(ClientPtr /* client */);
+int ProcSetFontPath(ClientPtr /* client */);
+int ProcSetModifierMapping(ClientPtr /* client */);
+int ProcSetPointerMapping(ClientPtr /* client */);
+int ProcSetScreenSaver(ClientPtr /* client */);
+int ProcSetSelectionOwner(ClientPtr /* client */);
+int ProcStoreColors(ClientPtr /* client */);
+int ProcStoreNamedColor(ClientPtr /* client */);
+int ProcTranslateCoords(ClientPtr /* client */);
+int ProcUngrabServer(ClientPtr /* client */);
+int ProcUninstallColormap(ClientPtr /* client */);
+int ProcUnmapSubwindows(ClientPtr /* client */);
+int ProcUnmapWindow(ClientPtr /* client */);
+
+#endif /* DISPATCH_H */
diff --git a/xorg-server/dix/main.c b/xorg-server/dix/main.c
index 4c81c4d1b..169147112 100644
--- a/xorg-server/dix/main.c
+++ b/xorg-server/dix/main.c
@@ -108,7 +108,6 @@ Equipment Corporation.
#include "panoramiXsrv.h"
#else
#include "dixevents.h" /* InitEvents() */
-#include "dispatch.h" /* InitProcVectors() */
#endif
#ifdef DPMSExtension
@@ -122,8 +121,6 @@ Equipment Corporation.
extern void Dispatch(void);
-extern void InitProcVectors(void);
-
#ifdef XQUARTZ
#include <pthread.h>
@@ -215,7 +212,6 @@ int main(int argc, char *argv[], char *envp[])
if(serverGeneration == 1)
{
CreateWellKnownSockets();
- InitProcVectors();
for (i=1; i<MAXCLIENTS; i++)
clients[i] = NullClient;
serverClient = calloc(sizeof(ClientRec), 1);
diff --git a/xorg-server/dix/tables.c b/xorg-server/dix/tables.c
index 5aafb8b0f..a11423187 100644
--- a/xorg-server/dix/tables.c
+++ b/xorg-server/dix/tables.c
@@ -1,510 +1,986 @@
-/***********************************************************
-
-Copyright 1987, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
- All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the name of Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
-ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-SOFTWARE.
-
-******************************************************************/
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/X.h>
-#include <X11/Xproto.h>
-#include "windowstr.h"
-#include "extnsionst.h"
-#include "dixstruct.h"
-#include "dixevents.h"
-#include "dispatch.h"
-#include "swaprep.h"
-#include "swapreq.h"
-
-int (* InitialVector[3]) (
- ClientPtr /* client */
- ) =
-{
- 0,
- ProcInitialConnection,
- ProcEstablishConnection
-};
-
-int (* ProcVector[256]) (
- ClientPtr /* client */
- ) =
-{
- ProcBadRequest,
- ProcCreateWindow,
- ProcChangeWindowAttributes,
- ProcGetWindowAttributes,
- ProcDestroyWindow,
- ProcDestroySubwindows, /* 5 */
- ProcChangeSaveSet,
- ProcReparentWindow,
- ProcMapWindow,
- ProcMapSubwindows,
- ProcUnmapWindow, /* 10 */
- ProcUnmapSubwindows,
- ProcConfigureWindow,
- ProcCirculateWindow,
- ProcGetGeometry,
- ProcQueryTree, /* 15 */
- ProcInternAtom,
- ProcGetAtomName,
- ProcChangeProperty,
- ProcDeleteProperty,
- ProcGetProperty, /* 20 */
- ProcListProperties,
- ProcSetSelectionOwner,
- ProcGetSelectionOwner,
- ProcConvertSelection,
- ProcSendEvent, /* 25 */
- ProcGrabPointer,
- ProcUngrabPointer,
- ProcGrabButton,
- ProcUngrabButton,
- ProcChangeActivePointerGrab, /* 30 */
- ProcGrabKeyboard,
- ProcUngrabKeyboard,
- ProcGrabKey,
- ProcUngrabKey,
- ProcAllowEvents, /* 35 */
- ProcGrabServer,
- ProcUngrabServer,
- ProcQueryPointer,
- ProcGetMotionEvents,
- ProcTranslateCoords, /* 40 */
- ProcWarpPointer,
- ProcSetInputFocus,
- ProcGetInputFocus,
- ProcQueryKeymap,
- ProcOpenFont, /* 45 */
- ProcCloseFont,
- ProcQueryFont,
- ProcQueryTextExtents,
- ProcListFonts,
- ProcListFontsWithInfo, /* 50 */
- ProcSetFontPath,
- ProcGetFontPath,
- ProcCreatePixmap,
- ProcFreePixmap,
- ProcCreateGC, /* 55 */
- ProcChangeGC,
- ProcCopyGC,
- ProcSetDashes,
- ProcSetClipRectangles,
- ProcFreeGC, /* 60 */
- ProcClearToBackground,
- ProcCopyArea,
- ProcCopyPlane,
- ProcPolyPoint,
- ProcPolyLine, /* 65 */
- ProcPolySegment,
- ProcPolyRectangle,
- ProcPolyArc,
- ProcFillPoly,
- ProcPolyFillRectangle, /* 70 */
- ProcPolyFillArc,
- ProcPutImage,
- ProcGetImage,
- ProcPolyText,
- ProcPolyText, /* 75 */
- ProcImageText8,
- ProcImageText16,
- ProcCreateColormap,
- ProcFreeColormap,
- ProcCopyColormapAndFree, /* 80 */
- ProcInstallColormap,
- ProcUninstallColormap,
- ProcListInstalledColormaps,
- ProcAllocColor,
- ProcAllocNamedColor, /* 85 */
- ProcAllocColorCells,
- ProcAllocColorPlanes,
- ProcFreeColors,
- ProcStoreColors,
- ProcStoreNamedColor, /* 90 */
- ProcQueryColors,
- ProcLookupColor,
- ProcCreateCursor,
- ProcCreateGlyphCursor,
- ProcFreeCursor, /* 95 */
- ProcRecolorCursor,
- ProcQueryBestSize,
- ProcQueryExtension,
- ProcListExtensions,
- ProcChangeKeyboardMapping, /* 100 */
- ProcGetKeyboardMapping,
- ProcChangeKeyboardControl,
- ProcGetKeyboardControl,
- ProcBell,
- ProcChangePointerControl, /* 105 */
- ProcGetPointerControl,
- ProcSetScreenSaver,
- ProcGetScreenSaver,
- ProcChangeHosts,
- ProcListHosts, /* 110 */
- ProcChangeAccessControl,
- ProcChangeCloseDownMode,
- ProcKillClient,
- ProcRotateProperties,
- ProcForceScreenSaver, /* 115 */
- ProcSetPointerMapping,
- ProcGetPointerMapping,
- ProcSetModifierMapping,
- ProcGetModifierMapping,
- 0, /* 120 */
- 0,
- 0,
- 0,
- 0,
- 0, /* 125 */
- 0,
- ProcNoOperation
-};
-
-int (* SwappedProcVector[256]) (
- ClientPtr /* client */
- ) =
-{
- ProcBadRequest,
- SProcCreateWindow,
- SProcChangeWindowAttributes,
- SProcResourceReq, /* GetWindowAttributes */
- SProcResourceReq, /* DestroyWindow */
- SProcResourceReq, /* 5 DestroySubwindows */
- SProcResourceReq, /* SProcChangeSaveSet, */
- SProcReparentWindow,
- SProcResourceReq, /* MapWindow */
- SProcResourceReq, /* MapSubwindows */
- SProcResourceReq, /* 10 UnmapWindow */
- SProcResourceReq, /* UnmapSubwindows */
- SProcConfigureWindow,
- SProcResourceReq, /* SProcCirculateWindow, */
- SProcResourceReq, /* GetGeometry */
- SProcResourceReq, /* 15 QueryTree */
- SProcInternAtom,
- SProcResourceReq, /* SProcGetAtomName, */
- SProcChangeProperty,
- SProcDeleteProperty,
- SProcGetProperty, /* 20 */
- SProcResourceReq, /* SProcListProperties, */
- SProcSetSelectionOwner,
- SProcResourceReq, /* SProcGetSelectionOwner, */
- SProcConvertSelection,
- SProcSendEvent, /* 25 */
- SProcGrabPointer,
- SProcResourceReq, /* SProcUngrabPointer, */
- SProcGrabButton,
- SProcUngrabButton,
- SProcChangeActivePointerGrab, /* 30 */
- SProcGrabKeyboard,
- SProcResourceReq, /* SProcUngrabKeyboard, */
- SProcGrabKey,
- SProcUngrabKey,
- SProcResourceReq, /* 35 SProcAllowEvents, */
- SProcSimpleReq, /* SProcGrabServer, */
- SProcSimpleReq, /* SProcUngrabServer, */
- SProcResourceReq, /* SProcQueryPointer, */
- SProcGetMotionEvents,
- SProcTranslateCoords, /*40 */
- SProcWarpPointer,
- SProcSetInputFocus,
- SProcSimpleReq, /* SProcGetInputFocus, */
- SProcSimpleReq, /* QueryKeymap, */
- SProcOpenFont, /* 45 */
- SProcResourceReq, /* SProcCloseFont, */
- SProcResourceReq, /* SProcQueryFont, */
- SProcResourceReq, /* SProcQueryTextExtents, */
- SProcListFonts,
- SProcListFontsWithInfo, /* 50 */
- SProcSetFontPath,
- SProcSimpleReq, /* GetFontPath, */
- SProcCreatePixmap,
- SProcResourceReq, /* SProcFreePixmap, */
- SProcCreateGC, /* 55 */
- SProcChangeGC,
- SProcCopyGC,
- SProcSetDashes,
- SProcSetClipRectangles,
- SProcResourceReq, /* 60 SProcFreeGC, */
- SProcClearToBackground,
- SProcCopyArea,
- SProcCopyPlane,
- SProcPoly, /* PolyPoint, */
- SProcPoly, /* 65 PolyLine */
- SProcPoly, /* PolySegment, */
- SProcPoly, /* PolyRectangle, */
- SProcPoly, /* PolyArc, */
- SProcFillPoly,
- SProcPoly, /* 70 PolyFillRectangle */
- SProcPoly, /* PolyFillArc, */
- SProcPutImage,
- SProcGetImage,
- SProcPolyText,
- SProcPolyText, /* 75 */
- SProcImageText,
- SProcImageText,
- SProcCreateColormap,
- SProcResourceReq, /* SProcFreeColormap, */
- SProcCopyColormapAndFree, /* 80 */
- SProcResourceReq, /* SProcInstallColormap, */
- SProcResourceReq, /* SProcUninstallColormap, */
- SProcResourceReq, /* SProcListInstalledColormaps, */
- SProcAllocColor,
- SProcAllocNamedColor, /* 85 */
- SProcAllocColorCells,
- SProcAllocColorPlanes,
- SProcFreeColors,
- SProcStoreColors,
- SProcStoreNamedColor, /* 90 */
- SProcQueryColors,
- SProcLookupColor,
- SProcCreateCursor,
- SProcCreateGlyphCursor,
- SProcResourceReq, /* 95 SProcFreeCursor, */
- SProcRecolorCursor,
- SProcQueryBestSize,
- SProcQueryExtension,
- SProcSimpleReq, /* ListExtensions, */
- SProcChangeKeyboardMapping, /* 100 */
- SProcSimpleReq, /* GetKeyboardMapping, */
- SProcChangeKeyboardControl,
- SProcSimpleReq, /* GetKeyboardControl, */
- SProcSimpleReq, /* Bell, */
- SProcChangePointerControl, /* 105 */
- SProcSimpleReq, /* GetPointerControl, */
- SProcSetScreenSaver,
- SProcSimpleReq, /* GetScreenSaver, */
- SProcChangeHosts,
- SProcSimpleReq, /* 110 ListHosts, */
- SProcSimpleReq, /* SProcChangeAccessControl, */
- SProcSimpleReq, /* SProcChangeCloseDownMode, */
- SProcResourceReq, /* SProcKillClient, */
- SProcRotateProperties,
- SProcSimpleReq, /* 115 ForceScreenSaver */
- SProcSimpleReq, /* SetPointerMapping, */
- SProcSimpleReq, /* GetPointerMapping, */
- SProcSimpleReq, /* SetModifierMapping, */
- SProcSimpleReq, /* GetModifierMapping, */
- 0, /* 120 */
- 0,
- 0,
- 0,
- 0,
- 0, /* 125 */
- 0,
- SProcNoOperation
-};
-
-EventSwapPtr EventSwapVector[128] =
-{
- (EventSwapPtr)SErrorEvent,
- NotImplemented,
- SKeyButtonPtrEvent,
- SKeyButtonPtrEvent,
- SKeyButtonPtrEvent,
- SKeyButtonPtrEvent, /* 5 */
- SKeyButtonPtrEvent,
- SEnterLeaveEvent,
- SEnterLeaveEvent,
- SFocusEvent,
- SFocusEvent, /* 10 */
- SKeymapNotifyEvent,
- SExposeEvent,
- SGraphicsExposureEvent,
- SNoExposureEvent,
- SVisibilityEvent, /* 15 */
- SCreateNotifyEvent,
- SDestroyNotifyEvent,
- SUnmapNotifyEvent,
- SMapNotifyEvent,
- SMapRequestEvent, /* 20 */
- SReparentEvent,
- SConfigureNotifyEvent,
- SConfigureRequestEvent,
- SGravityEvent,
- SResizeRequestEvent, /* 25 */
- SCirculateEvent,
- SCirculateEvent,
- SPropertyEvent,
- SSelectionClearEvent,
- SSelectionRequestEvent, /* 30 */
- SSelectionNotifyEvent,
- SColormapEvent,
- SClientMessageEvent,
- SMappingEvent,
-};
-
-
-ReplySwapPtr ReplySwapVector[256] =
-{
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd,
- (ReplySwapPtr)SGetWindowAttributesReply,
- ReplyNotSwappd,
- ReplyNotSwappd, /* 5 */
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd, /* 10 */
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd,
- (ReplySwapPtr)SGetGeometryReply,
- (ReplySwapPtr)SQueryTreeReply, /* 15 */
- (ReplySwapPtr)SInternAtomReply,
- (ReplySwapPtr)SGetAtomNameReply,
- ReplyNotSwappd,
- ReplyNotSwappd,
- (ReplySwapPtr)SGetPropertyReply, /* 20 */
- (ReplySwapPtr)SListPropertiesReply,
- ReplyNotSwappd,
- (ReplySwapPtr)SGetSelectionOwnerReply,
- ReplyNotSwappd,
- ReplyNotSwappd, /* 25 */
- (ReplySwapPtr)SGenericReply, /* SGrabPointerReply, */
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd, /* 30 */
- (ReplySwapPtr)SGenericReply, /* SGrabKeyboardReply, */
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd, /* 35 */
- ReplyNotSwappd,
- ReplyNotSwappd,
- (ReplySwapPtr)SQueryPointerReply,
- (ReplySwapPtr)SGetMotionEventsReply,
- (ReplySwapPtr)STranslateCoordsReply, /* 40 */
- ReplyNotSwappd,
- ReplyNotSwappd,
- (ReplySwapPtr)SGetInputFocusReply,
- (ReplySwapPtr)SQueryKeymapReply,
- ReplyNotSwappd, /* 45 */
- ReplyNotSwappd,
- (ReplySwapPtr)SQueryFontReply,
- (ReplySwapPtr)SQueryTextExtentsReply,
- (ReplySwapPtr)SListFontsReply,
- (ReplySwapPtr)SListFontsWithInfoReply, /* 50 */
- ReplyNotSwappd,
- (ReplySwapPtr)SGetFontPathReply,
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd, /* 55 */
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd, /* 60 */
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd, /* 65 */
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd, /* 70 */
- ReplyNotSwappd,
- ReplyNotSwappd,
- (ReplySwapPtr)SGetImageReply,
- ReplyNotSwappd,
- ReplyNotSwappd, /* 75 */
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd, /* 80 */
- ReplyNotSwappd,
- ReplyNotSwappd,
- (ReplySwapPtr)SListInstalledColormapsReply,
- (ReplySwapPtr)SAllocColorReply,
- (ReplySwapPtr)SAllocNamedColorReply, /* 85 */
- (ReplySwapPtr)SAllocColorCellsReply,
- (ReplySwapPtr)SAllocColorPlanesReply,
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd, /* 90 */
- (ReplySwapPtr)SQueryColorsReply,
- (ReplySwapPtr)SLookupColorReply,
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd, /* 95 */
- ReplyNotSwappd,
- (ReplySwapPtr)SQueryBestSizeReply,
- (ReplySwapPtr)SGenericReply, /* SQueryExtensionReply, */
- (ReplySwapPtr)SListExtensionsReply,
- ReplyNotSwappd, /* 100 */
- (ReplySwapPtr)SGetKeyboardMappingReply,
- ReplyNotSwappd,
- (ReplySwapPtr)SGetKeyboardControlReply,
- ReplyNotSwappd,
- ReplyNotSwappd, /* 105 */
- (ReplySwapPtr)SGetPointerControlReply,
- ReplyNotSwappd,
- (ReplySwapPtr)SGetScreenSaverReply,
- ReplyNotSwappd,
- (ReplySwapPtr)SListHostsReply, /* 110 */
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd,
- ReplyNotSwappd, /* 115 */
- (ReplySwapPtr)SGenericReply, /* SetPointerMapping */
- (ReplySwapPtr)SGetPointerMappingReply,
- (ReplySwapPtr)SGenericReply, /* SetModifierMapping */
- (ReplySwapPtr)SGetModifierMappingReply, /* 119 */
- ReplyNotSwappd, /* 120 */
- ReplyNotSwappd, /* 121 */
- ReplyNotSwappd, /* 122 */
- ReplyNotSwappd, /* 123 */
- ReplyNotSwappd, /* 124 */
- ReplyNotSwappd, /* 125 */
- ReplyNotSwappd, /* 126 */
- ReplyNotSwappd, /* NoOperation */
- ReplyNotSwappd
-};
+/***********************************************************
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#endif
+
+#include <X11/X.h>
+#include <X11/Xproto.h>
+#include "windowstr.h"
+#include "extnsionst.h"
+#include "dixstruct.h"
+#include "dixevents.h"
+#include "dispatch.h"
+#include "swaprep.h"
+#include "swapreq.h"
+
+int (* InitialVector[3]) (
+ ClientPtr /* client */
+ ) =
+{
+ 0,
+ ProcInitialConnection,
+ ProcEstablishConnection
+};
+
+int (* ProcVector[256]) (
+ ClientPtr /* client */
+ ) =
+{
+ ProcBadRequest,
+ ProcCreateWindow,
+ ProcChangeWindowAttributes,
+ ProcGetWindowAttributes,
+ ProcDestroyWindow,
+ ProcDestroySubwindows, /* 5 */
+ ProcChangeSaveSet,
+ ProcReparentWindow,
+ ProcMapWindow,
+ ProcMapSubwindows,
+ ProcUnmapWindow, /* 10 */
+ ProcUnmapSubwindows,
+ ProcConfigureWindow,
+ ProcCirculateWindow,
+ ProcGetGeometry,
+ ProcQueryTree, /* 15 */
+ ProcInternAtom,
+ ProcGetAtomName,
+ ProcChangeProperty,
+ ProcDeleteProperty,
+ ProcGetProperty, /* 20 */
+ ProcListProperties,
+ ProcSetSelectionOwner,
+ ProcGetSelectionOwner,
+ ProcConvertSelection,
+ ProcSendEvent, /* 25 */
+ ProcGrabPointer,
+ ProcUngrabPointer,
+ ProcGrabButton,
+ ProcUngrabButton,
+ ProcChangeActivePointerGrab, /* 30 */
+ ProcGrabKeyboard,
+ ProcUngrabKeyboard,
+ ProcGrabKey,
+ ProcUngrabKey,
+ ProcAllowEvents, /* 35 */
+ ProcGrabServer,
+ ProcUngrabServer,
+ ProcQueryPointer,
+ ProcGetMotionEvents,
+ ProcTranslateCoords, /* 40 */
+ ProcWarpPointer,
+ ProcSetInputFocus,
+ ProcGetInputFocus,
+ ProcQueryKeymap,
+ ProcOpenFont, /* 45 */
+ ProcCloseFont,
+ ProcQueryFont,
+ ProcQueryTextExtents,
+ ProcListFonts,
+ ProcListFontsWithInfo, /* 50 */
+ ProcSetFontPath,
+ ProcGetFontPath,
+ ProcCreatePixmap,
+ ProcFreePixmap,
+ ProcCreateGC, /* 55 */
+ ProcChangeGC,
+ ProcCopyGC,
+ ProcSetDashes,
+ ProcSetClipRectangles,
+ ProcFreeGC, /* 60 */
+ ProcClearToBackground,
+ ProcCopyArea,
+ ProcCopyPlane,
+ ProcPolyPoint,
+ ProcPolyLine, /* 65 */
+ ProcPolySegment,
+ ProcPolyRectangle,
+ ProcPolyArc,
+ ProcFillPoly,
+ ProcPolyFillRectangle, /* 70 */
+ ProcPolyFillArc,
+ ProcPutImage,
+ ProcGetImage,
+ ProcPolyText,
+ ProcPolyText, /* 75 */
+ ProcImageText8,
+ ProcImageText16,
+ ProcCreateColormap,
+ ProcFreeColormap,
+ ProcCopyColormapAndFree, /* 80 */
+ ProcInstallColormap,
+ ProcUninstallColormap,
+ ProcListInstalledColormaps,
+ ProcAllocColor,
+ ProcAllocNamedColor, /* 85 */
+ ProcAllocColorCells,
+ ProcAllocColorPlanes,
+ ProcFreeColors,
+ ProcStoreColors,
+ ProcStoreNamedColor, /* 90 */
+ ProcQueryColors,
+ ProcLookupColor,
+ ProcCreateCursor,
+ ProcCreateGlyphCursor,
+ ProcFreeCursor, /* 95 */
+ ProcRecolorCursor,
+ ProcQueryBestSize,
+ ProcQueryExtension,
+ ProcListExtensions,
+ ProcChangeKeyboardMapping, /* 100 */
+ ProcGetKeyboardMapping,
+ ProcChangeKeyboardControl,
+ ProcGetKeyboardControl,
+ ProcBell,
+ ProcChangePointerControl, /* 105 */
+ ProcGetPointerControl,
+ ProcSetScreenSaver,
+ ProcGetScreenSaver,
+ ProcChangeHosts,
+ ProcListHosts, /* 110 */
+ ProcChangeAccessControl,
+ ProcChangeCloseDownMode,
+ ProcKillClient,
+ ProcRotateProperties,
+ ProcForceScreenSaver, /* 115 */
+ ProcSetPointerMapping,
+ ProcGetPointerMapping,
+ ProcSetModifierMapping,
+ ProcGetModifierMapping,
+ ProcBadRequest, /* 120 */
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest, /* 125 */
+ ProcBadRequest,
+ ProcNoOperation,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest
+};
+
+int (* SwappedProcVector[256]) (
+ ClientPtr /* client */
+ ) =
+{
+ ProcBadRequest,
+ SProcCreateWindow,
+ SProcChangeWindowAttributes,
+ SProcResourceReq, /* GetWindowAttributes */
+ SProcResourceReq, /* DestroyWindow */
+ SProcResourceReq, /* 5 DestroySubwindows */
+ SProcResourceReq, /* SProcChangeSaveSet, */
+ SProcReparentWindow,
+ SProcResourceReq, /* MapWindow */
+ SProcResourceReq, /* MapSubwindows */
+ SProcResourceReq, /* 10 UnmapWindow */
+ SProcResourceReq, /* UnmapSubwindows */
+ SProcConfigureWindow,
+ SProcResourceReq, /* SProcCirculateWindow, */
+ SProcResourceReq, /* GetGeometry */
+ SProcResourceReq, /* 15 QueryTree */
+ SProcInternAtom,
+ SProcResourceReq, /* SProcGetAtomName, */
+ SProcChangeProperty,
+ SProcDeleteProperty,
+ SProcGetProperty, /* 20 */
+ SProcResourceReq, /* SProcListProperties, */
+ SProcSetSelectionOwner,
+ SProcResourceReq, /* SProcGetSelectionOwner, */
+ SProcConvertSelection,
+ SProcSendEvent, /* 25 */
+ SProcGrabPointer,
+ SProcResourceReq, /* SProcUngrabPointer, */
+ SProcGrabButton,
+ SProcUngrabButton,
+ SProcChangeActivePointerGrab, /* 30 */
+ SProcGrabKeyboard,
+ SProcResourceReq, /* SProcUngrabKeyboard, */
+ SProcGrabKey,
+ SProcUngrabKey,
+ SProcResourceReq, /* 35 SProcAllowEvents, */
+ SProcSimpleReq, /* SProcGrabServer, */
+ SProcSimpleReq, /* SProcUngrabServer, */
+ SProcResourceReq, /* SProcQueryPointer, */
+ SProcGetMotionEvents,
+ SProcTranslateCoords, /*40 */
+ SProcWarpPointer,
+ SProcSetInputFocus,
+ SProcSimpleReq, /* SProcGetInputFocus, */
+ SProcSimpleReq, /* QueryKeymap, */
+ SProcOpenFont, /* 45 */
+ SProcResourceReq, /* SProcCloseFont, */
+ SProcResourceReq, /* SProcQueryFont, */
+ SProcResourceReq, /* SProcQueryTextExtents, */
+ SProcListFonts,
+ SProcListFontsWithInfo, /* 50 */
+ SProcSetFontPath,
+ SProcSimpleReq, /* GetFontPath, */
+ SProcCreatePixmap,
+ SProcResourceReq, /* SProcFreePixmap, */
+ SProcCreateGC, /* 55 */
+ SProcChangeGC,
+ SProcCopyGC,
+ SProcSetDashes,
+ SProcSetClipRectangles,
+ SProcResourceReq, /* 60 SProcFreeGC, */
+ SProcClearToBackground,
+ SProcCopyArea,
+ SProcCopyPlane,
+ SProcPoly, /* PolyPoint, */
+ SProcPoly, /* 65 PolyLine */
+ SProcPoly, /* PolySegment, */
+ SProcPoly, /* PolyRectangle, */
+ SProcPoly, /* PolyArc, */
+ SProcFillPoly,
+ SProcPoly, /* 70 PolyFillRectangle */
+ SProcPoly, /* PolyFillArc, */
+ SProcPutImage,
+ SProcGetImage,
+ SProcPolyText,
+ SProcPolyText, /* 75 */
+ SProcImageText,
+ SProcImageText,
+ SProcCreateColormap,
+ SProcResourceReq, /* SProcFreeColormap, */
+ SProcCopyColormapAndFree, /* 80 */
+ SProcResourceReq, /* SProcInstallColormap, */
+ SProcResourceReq, /* SProcUninstallColormap, */
+ SProcResourceReq, /* SProcListInstalledColormaps, */
+ SProcAllocColor,
+ SProcAllocNamedColor, /* 85 */
+ SProcAllocColorCells,
+ SProcAllocColorPlanes,
+ SProcFreeColors,
+ SProcStoreColors,
+ SProcStoreNamedColor, /* 90 */
+ SProcQueryColors,
+ SProcLookupColor,
+ SProcCreateCursor,
+ SProcCreateGlyphCursor,
+ SProcResourceReq, /* 95 SProcFreeCursor, */
+ SProcRecolorCursor,
+ SProcQueryBestSize,
+ SProcQueryExtension,
+ SProcSimpleReq, /* ListExtensions, */
+ SProcChangeKeyboardMapping, /* 100 */
+ SProcSimpleReq, /* GetKeyboardMapping, */
+ SProcChangeKeyboardControl,
+ SProcSimpleReq, /* GetKeyboardControl, */
+ SProcSimpleReq, /* Bell, */
+ SProcChangePointerControl, /* 105 */
+ SProcSimpleReq, /* GetPointerControl, */
+ SProcSetScreenSaver,
+ SProcSimpleReq, /* GetScreenSaver, */
+ SProcChangeHosts,
+ SProcSimpleReq, /* 110 ListHosts, */
+ SProcSimpleReq, /* SProcChangeAccessControl, */
+ SProcSimpleReq, /* SProcChangeCloseDownMode, */
+ SProcResourceReq, /* SProcKillClient, */
+ SProcRotateProperties,
+ SProcSimpleReq, /* 115 ForceScreenSaver */
+ SProcSimpleReq, /* SetPointerMapping, */
+ SProcSimpleReq, /* GetPointerMapping, */
+ SProcSimpleReq, /* SetModifierMapping, */
+ SProcSimpleReq, /* GetModifierMapping, */
+ ProcBadRequest, /* 120 */
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest, /* 125 */
+ ProcBadRequest,
+ SProcNoOperation,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest,
+ ProcBadRequest
+};
+
+EventSwapPtr EventSwapVector[128] =
+{
+ (EventSwapPtr)SErrorEvent,
+ NotImplemented,
+ SKeyButtonPtrEvent,
+ SKeyButtonPtrEvent,
+ SKeyButtonPtrEvent,
+ SKeyButtonPtrEvent, /* 5 */
+ SKeyButtonPtrEvent,
+ SEnterLeaveEvent,
+ SEnterLeaveEvent,
+ SFocusEvent,
+ SFocusEvent, /* 10 */
+ SKeymapNotifyEvent,
+ SExposeEvent,
+ SGraphicsExposureEvent,
+ SNoExposureEvent,
+ SVisibilityEvent, /* 15 */
+ SCreateNotifyEvent,
+ SDestroyNotifyEvent,
+ SUnmapNotifyEvent,
+ SMapNotifyEvent,
+ SMapRequestEvent, /* 20 */
+ SReparentEvent,
+ SConfigureNotifyEvent,
+ SConfigureRequestEvent,
+ SGravityEvent,
+ SResizeRequestEvent, /* 25 */
+ SCirculateEvent,
+ SCirculateEvent,
+ SPropertyEvent,
+ SSelectionClearEvent,
+ SSelectionRequestEvent, /* 30 */
+ SSelectionNotifyEvent,
+ SColormapEvent,
+ SClientMessageEvent,
+ SMappingEvent,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented,
+ NotImplemented
+};
+
+
+ReplySwapPtr ReplySwapVector[256] =
+{
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ (ReplySwapPtr)SGetWindowAttributesReply,
+ ReplyNotSwappd,
+ ReplyNotSwappd, /* 5 */
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd, /* 10 */
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ (ReplySwapPtr)SGetGeometryReply,
+ (ReplySwapPtr)SQueryTreeReply, /* 15 */
+ (ReplySwapPtr)SInternAtomReply,
+ (ReplySwapPtr)SGetAtomNameReply,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ (ReplySwapPtr)SGetPropertyReply, /* 20 */
+ (ReplySwapPtr)SListPropertiesReply,
+ ReplyNotSwappd,
+ (ReplySwapPtr)SGetSelectionOwnerReply,
+ ReplyNotSwappd,
+ ReplyNotSwappd, /* 25 */
+ (ReplySwapPtr)SGenericReply, /* SGrabPointerReply, */
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd, /* 30 */
+ (ReplySwapPtr)SGenericReply, /* SGrabKeyboardReply, */
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd, /* 35 */
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ (ReplySwapPtr)SQueryPointerReply,
+ (ReplySwapPtr)SGetMotionEventsReply,
+ (ReplySwapPtr)STranslateCoordsReply, /* 40 */
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ (ReplySwapPtr)SGetInputFocusReply,
+ (ReplySwapPtr)SQueryKeymapReply,
+ ReplyNotSwappd, /* 45 */
+ ReplyNotSwappd,
+ (ReplySwapPtr)SQueryFontReply,
+ (ReplySwapPtr)SQueryTextExtentsReply,
+ (ReplySwapPtr)SListFontsReply,
+ (ReplySwapPtr)SListFontsWithInfoReply, /* 50 */
+ ReplyNotSwappd,
+ (ReplySwapPtr)SGetFontPathReply,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd, /* 55 */
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd, /* 60 */
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd, /* 65 */
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd, /* 70 */
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ (ReplySwapPtr)SGetImageReply,
+ ReplyNotSwappd,
+ ReplyNotSwappd, /* 75 */
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd, /* 80 */
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ (ReplySwapPtr)SListInstalledColormapsReply,
+ (ReplySwapPtr)SAllocColorReply,
+ (ReplySwapPtr)SAllocNamedColorReply, /* 85 */
+ (ReplySwapPtr)SAllocColorCellsReply,
+ (ReplySwapPtr)SAllocColorPlanesReply,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd, /* 90 */
+ (ReplySwapPtr)SQueryColorsReply,
+ (ReplySwapPtr)SLookupColorReply,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd, /* 95 */
+ ReplyNotSwappd,
+ (ReplySwapPtr)SQueryBestSizeReply,
+ (ReplySwapPtr)SGenericReply, /* SQueryExtensionReply, */
+ (ReplySwapPtr)SListExtensionsReply,
+ ReplyNotSwappd, /* 100 */
+ (ReplySwapPtr)SGetKeyboardMappingReply,
+ ReplyNotSwappd,
+ (ReplySwapPtr)SGetKeyboardControlReply,
+ ReplyNotSwappd,
+ ReplyNotSwappd, /* 105 */
+ (ReplySwapPtr)SGetPointerControlReply,
+ ReplyNotSwappd,
+ (ReplySwapPtr)SGetScreenSaverReply,
+ ReplyNotSwappd,
+ (ReplySwapPtr)SListHostsReply, /* 110 */
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd, /* 115 */
+ (ReplySwapPtr)SGenericReply, /* SetPointerMapping */
+ (ReplySwapPtr)SGetPointerMappingReply,
+ (ReplySwapPtr)SGenericReply, /* SetModifierMapping */
+ (ReplySwapPtr)SGetModifierMappingReply, /* 119 */
+ ReplyNotSwappd, /* 120 */
+ ReplyNotSwappd, /* 121 */
+ ReplyNotSwappd, /* 122 */
+ ReplyNotSwappd, /* 123 */
+ ReplyNotSwappd, /* 124 */
+ ReplyNotSwappd, /* 125 */
+ ReplyNotSwappd, /* 126 */
+ ReplyNotSwappd, /* NoOperation */
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd,
+ ReplyNotSwappd
+};
diff --git a/xorg-server/glx/glxext.c b/xorg-server/glx/glxext.c
index e48a90da6..b5be7780c 100644
--- a/xorg-server/glx/glxext.c
+++ b/xorg-server/glx/glxext.c
@@ -128,8 +128,7 @@ static int glxBlockClients;
*/
static Bool DrawableGone(__GLXdrawable *glxPriv, XID xid)
{
- __GLXcontext *c;
- __GLXcontext *cnext;
+ __GLXcontext *c, *next;
/* If this drawable was created using glx 1.3 drawable
* constructors, we added it as a glx drawable resource under both
@@ -142,8 +141,8 @@ static Bool DrawableGone(__GLXdrawable *glxPriv, XID xid)
FreeResourceByType(glxPriv->drawId, __glXDrawableRes, TRUE);
}
- for (c = glxAllContexts; c; c = cnext) {
- cnext=c->next; /* Save because c is going to be freed */
+ for (c = glxAllContexts; c; c = next) {
+ next = c->next;
if (c->isCurrent && (c->drawPriv == glxPriv || c->readPriv == glxPriv)) {
int i;
@@ -166,15 +165,13 @@ static Bool DrawableGone(__GLXdrawable *glxPriv, XID xid)
}
}
}
-
- if (!c->idExists) {
- __glXFreeContext(c);
- }
}
if (c->drawPriv == glxPriv)
c->drawPriv = NULL;
if (c->readPriv == glxPriv)
c->readPriv = NULL;
+ if (!c->idExists && !c->isCurrent)
+ __glXFreeContext(c);
}
glxPriv->destroy(glxPriv);
diff --git a/xorg-server/hw/dmx/dmx.c b/xorg-server/hw/dmx/dmx.c
index b201fb8a7..f380b4b41 100644
--- a/xorg-server/hw/dmx/dmx.c
+++ b/xorg-server/hw/dmx/dmx.c
@@ -69,39 +69,7 @@ extern void DMXExtensionInit(void);
static unsigned char DMXCode;
-static DISPATCH_PROC(ProcDMXDispatch);
-static DISPATCH_PROC(ProcDMXQueryVersion);
-static DISPATCH_PROC(ProcDMXSync);
-static DISPATCH_PROC(ProcDMXForceWindowCreation);
-static DISPATCH_PROC(ProcDMXGetScreenCount);
-static DISPATCH_PROC(ProcDMXGetScreenAttributes);
-static DISPATCH_PROC(ProcDMXChangeScreensAttributes);
-static DISPATCH_PROC(ProcDMXAddScreen);
-static DISPATCH_PROC(ProcDMXRemoveScreen);
-static DISPATCH_PROC(ProcDMXGetWindowAttributes);
-static DISPATCH_PROC(ProcDMXGetDesktopAttributes);
-static DISPATCH_PROC(ProcDMXChangeDesktopAttributes);
-static DISPATCH_PROC(ProcDMXGetInputCount);
-static DISPATCH_PROC(ProcDMXGetInputAttributes);
-static DISPATCH_PROC(ProcDMXAddInput);
-static DISPATCH_PROC(ProcDMXRemoveInput);
-
-static DISPATCH_PROC(SProcDMXDispatch);
-static DISPATCH_PROC(SProcDMXQueryVersion);
-static DISPATCH_PROC(SProcDMXSync);
-static DISPATCH_PROC(SProcDMXForceWindowCreation);
-static DISPATCH_PROC(SProcDMXGetScreenCount);
-static DISPATCH_PROC(SProcDMXGetScreenAttributes);
-static DISPATCH_PROC(SProcDMXChangeScreensAttributes);
-static DISPATCH_PROC(SProcDMXAddScreen);
-static DISPATCH_PROC(SProcDMXRemoveScreen);
-static DISPATCH_PROC(SProcDMXGetWindowAttributes);
-static DISPATCH_PROC(SProcDMXGetDesktopAttributes);
-static DISPATCH_PROC(SProcDMXChangeDesktopAttributes);
-static DISPATCH_PROC(SProcDMXGetInputCount);
-static DISPATCH_PROC(SProcDMXGetInputAttributes);
-static DISPATCH_PROC(SProcDMXAddInput);
-static DISPATCH_PROC(SProcDMXRemoveInput);
+
static int _DMXXineramaActive(void)
{
@@ -111,17 +79,6 @@ static int _DMXXineramaActive(void)
return 0;
}
-/** Initialize the extension. */
-void DMXExtensionInit(void)
-{
- ExtensionEntry *extEntry;
-
- if ((extEntry = AddExtension(DMX_EXTENSION_NAME, 0, 0,
- ProcDMXDispatch, SProcDMXDispatch,
- NULL, StandardMinorOpcode)))
- DMXCode = extEntry->base;
-}
-
static void dmxSetScreenAttribute(int bit, DMXScreenAttributesPtr attr,
CARD32 value)
{
@@ -1125,3 +1082,14 @@ static int SProcDMXDispatch (ClientPtr client)
default: return BadRequest;
}
}
+
+/** Initialize the extension. */
+void DMXExtensionInit(void)
+{
+ ExtensionEntry *extEntry;
+
+ if ((extEntry = AddExtension(DMX_EXTENSION_NAME, 0, 0,
+ ProcDMXDispatch, SProcDMXDispatch,
+ NULL, StandardMinorOpcode)))
+ DMXCode = extEntry->base;
+}
diff --git a/xorg-server/hw/kdrive/ephyr/ephyrdriext.c b/xorg-server/hw/kdrive/ephyr/ephyrdriext.c
index d730e7fd2..def7a39a8 100644
--- a/xorg-server/hw/kdrive/ephyr/ephyrdriext.c
+++ b/xorg-server/hw/kdrive/ephyr/ephyrdriext.c
@@ -72,23 +72,7 @@ typedef EphyrDRIScreenPrivRec* EphyrDRIScreenPrivPtr;
static int DRIErrorBase;
-static DISPATCH_PROC(ProcXF86DRIQueryVersion);
-static DISPATCH_PROC(ProcXF86DRIQueryDirectRenderingCapable);
-static DISPATCH_PROC(ProcXF86DRIOpenConnection);
-static DISPATCH_PROC(ProcXF86DRICloseConnection);
-static DISPATCH_PROC(ProcXF86DRIGetClientDriverName);
-static DISPATCH_PROC(ProcXF86DRICreateContext);
-static DISPATCH_PROC(ProcXF86DRIDestroyContext);
-static DISPATCH_PROC(ProcXF86DRICreateDrawable);
-static DISPATCH_PROC(ProcXF86DRIDestroyDrawable);
-static DISPATCH_PROC(ProcXF86DRIGetDrawableInfo);
-static DISPATCH_PROC(ProcXF86DRIGetDeviceInfo);
-static DISPATCH_PROC(ProcXF86DRIDispatch);
-static DISPATCH_PROC(ProcXF86DRIAuthConnection);
-
-static DISPATCH_PROC(SProcXF86DRIQueryVersion);
-static DISPATCH_PROC(SProcXF86DRIQueryDirectRenderingCapable);
-static DISPATCH_PROC(SProcXF86DRIDispatch);
+
static Bool ephyrDRIScreenInit (ScreenPtr a_screen) ;
static Bool ephyrDRICreateWindow (WindowPtr a_win) ;
@@ -119,65 +103,6 @@ static DevPrivateKeyRec ephyrDRIScreenKeyRec;
#define GET_EPHYR_DRI_SCREEN_PRIV(screen) ((EphyrDRIScreenPrivPtr) \
dixLookupPrivate(&(screen)->devPrivates, ephyrDRIScreenKey))
-
-Bool
-ephyrDRIExtensionInit (ScreenPtr a_screen)
-{
- Bool is_ok=FALSE ;
- ExtensionEntry* extEntry=NULL;
- EphyrDRIScreenPrivPtr screen_priv=NULL ;
-
- EPHYR_LOG ("enter\n") ;
- if (!hostx_has_dri ()) {
- EPHYR_LOG ("host does not have DRI extension\n") ;
- goto out ;
- }
- EPHYR_LOG ("host X does have DRI extension\n") ;
- if (!hostx_has_xshape ()) {
- EPHYR_LOG ("host does not have XShape extension\n") ;
- goto out ;
- }
- EPHYR_LOG ("host X does have XShape extension\n") ;
-
-#ifdef XF86DRI_EVENTS
- EventType = CreateNewResourceType (XF86DRIFreeEvents, "DRIEvents");
- if (!EventType) {
- EPHYR_LOG_ERROR ("failed to register DRI event resource type\n") ;
- goto out ;
- }
-#endif
-
- if ((extEntry = AddExtension(XF86DRINAME,
- XF86DRINumberEvents,
- XF86DRINumberErrors,
- ProcXF86DRIDispatch,
- SProcXF86DRIDispatch,
- NULL,
- StandardMinorOpcode))) {
- DRIReqCode = (unsigned char)extEntry->base;
- DRIErrorBase = extEntry->errorBase;
- } else {
- EPHYR_LOG_ERROR ("failed to register DRI extension\n") ;
- goto out ;
- }
- screen_priv = calloc(1, sizeof (EphyrDRIScreenPrivRec)) ;
- if (!screen_priv) {
- EPHYR_LOG_ERROR ("failed to allocate screen_priv\n") ;
- goto out ;
- }
- dixSetPrivate(&a_screen->devPrivates, ephyrDRIScreenKey, screen_priv);
-
- if (!ephyrDRIScreenInit (a_screen)) {
- EPHYR_LOG_ERROR ("ephyrDRIScreenInit() failed\n") ;
- goto out ;
- }
- EphyrMirrorHostVisuals (a_screen) ;
- is_ok=TRUE ;
-out:
- EPHYR_LOG ("leave\n") ;
- return is_ok ;
-}
-
static Bool
ephyrDRIScreenInit (ScreenPtr a_screen)
{
@@ -1428,3 +1353,61 @@ SProcXF86DRIDispatch (register ClientPtr client)
}
}
}
+
+Bool
+ephyrDRIExtensionInit (ScreenPtr a_screen)
+{
+ Bool is_ok=FALSE ;
+ ExtensionEntry* extEntry=NULL;
+ EphyrDRIScreenPrivPtr screen_priv=NULL ;
+
+ EPHYR_LOG ("enter\n") ;
+ if (!hostx_has_dri ()) {
+ EPHYR_LOG ("host does not have DRI extension\n") ;
+ goto out ;
+ }
+ EPHYR_LOG ("host X does have DRI extension\n") ;
+ if (!hostx_has_xshape ()) {
+ EPHYR_LOG ("host does not have XShape extension\n") ;
+ goto out ;
+ }
+ EPHYR_LOG ("host X does have XShape extension\n") ;
+
+#ifdef XF86DRI_EVENTS
+ EventType = CreateNewResourceType (XF86DRIFreeEvents, "DRIEvents");
+ if (!EventType) {
+ EPHYR_LOG_ERROR ("failed to register DRI event resource type\n") ;
+ goto out ;
+ }
+#endif
+
+ if ((extEntry = AddExtension(XF86DRINAME,
+ XF86DRINumberEvents,
+ XF86DRINumberErrors,
+ ProcXF86DRIDispatch,
+ SProcXF86DRIDispatch,
+ NULL,
+ StandardMinorOpcode))) {
+ DRIReqCode = (unsigned char)extEntry->base;
+ DRIErrorBase = extEntry->errorBase;
+ } else {
+ EPHYR_LOG_ERROR ("failed to register DRI extension\n") ;
+ goto out ;
+ }
+ screen_priv = calloc(1, sizeof (EphyrDRIScreenPrivRec)) ;
+ if (!screen_priv) {
+ EPHYR_LOG_ERROR ("failed to allocate screen_priv\n") ;
+ goto out ;
+ }
+ dixSetPrivate(&a_screen->devPrivates, ephyrDRIScreenKey, screen_priv);
+
+ if (!ephyrDRIScreenInit (a_screen)) {
+ EPHYR_LOG_ERROR ("ephyrDRIScreenInit() failed\n") ;
+ goto out ;
+ }
+ EphyrMirrorHostVisuals (a_screen) ;
+ is_ok=TRUE ;
+out:
+ EPHYR_LOG ("leave\n") ;
+ return is_ok ;
+}
diff --git a/xorg-server/hw/xfree86/common/xf86Helper.c b/xorg-server/hw/xfree86/common/xf86Helper.c
index 51a503eb9..e4d07ec12 100644
--- a/xorg-server/hw/xfree86/common/xf86Helper.c
+++ b/xorg-server/hw/xfree86/common/xf86Helper.c
@@ -125,7 +125,6 @@ xf86AddInputDriver(InputDriverPtr driver, pointer module, int flags)
xnfalloc(sizeof(InputDriverRec));
*xf86InputDriverList[xf86NumInputDrivers - 1] = *driver;
xf86InputDriverList[xf86NumInputDrivers - 1]->module = module;
- xf86InputDriverList[xf86NumInputDrivers - 1]->refCount = 0;
}
void
@@ -284,7 +283,6 @@ xf86AllocateInput(InputDriverPtr drv, int flags)
return NULL;
new->drv = drv;
- drv->refCount++;
new->module = DuplicateModule(drv->module, NULL);
for (prev = &xf86InputDevs; *prev; prev = &(*prev)->next)
@@ -320,9 +318,6 @@ xf86DeleteInput(InputInfoPtr pInp, int flags)
if (pInp->module)
UnloadModule(pInp->module);
- if (pInp->drv)
- pInp->drv->refCount--;
-
/* This should *really* be handled in drv->UnInit(dev) call instead, but
* if the driver forgets about it make sure we free it or at least crash
* with flying colors */
@@ -776,6 +771,9 @@ xf86SetWeight(ScrnInfoPtr scrp, rgb weight, rgb mask)
scrp->weight.red = scrp->weight.blue = 5;
scrp->weight.green = 6;
break;
+ case 18:
+ scrp->weight.red = scrp->weight.green = scrp->weight.blue = 6;
+ break;
case 24:
scrp->weight.red = scrp->weight.green = scrp->weight.blue = 8;
break;
@@ -1180,10 +1178,6 @@ xf86EnableDisableFBAccess(int scrnIndex, Bool enable)
if (enable)
{
/*
- * Restore the screen pixmap devPrivate field
- */
- pspix->devPrivate = pScrnInfo->pixmapPrivate;
- /*
* Restore all of the clip lists on the screen
*/
if (!xf86Resetting)
@@ -1196,13 +1190,6 @@ xf86EnableDisableFBAccess(int scrnIndex, Bool enable)
* Empty all of the clip lists on the screen
*/
xf86SetRootClip (pScreen, FALSE);
- /*
- * save the screen pixmap devPrivate field and
- * replace it with NULL so accidental references
- * to the frame buffer are caught
- */
- pScrnInfo->pixmapPrivate = pspix->devPrivate;
- pspix->devPrivate.ptr = NULL;
}
}
diff --git a/xorg-server/hw/xfree86/common/xf86Module.h b/xorg-server/hw/xfree86/common/xf86Module.h
index f85c54dc9..266a4dafe 100644
--- a/xorg-server/hw/xfree86/common/xf86Module.h
+++ b/xorg-server/hw/xfree86/common/xf86Module.h
@@ -82,7 +82,7 @@ typedef enum {
* mask is 0xFFFF0000.
*/
#define ABI_ANSIC_VERSION SET_ABI_VERSION(0, 4)
-#define ABI_VIDEODRV_VERSION SET_ABI_VERSION(8, 0)
+#define ABI_VIDEODRV_VERSION SET_ABI_VERSION(9, 0)
#define ABI_XINPUT_VERSION SET_ABI_VERSION(11, 0)
#define ABI_EXTENSION_VERSION SET_ABI_VERSION(4, 0)
#define ABI_FONT_VERSION SET_ABI_VERSION(0, 6)
diff --git a/xorg-server/hw/xfree86/common/xf86Xinput.h b/xorg-server/hw/xfree86/common/xf86Xinput.h
index d78c22333..1e5671574 100644
--- a/xorg-server/hw/xfree86/common/xf86Xinput.h
+++ b/xorg-server/hw/xfree86/common/xf86Xinput.h
@@ -103,7 +103,6 @@ typedef struct _InputDriverRec {
struct _LocalDeviceRec *pInfo,
int flags);
pointer module;
- int refCount;
} InputDriverRec, *InputDriverPtr;
/* This is to input devices what the ScrnInfoRec is to screens. */
diff --git a/xorg-server/hw/xfree86/common/xf86str.h b/xorg-server/hw/xfree86/common/xf86str.h
index 58438db76..9d52661a7 100644
--- a/xorg-server/hw/xfree86/common/xf86str.h
+++ b/xorg-server/hw/xfree86/common/xf86str.h
@@ -765,7 +765,6 @@ typedef struct _ScrnInfoRec {
/* Allow screens to be enabled/disabled individually */
Bool vtSema;
- DevUnion pixmapPrivate; /* saved devPrivate from pixmap */
/* hw cursor moves at SIGIO time */
Bool silkenMouse;
diff --git a/xorg-server/hw/xfree86/dixmods/extmod/Makefile.am b/xorg-server/hw/xfree86/dixmods/extmod/Makefile.am
index d93e63afa..c0b7ddc02 100644
--- a/xorg-server/hw/xfree86/dixmods/extmod/Makefile.am
+++ b/xorg-server/hw/xfree86/dixmods/extmod/Makefile.am
@@ -1,30 +1,30 @@
-sdk_HEADERS = dgaproc.h
-
-extsmoduledir = $(moduledir)/extensions
-extsmodule_LTLIBRARIES = libextmod.la
-
-if DGA
-DGA_SRCS = xf86dga2.c dgaproc.h xf86dgaext.h
-endif
-
-if XV
-XV_SRCS = xvmod.c xvmodproc.h
-endif
-
-if XF86VIDMODE
-XF86VMODE_SRCS = xf86vmode.c
-endif
-
-AM_CFLAGS = @DIX_CFLAGS@ @XORG_CFLAGS@
-INCLUDES = @XORG_INCS@ \
- -I$(top_srcdir)/dbe \
- -I$(top_srcdir)/hw/xfree86/loader \
- -I$(top_srcdir)/miext/shadow
-
-libextmod_la_LDFLAGS = -avoid-version
-libextmod_la_SOURCES = modinit.c \
- modinit.h \
- $(DGA_SRCS) \
- $(XF86VMODE_SRCS) \
- $(XV_SRCS)
-libextmod_la_LIBADD = $(top_builddir)/Xext/libXextmodule.la
+sdk_HEADERS = dgaproc.h
+
+extsmoduledir = $(moduledir)/extensions
+extsmodule_LTLIBRARIES = libextmod.la
+
+if DGA
+DGA_SRCS = xf86dga2.c dgaproc.h
+endif
+
+if XV
+XV_SRCS = xvmod.c xvmodproc.h
+endif
+
+if XF86VIDMODE
+XF86VMODE_SRCS = xf86vmode.c
+endif
+
+AM_CFLAGS = @DIX_CFLAGS@ @XORG_CFLAGS@
+INCLUDES = @XORG_INCS@ \
+ -I$(top_srcdir)/dbe \
+ -I$(top_srcdir)/hw/xfree86/loader \
+ -I$(top_srcdir)/miext/shadow
+
+libextmod_la_LDFLAGS = -avoid-version
+libextmod_la_SOURCES = modinit.c \
+ modinit.h \
+ $(DGA_SRCS) \
+ $(XF86VMODE_SRCS) \
+ $(XV_SRCS)
+libextmod_la_LIBADD = $(top_builddir)/Xext/libXextmodule.la
diff --git a/xorg-server/hw/xfree86/dixmods/extmod/xf86dga2.c b/xorg-server/hw/xfree86/dixmods/extmod/xf86dga2.c
index 453ade80b..060e5a4d7 100644
--- a/xorg-server/hw/xfree86/dixmods/extmod/xf86dga2.c
+++ b/xorg-server/hw/xfree86/dixmods/extmod/xf86dga2.c
@@ -25,7 +25,6 @@
#include <X11/extensions/xf86dgaproto.h>
#include "swaprep.h"
#include "dgaproc.h"
-#include "xf86dgaext.h"
#include "protocol-versions.h"
#include <string.h>
@@ -34,24 +33,6 @@
#define DGA_PROTOCOL_OLD_SUPPORT 1
-static DISPATCH_PROC(ProcXDGADispatch);
-static DISPATCH_PROC(SProcXDGADispatch);
-static DISPATCH_PROC(ProcXDGAQueryVersion);
-static DISPATCH_PROC(ProcXDGAQueryModes);
-static DISPATCH_PROC(ProcXDGASetMode);
-static DISPATCH_PROC(ProcXDGAOpenFramebuffer);
-static DISPATCH_PROC(ProcXDGACloseFramebuffer);
-static DISPATCH_PROC(ProcXDGASetViewport);
-static DISPATCH_PROC(ProcXDGAInstallColormap);
-static DISPATCH_PROC(ProcXDGASelectInput);
-static DISPATCH_PROC(ProcXDGAFillRectangle);
-static DISPATCH_PROC(ProcXDGACopyArea);
-static DISPATCH_PROC(ProcXDGACopyTransparentArea);
-static DISPATCH_PROC(ProcXDGAGetViewportStatus);
-static DISPATCH_PROC(ProcXDGASync);
-static DISPATCH_PROC(ProcXDGASetClientVersion);
-static DISPATCH_PROC(ProcXDGAChangePixmapMode);
-static DISPATCH_PROC(ProcXDGACreateColormap);
static void XDGAResetProc(ExtensionEntry *extEntry);
@@ -85,36 +66,6 @@ typedef struct {
dixSetPrivate(&(c)->devPrivates, DGAClientPrivateKey, p)
-void
-XFree86DGAExtensionInit(INITARGS)
-{
- ExtensionEntry* extEntry;
-
- if (!dixRegisterPrivateKey(&DGAClientPrivateKeyRec, PRIVATE_CLIENT, 0))
- return;
-
- if (!dixRegisterPrivateKey(&DGAScreenPrivateKeyRec, PRIVATE_SCREEN, 0))
- return;
-
- if ((extEntry = AddExtension(XF86DGANAME,
- XF86DGANumberEvents,
- XF86DGANumberErrors,
- ProcXDGADispatch,
- SProcXDGADispatch,
- XDGAResetProc,
- StandardMinorOpcode))) {
- int i;
-
- DGAReqCode = (unsigned char)extEntry->base;
- DGAErrorBase = extEntry->errorBase;
- DGAEventBase = extEntry->eventBase;
- for (i = KeyPress; i <= MotionNotify; i++)
- SetCriticalEvent (DGAEventBase + i);
- }
-}
-
-
-
static void
XDGAResetProc (ExtensionEntry *extEntry)
{
@@ -663,15 +614,6 @@ ProcXDGACreateColormap(ClientPtr client)
#ifdef DGA_PROTOCOL_OLD_SUPPORT
-static DISPATCH_PROC(ProcXF86DGADirectVideo);
-static DISPATCH_PROC(ProcXF86DGAGetVidPage);
-static DISPATCH_PROC(ProcXF86DGAGetVideoLL);
-static DISPATCH_PROC(ProcXF86DGAGetViewPortSize);
-static DISPATCH_PROC(ProcXF86DGASetVidPage);
-static DISPATCH_PROC(ProcXF86DGASetViewPort);
-static DISPATCH_PROC(ProcXF86DGAInstallColormap);
-static DISPATCH_PROC(ProcXF86DGAQueryDirectVideo);
-static DISPATCH_PROC(ProcXF86DGAViewPortChanged);
static int
@@ -1063,3 +1005,31 @@ XFree86DGARegister(INITARGS)
{
XDGAEventBase = &DGAEventBase;
}
+
+void
+XFree86DGAExtensionInit(INITARGS)
+{
+ ExtensionEntry* extEntry;
+
+ if (!dixRegisterPrivateKey(&DGAClientPrivateKeyRec, PRIVATE_CLIENT, 0))
+ return;
+
+ if (!dixRegisterPrivateKey(&DGAScreenPrivateKeyRec, PRIVATE_SCREEN, 0))
+ return;
+
+ if ((extEntry = AddExtension(XF86DGANAME,
+ XF86DGANumberEvents,
+ XF86DGANumberErrors,
+ ProcXDGADispatch,
+ SProcXDGADispatch,
+ XDGAResetProc,
+ StandardMinorOpcode))) {
+ int i;
+
+ DGAReqCode = (unsigned char)extEntry->base;
+ DGAErrorBase = extEntry->errorBase;
+ DGAEventBase = extEntry->eventBase;
+ for (i = KeyPress; i <= MotionNotify; i++)
+ SetCriticalEvent (DGAEventBase + i);
+ }
+}
diff --git a/xorg-server/hw/xfree86/dixmods/extmod/xf86dgaext.h b/xorg-server/hw/xfree86/dixmods/extmod/xf86dgaext.h
deleted file mode 100644
index 2b1737305..000000000
--- a/xorg-server/hw/xfree86/dixmods/extmod/xf86dgaext.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#ifndef _XF86DGAEXT_H_
-#define _XF86DGAEXT_H_
-
-extern DISPATCH_PROC(ProcXF86DGADispatch);
-
-#endif /* _XF86DGAEXT_H_ */
diff --git a/xorg-server/hw/xfree86/dixmods/extmod/xf86vmode.c b/xorg-server/hw/xfree86/dixmods/extmod/xf86vmode.c
index 31bb311b3..25980b02b 100644
--- a/xorg-server/hw/xfree86/dixmods/extmod/xf86vmode.c
+++ b/xorg-server/hw/xfree86/dixmods/extmod/xf86vmode.c
@@ -65,48 +65,6 @@ typedef struct {
#define VM_SETPRIV(c,p) \
dixSetPrivate(&(c)->devPrivates, VidModeClientPrivateKey, p)
-static DISPATCH_PROC(ProcXF86VidModeDispatch);
-static DISPATCH_PROC(ProcXF86VidModeGetAllModeLines);
-static DISPATCH_PROC(ProcXF86VidModeGetModeLine);
-static DISPATCH_PROC(ProcXF86VidModeGetMonitor);
-static DISPATCH_PROC(ProcXF86VidModeLockModeSwitch);
-static DISPATCH_PROC(ProcXF86VidModeAddModeLine);
-static DISPATCH_PROC(ProcXF86VidModeDeleteModeLine);
-static DISPATCH_PROC(ProcXF86VidModeModModeLine);
-static DISPATCH_PROC(ProcXF86VidModeValidateModeLine);
-static DISPATCH_PROC(ProcXF86VidModeQueryVersion);
-static DISPATCH_PROC(ProcXF86VidModeSwitchMode);
-static DISPATCH_PROC(ProcXF86VidModeSwitchToMode);
-static DISPATCH_PROC(ProcXF86VidModeGetViewPort);
-static DISPATCH_PROC(ProcXF86VidModeSetViewPort);
-static DISPATCH_PROC(ProcXF86VidModeGetDotClocks);
-static DISPATCH_PROC(ProcXF86VidModeSetGamma);
-static DISPATCH_PROC(ProcXF86VidModeGetGamma);
-static DISPATCH_PROC(ProcXF86VidModeSetClientVersion);
-static DISPATCH_PROC(ProcXF86VidModeGetGammaRamp);
-static DISPATCH_PROC(ProcXF86VidModeSetGammaRamp);
-static DISPATCH_PROC(ProcXF86VidModeGetGammaRampSize);
-static DISPATCH_PROC(SProcXF86VidModeDispatch);
-static DISPATCH_PROC(SProcXF86VidModeGetAllModeLines);
-static DISPATCH_PROC(SProcXF86VidModeGetModeLine);
-static DISPATCH_PROC(SProcXF86VidModeGetMonitor);
-static DISPATCH_PROC(SProcXF86VidModeLockModeSwitch);
-static DISPATCH_PROC(SProcXF86VidModeAddModeLine);
-static DISPATCH_PROC(SProcXF86VidModeDeleteModeLine);
-static DISPATCH_PROC(SProcXF86VidModeModModeLine);
-static DISPATCH_PROC(SProcXF86VidModeValidateModeLine);
-static DISPATCH_PROC(SProcXF86VidModeQueryVersion);
-static DISPATCH_PROC(SProcXF86VidModeSwitchMode);
-static DISPATCH_PROC(SProcXF86VidModeSwitchToMode);
-static DISPATCH_PROC(SProcXF86VidModeGetViewPort);
-static DISPATCH_PROC(SProcXF86VidModeSetViewPort);
-static DISPATCH_PROC(SProcXF86VidModeGetDotClocks);
-static DISPATCH_PROC(SProcXF86VidModeSetGamma);
-static DISPATCH_PROC(SProcXF86VidModeGetGamma);
-static DISPATCH_PROC(SProcXF86VidModeSetClientVersion);
-static DISPATCH_PROC(SProcXF86VidModeGetGammaRamp);
-static DISPATCH_PROC(SProcXF86VidModeSetGammaRamp);
-static DISPATCH_PROC(SProcXF86VidModeGetGammaRampSize);
#if 0
static unsigned char XF86VidModeReqCode = 0;
@@ -159,58 +117,6 @@ static DevPrivateKeyRec ScreenPrivateKeyRec;
# define DEBUG_P(x) /**/
#endif
-void
-XFree86VidModeExtensionInit(void)
-{
- ExtensionEntry* extEntry;
- ScreenPtr pScreen;
- int i;
- Bool enabled = FALSE;
-
- DEBUG_P("XFree86VidModeExtensionInit");
-
- if (!dixRegisterPrivateKey(&VidModeClientPrivateKeyRec, PRIVATE_CLIENT, 0))
- return;
-#ifdef XF86VIDMODE_EVENTS
- if (!dixRegisterPrivateKey(&ScreenPrivateKeyRec, PRIVATE_SCREEN, 0))
- return;
-#endif
-
-#ifdef XF86VIDMODE_EVENTS
- EventType = CreateNewResourceType(XF86VidModeFreeEvents, "VidModeEvent");
-#endif
-
- for(i = 0; i < screenInfo.numScreens; i++) {
- pScreen = screenInfo.screens[i];
- if (VidModeExtensionInit(pScreen))
- enabled = TRUE;
- }
- /* This means that the DDX doesn't want the vidmode extension enabled */
- if (!enabled)
- return;
-
- if (
-#ifdef XF86VIDMODE_EVENTS
- EventType &&
-#endif
- (extEntry = AddExtension(XF86VIDMODENAME,
- XF86VidModeNumberEvents,
- XF86VidModeNumberErrors,
- ProcXF86VidModeDispatch,
- SProcXF86VidModeDispatch,
- NULL,
- StandardMinorOpcode))) {
-#if 0
- XF86VidModeReqCode = (unsigned char)extEntry->base;
-#endif
- VidModeErrorBase = extEntry->errorBase;
-#ifdef XF86VIDMODE_EVENTS
- XF86VidModeEventBase = extEntry->eventBase;
- EventSwapVector[XF86VidModeEventBase] = (EventSwapPtr)SXF86VidModeNotifyEvent;
-#endif
- }
-}
-
static int
ClientMajorVersion(ClientPtr client)
{
@@ -2166,3 +2072,55 @@ SProcXF86VidModeDispatch(ClientPtr client)
return VidModeErrorBase + XF86VidModeClientNotLocal;
}
}
+
+void
+XFree86VidModeExtensionInit(void)
+{
+ ExtensionEntry* extEntry;
+ ScreenPtr pScreen;
+ int i;
+ Bool enabled = FALSE;
+
+ DEBUG_P("XFree86VidModeExtensionInit");
+
+ if (!dixRegisterPrivateKey(&VidModeClientPrivateKeyRec, PRIVATE_CLIENT, 0))
+ return;
+#ifdef XF86VIDMODE_EVENTS
+ if (!dixRegisterPrivateKey(&ScreenPrivateKeyRec, PRIVATE_SCREEN, 0))
+ return;
+#endif
+
+#ifdef XF86VIDMODE_EVENTS
+ EventType = CreateNewResourceType(XF86VidModeFreeEvents, "VidModeEvent");
+#endif
+
+ for(i = 0; i < screenInfo.numScreens; i++) {
+ pScreen = screenInfo.screens[i];
+ if (VidModeExtensionInit(pScreen))
+ enabled = TRUE;
+ }
+ /* This means that the DDX doesn't want the vidmode extension enabled */
+ if (!enabled)
+ return;
+
+ if (
+#ifdef XF86VIDMODE_EVENTS
+ EventType &&
+#endif
+ (extEntry = AddExtension(XF86VIDMODENAME,
+ XF86VidModeNumberEvents,
+ XF86VidModeNumberErrors,
+ ProcXF86VidModeDispatch,
+ SProcXF86VidModeDispatch,
+ NULL,
+ StandardMinorOpcode))) {
+#if 0
+ XF86VidModeReqCode = (unsigned char)extEntry->base;
+#endif
+ VidModeErrorBase = extEntry->errorBase;
+#ifdef XF86VIDMODE_EVENTS
+ XF86VidModeEventBase = extEntry->eventBase;
+ EventSwapVector[XF86VidModeEventBase] = (EventSwapPtr)SXF86VidModeNotifyEvent;
+#endif
+ }
+}
diff --git a/xorg-server/hw/xfree86/dri/xf86dri.c b/xorg-server/hw/xfree86/dri/xf86dri.c
index 40914ed19..cd1085b36 100644
--- a/xorg-server/hw/xfree86/dri/xf86dri.c
+++ b/xorg-server/hw/xfree86/dri/xf86dri.c
@@ -64,23 +64,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
static int DRIErrorBase;
-static DISPATCH_PROC(ProcXF86DRIQueryVersion);
-static DISPATCH_PROC(ProcXF86DRIQueryDirectRenderingCapable);
-static DISPATCH_PROC(ProcXF86DRIOpenConnection);
-static DISPATCH_PROC(ProcXF86DRICloseConnection);
-static DISPATCH_PROC(ProcXF86DRIGetClientDriverName);
-static DISPATCH_PROC(ProcXF86DRICreateContext);
-static DISPATCH_PROC(ProcXF86DRIDestroyContext);
-static DISPATCH_PROC(ProcXF86DRICreateDrawable);
-static DISPATCH_PROC(ProcXF86DRIDestroyDrawable);
-static DISPATCH_PROC(ProcXF86DRIGetDrawableInfo);
-static DISPATCH_PROC(ProcXF86DRIGetDeviceInfo);
-static DISPATCH_PROC(ProcXF86DRIDispatch);
-static DISPATCH_PROC(ProcXF86DRIAuthConnection);
-
-static DISPATCH_PROC(SProcXF86DRIQueryVersion);
-static DISPATCH_PROC(SProcXF86DRIQueryDirectRenderingCapable);
-static DISPATCH_PROC(SProcXF86DRIDispatch);
+
static void XF86DRIResetProc(ExtensionEntry* extEntry);
@@ -88,32 +72,6 @@ static unsigned char DRIReqCode = 0;
extern void XFree86DRIExtensionInit(void);
-void
-XFree86DRIExtensionInit(void)
-{
- ExtensionEntry* extEntry;
-
-#ifdef XF86DRI_EVENTS
- EventType = CreateNewResourceType(XF86DRIFreeEvents, "DRIEvent");
-#endif
-
- if (
- DRIExtensionInit() &&
-#ifdef XF86DRI_EVENTS
- EventType && ScreenPrivateIndex != -1 &&
-#endif
- (extEntry = AddExtension(XF86DRINAME,
- XF86DRINumberEvents,
- XF86DRINumberErrors,
- ProcXF86DRIDispatch,
- SProcXF86DRIDispatch,
- XF86DRIResetProc,
- StandardMinorOpcode))) {
- DRIReqCode = (unsigned char)extEntry->base;
- DRIErrorBase = extEntry->errorBase;
- }
-}
-
/*ARGSUSED*/
static void
XF86DRIResetProc (
@@ -677,3 +635,29 @@ SProcXF86DRIDispatch (
return DRIErrorBase + XF86DRIClientNotLocal;
}
}
+
+void
+XFree86DRIExtensionInit(void)
+{
+ ExtensionEntry* extEntry;
+
+#ifdef XF86DRI_EVENTS
+ EventType = CreateNewResourceType(XF86DRIFreeEvents, "DRIEvent");
+#endif
+
+ if (
+ DRIExtensionInit() &&
+#ifdef XF86DRI_EVENTS
+ EventType && ScreenPrivateIndex != -1 &&
+#endif
+ (extEntry = AddExtension(XF86DRINAME,
+ XF86DRINumberEvents,
+ XF86DRINumberErrors,
+ ProcXF86DRIDispatch,
+ SProcXF86DRIDispatch,
+ XF86DRIResetProc,
+ StandardMinorOpcode))) {
+ DRIReqCode = (unsigned char)extEntry->base;
+ DRIErrorBase = extEntry->errorBase;
+ }
+}
diff --git a/xorg-server/hw/xfree86/fbdevhw/fbdevhw.c b/xorg-server/hw/xfree86/fbdevhw/fbdevhw.c
index 1b0702644..49d0bd044 100644
--- a/xorg-server/hw/xfree86/fbdevhw/fbdevhw.c
+++ b/xorg-server/hw/xfree86/fbdevhw/fbdevhw.c
@@ -21,8 +21,6 @@
#define PAGE_MASK (~(getpagesize() - 1))
-static MODULESETUPPROTO(fbdevhwSetup);
-
static XF86ModuleVersionInfo fbdevHWVersRec =
{
"fbdevhw",
@@ -39,16 +37,10 @@ static XF86ModuleVersionInfo fbdevHWVersRec =
_X_EXPORT XF86ModuleData fbdevhwModuleData = {
&fbdevHWVersRec,
- fbdevhwSetup,
+ NULL,
NULL
};
-static pointer
-fbdevhwSetup(pointer module, pointer opts, int *errmaj, int *errmin)
-{
- return (pointer)1;
-}
-
#include <fcntl.h>
#include <errno.h>
#include <sys/mman.h>
diff --git a/xorg-server/hw/xfree86/i2c/bt829_module.c b/xorg-server/hw/xfree86/i2c/bt829_module.c
index c885b8e10..12801fbf3 100644
--- a/xorg-server/hw/xfree86/i2c/bt829_module.c
+++ b/xorg-server/hw/xfree86/i2c/bt829_module.c
@@ -1,28 +1,21 @@
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#include "xf86Module.h"
-
-static MODULESETUPPROTO(bt829Setup);
-
-static XF86ModuleVersionInfo bt829VersRec =
-{
- "bt829",
- MODULEVENDORSTRING,
- MODINFOSTRING1,
- MODINFOSTRING2,
- XORG_VERSION_CURRENT,
- 1, 0, 0,
- ABI_CLASS_VIDEODRV, /* This needs the video driver ABI */
- ABI_VIDEODRV_VERSION,
- MOD_CLASS_NONE,
- {0,0,0,0}
-};
-
-_X_EXPORT XF86ModuleData bt829ModuleData = { &bt829VersRec, bt829Setup, NULL };
-
-static pointer
-bt829Setup(pointer module, pointer opts, int *errmaj, int *errmin) {
- return (pointer)1;
-}
+#ifdef HAVE_XORG_CONFIG_H
+#include <xorg-config.h>
+#endif
+
+#include "xf86Module.h"
+
+static XF86ModuleVersionInfo bt829VersRec =
+{
+ "bt829",
+ MODULEVENDORSTRING,
+ MODINFOSTRING1,
+ MODINFOSTRING2,
+ XORG_VERSION_CURRENT,
+ 1, 0, 0,
+ ABI_CLASS_VIDEODRV, /* This needs the video driver ABI */
+ ABI_VIDEODRV_VERSION,
+ MOD_CLASS_NONE,
+ {0,0,0,0}
+};
+
+_X_EXPORT XF86ModuleData bt829ModuleData = { &bt829VersRec, NULL, NULL };
diff --git a/xorg-server/hw/xfree86/i2c/fi1236_module.c b/xorg-server/hw/xfree86/i2c/fi1236_module.c
index 4016ad0d4..7375e0fb9 100644
--- a/xorg-server/hw/xfree86/i2c/fi1236_module.c
+++ b/xorg-server/hw/xfree86/i2c/fi1236_module.c
@@ -1,32 +1,25 @@
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#include "xf86Module.h"
-
-static MODULESETUPPROTO(fi1236Setup);
-
-static XF86ModuleVersionInfo fi1236VersRec =
-{
- "fi1236",
- MODULEVENDORSTRING,
- MODINFOSTRING1,
- MODINFOSTRING2,
- XORG_VERSION_CURRENT,
- 1, 0, 0,
- ABI_CLASS_VIDEODRV, /* This needs the video driver ABI */
- ABI_VIDEODRV_VERSION,
- MOD_CLASS_NONE,
- {0,0,0,0}
-};
-
-_X_EXPORT XF86ModuleData fi1236ModuleData = {
- &fi1236VersRec,
- fi1236Setup,
- NULL
-};
-
-static pointer
-fi1236Setup(pointer module, pointer opts, int *errmaj, int *errmin) {
- return (pointer)1;
-}
+#ifdef HAVE_XORG_CONFIG_H
+#include <xorg-config.h>
+#endif
+
+#include "xf86Module.h"
+
+static XF86ModuleVersionInfo fi1236VersRec =
+{
+ "fi1236",
+ MODULEVENDORSTRING,
+ MODINFOSTRING1,
+ MODINFOSTRING2,
+ XORG_VERSION_CURRENT,
+ 1, 0, 0,
+ ABI_CLASS_VIDEODRV, /* This needs the video driver ABI */
+ ABI_VIDEODRV_VERSION,
+ MOD_CLASS_NONE,
+ {0,0,0,0}
+};
+
+_X_EXPORT XF86ModuleData fi1236ModuleData = {
+ &fi1236VersRec,
+ NULL,
+ NULL
+};
diff --git a/xorg-server/hw/xfree86/i2c/msp3430_module.c b/xorg-server/hw/xfree86/i2c/msp3430_module.c
index 66b14a277..c5c24635f 100644
--- a/xorg-server/hw/xfree86/i2c/msp3430_module.c
+++ b/xorg-server/hw/xfree86/i2c/msp3430_module.c
@@ -1,32 +1,25 @@
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#include "xf86Module.h"
-
-static MODULESETUPPROTO(msp3430Setup);
-
-static XF86ModuleVersionInfo msp3430VersRec =
-{
- "msp3430",
- MODULEVENDORSTRING,
- MODINFOSTRING1,
- MODINFOSTRING2,
- XORG_VERSION_CURRENT,
- 1, 0, 0,
- ABI_CLASS_VIDEODRV, /* This needs the video driver ABI */
- ABI_VIDEODRV_VERSION,
- MOD_CLASS_NONE,
- {0,0,0,0}
-};
-
-_X_EXPORT XF86ModuleData msp3430ModuleData = {
- &msp3430VersRec,
- msp3430Setup,
- NULL
-};
-
-static pointer
-msp3430Setup(pointer module, pointer opts, int *errmaj, int *errmin) {
- return (pointer)1;
-}
+#ifdef HAVE_XORG_CONFIG_H
+#include <xorg-config.h>
+#endif
+
+#include "xf86Module.h"
+
+static XF86ModuleVersionInfo msp3430VersRec =
+{
+ "msp3430",
+ MODULEVENDORSTRING,
+ MODINFOSTRING1,
+ MODINFOSTRING2,
+ XORG_VERSION_CURRENT,
+ 1, 0, 0,
+ ABI_CLASS_VIDEODRV, /* This needs the video driver ABI */
+ ABI_VIDEODRV_VERSION,
+ MOD_CLASS_NONE,
+ {0,0,0,0}
+};
+
+_X_EXPORT XF86ModuleData msp3430ModuleData = {
+ &msp3430VersRec,
+ NULL,
+ NULL
+};
diff --git a/xorg-server/hw/xfree86/i2c/tda8425_module.c b/xorg-server/hw/xfree86/i2c/tda8425_module.c
index 7906e5ea5..936281460 100644
--- a/xorg-server/hw/xfree86/i2c/tda8425_module.c
+++ b/xorg-server/hw/xfree86/i2c/tda8425_module.c
@@ -1,32 +1,25 @@
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#include "xf86Module.h"
-
-static MODULESETUPPROTO(tda8425Setup);
-
-static XF86ModuleVersionInfo tda8425VersRec =
-{
- "tda8425",
- MODULEVENDORSTRING,
- MODINFOSTRING1,
- MODINFOSTRING2,
- XORG_VERSION_CURRENT,
- 1, 0, 0,
- ABI_CLASS_VIDEODRV, /* This needs the video driver ABI */
- ABI_VIDEODRV_VERSION,
- MOD_CLASS_NONE,
- {0,0,0,0}
-};
-
-_X_EXPORT XF86ModuleData tda8425ModuleData = {
- &tda8425VersRec,
- tda8425Setup,
- NULL
-};
-
-static pointer
-tda8425Setup(pointer module, pointer opts, int *errmaj, int *errmin) {
- return (pointer)1;
-}
+#ifdef HAVE_XORG_CONFIG_H
+#include <xorg-config.h>
+#endif
+
+#include "xf86Module.h"
+
+static XF86ModuleVersionInfo tda8425VersRec =
+{
+ "tda8425",
+ MODULEVENDORSTRING,
+ MODINFOSTRING1,
+ MODINFOSTRING2,
+ XORG_VERSION_CURRENT,
+ 1, 0, 0,
+ ABI_CLASS_VIDEODRV, /* This needs the video driver ABI */
+ ABI_VIDEODRV_VERSION,
+ MOD_CLASS_NONE,
+ {0,0,0,0}
+};
+
+_X_EXPORT XF86ModuleData tda8425ModuleData = {
+ &tda8425VersRec,
+ NULL,
+ NULL
+};
diff --git a/xorg-server/hw/xfree86/i2c/tda9850_module.c b/xorg-server/hw/xfree86/i2c/tda9850_module.c
index 84f7e861e..239cff4fd 100644
--- a/xorg-server/hw/xfree86/i2c/tda9850_module.c
+++ b/xorg-server/hw/xfree86/i2c/tda9850_module.c
@@ -1,32 +1,25 @@
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#include "xf86Module.h"
-
-static MODULESETUPPROTO(tda9850Setup);
-
-static XF86ModuleVersionInfo tda9850VersRec =
-{
- "tda9850",
- MODULEVENDORSTRING,
- MODINFOSTRING1,
- MODINFOSTRING2,
- XORG_VERSION_CURRENT,
- 1, 0, 0,
- ABI_CLASS_VIDEODRV, /* This needs the video driver ABI */
- ABI_VIDEODRV_VERSION,
- MOD_CLASS_NONE,
- {0,0,0,0}
-};
-
-_X_EXPORT XF86ModuleData tda9850ModuleData = {
- &tda9850VersRec,
- tda9850Setup,
- NULL
-};
-
-static pointer
-tda9850Setup(pointer module, pointer opts, int *errmaj, int *errmin) {
- return (pointer)1;
-}
+#ifdef HAVE_XORG_CONFIG_H
+#include <xorg-config.h>
+#endif
+
+#include "xf86Module.h"
+
+static XF86ModuleVersionInfo tda9850VersRec =
+{
+ "tda9850",
+ MODULEVENDORSTRING,
+ MODINFOSTRING1,
+ MODINFOSTRING2,
+ XORG_VERSION_CURRENT,
+ 1, 0, 0,
+ ABI_CLASS_VIDEODRV, /* This needs the video driver ABI */
+ ABI_VIDEODRV_VERSION,
+ MOD_CLASS_NONE,
+ {0,0,0,0}
+};
+
+_X_EXPORT XF86ModuleData tda9850ModuleData = {
+ &tda9850VersRec,
+ NULL,
+ NULL
+};
diff --git a/xorg-server/hw/xfree86/i2c/tda9885_module.c b/xorg-server/hw/xfree86/i2c/tda9885_module.c
index 0ce85bba3..51eaca7e8 100644
--- a/xorg-server/hw/xfree86/i2c/tda9885_module.c
+++ b/xorg-server/hw/xfree86/i2c/tda9885_module.c
@@ -1,32 +1,25 @@
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#include "xf86Module.h"
-
-static MODULESETUPPROTO(tda9885Setup);
-
-static XF86ModuleVersionInfo tda9885VersRec =
-{
- "tda9885",
- MODULEVENDORSTRING,
- MODINFOSTRING1,
- MODINFOSTRING2,
- XORG_VERSION_CURRENT,
- 1, 0, 0,
- ABI_CLASS_VIDEODRV, /* This needs the video driver ABI */
- ABI_VIDEODRV_VERSION,
- MOD_CLASS_NONE,
- {0,0,0,0}
-};
-
-_X_EXPORT XF86ModuleData tda9885ModuleData = {
- &tda9885VersRec,
- tda9885Setup,
- NULL
-};
-
-static pointer
-tda9885Setup(pointer module, pointer opts, int *errmaj, int *errmin) {
- return (pointer)1;
-}
+#ifdef HAVE_XORG_CONFIG_H
+#include <xorg-config.h>
+#endif
+
+#include "xf86Module.h"
+
+static XF86ModuleVersionInfo tda9885VersRec =
+{
+ "tda9885",
+ MODULEVENDORSTRING,
+ MODINFOSTRING1,
+ MODINFOSTRING2,
+ XORG_VERSION_CURRENT,
+ 1, 0, 0,
+ ABI_CLASS_VIDEODRV, /* This needs the video driver ABI */
+ ABI_VIDEODRV_VERSION,
+ MOD_CLASS_NONE,
+ {0,0,0,0}
+};
+
+_X_EXPORT XF86ModuleData tda9885ModuleData = {
+ &tda9885VersRec,
+ NULL,
+ NULL
+};
diff --git a/xorg-server/hw/xfree86/i2c/uda1380_module.c b/xorg-server/hw/xfree86/i2c/uda1380_module.c
index 895f8c6f2..203055d46 100644
--- a/xorg-server/hw/xfree86/i2c/uda1380_module.c
+++ b/xorg-server/hw/xfree86/i2c/uda1380_module.c
@@ -1,32 +1,25 @@
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#include "xf86Module.h"
-
-static MODULESETUPPROTO(uda1380Setup);
-
-static XF86ModuleVersionInfo uda1380VersRec =
-{
- "uda1380",
- MODULEVENDORSTRING,
- MODINFOSTRING1,
- MODINFOSTRING2,
- XORG_VERSION_CURRENT,
- 1, 0, 0,
- ABI_CLASS_VIDEODRV, /* This needs the video driver ABI */
- ABI_VIDEODRV_VERSION,
- MOD_CLASS_NONE,
- {0,0,0,0}
-};
-
-_X_EXPORT XF86ModuleData uda1380ModuleData = {
- &uda1380VersRec,
- uda1380Setup,
- NULL
-};
-
-static pointer
-uda1380Setup(pointer module, pointer opts, int *errmaj, int *errmin) {
- return (pointer)1;
-}
+#ifdef HAVE_XORG_CONFIG_H
+#include <xorg-config.h>
+#endif
+
+#include "xf86Module.h"
+
+static XF86ModuleVersionInfo uda1380VersRec =
+{
+ "uda1380",
+ MODULEVENDORSTRING,
+ MODINFOSTRING1,
+ MODINFOSTRING2,
+ XORG_VERSION_CURRENT,
+ 1, 0, 0,
+ ABI_CLASS_VIDEODRV, /* This needs the video driver ABI */
+ ABI_VIDEODRV_VERSION,
+ MOD_CLASS_NONE,
+ {0,0,0,0}
+};
+
+_X_EXPORT XF86ModuleData uda1380ModuleData = {
+ &uda1380VersRec,
+ NULL,
+ NULL
+};
diff --git a/xorg-server/hw/xfree86/int10/xf86int10module.c b/xorg-server/hw/xfree86/int10/xf86int10module.c
index b4e5865da..52bf0eeb1 100644
--- a/xorg-server/hw/xfree86/int10/xf86int10module.c
+++ b/xorg-server/hw/xfree86/int10/xf86int10module.c
@@ -1,64 +1,43 @@
-/*
- * XFree86 int10 module
- * execute BIOS int 10h calls in x86 real mode environment
- * Copyright 1999 Egbert Eich
- */
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#include "xf86.h"
-#include "xf86str.h"
-#include "xf86Pci.h"
-#include "xf86int10.h"
-
-#ifndef MOD_NAME
-# define MOD_NAME int10
-#endif
-
-#define stringify(x) #x
-#define STRING(x) stringify(x)
-#define concat(x,y) x ## y
-#define combine(a,b) concat(a,b)
-#define NAME(x) combine(MOD_NAME,x)
-
-static MODULESETUPPROTO(NAME(Setup));
-
-static XF86ModuleVersionInfo NAME(VersRec) =
-{
- STRING(NAME( )),
- MODULEVENDORSTRING,
- MODINFOSTRING1,
- MODINFOSTRING2,
- XORG_VERSION_CURRENT,
- 1, 0, 0,
- ABI_CLASS_VIDEODRV, /* needs the video driver ABI */
- ABI_VIDEODRV_VERSION,
- MOD_CLASS_NONE,
- {0,0,0,0}
-};
-
-_X_EXPORT XF86ModuleData NAME(ModuleData) = {
- &NAME(VersRec),
- NAME(Setup),
- NULL
-};
-
-static pointer
-NAME(Setup)(pointer module, pointer opts, int *errmaj, int *errmin)
-{
- static Bool setupDone = FALSE;
-
- if (!setupDone) {
- setupDone = TRUE;
- /*
- * Tell the loader about symbols from other modules that this module
- * might refer to.
- */
- }
- /*
- * The return value must be non-NULL on success even though there
- * is no TearDownProc.
- */
- return (pointer)1;
-}
+/*
+ * XFree86 int10 module
+ * execute BIOS int 10h calls in x86 real mode environment
+ * Copyright 1999 Egbert Eich
+ */
+#ifdef HAVE_XORG_CONFIG_H
+#include <xorg-config.h>
+#endif
+
+#include "xf86.h"
+#include "xf86str.h"
+#include "xf86Pci.h"
+#include "xf86int10.h"
+
+#ifndef MOD_NAME
+# define MOD_NAME int10
+#endif
+
+#define stringify(x) #x
+#define STRING(x) stringify(x)
+#define concat(x,y) x ## y
+#define combine(a,b) concat(a,b)
+#define NAME(x) combine(MOD_NAME,x)
+
+static XF86ModuleVersionInfo NAME(VersRec) =
+{
+ STRING(NAME( )),
+ MODULEVENDORSTRING,
+ MODINFOSTRING1,
+ MODINFOSTRING2,
+ XORG_VERSION_CURRENT,
+ 1, 0, 0,
+ ABI_CLASS_VIDEODRV, /* needs the video driver ABI */
+ ABI_VIDEODRV_VERSION,
+ MOD_CLASS_NONE,
+ {0,0,0,0}
+};
+
+_X_EXPORT XF86ModuleData NAME(ModuleData) = {
+ &NAME(VersRec),
+ NULL,
+ NULL
+};
diff --git a/xorg-server/hw/xfree86/loader/Makefile.am b/xorg-server/hw/xfree86/loader/Makefile.am
index d3c17d173..acacda650 100644
--- a/xorg-server/hw/xfree86/loader/Makefile.am
+++ b/xorg-server/hw/xfree86/loader/Makefile.am
@@ -1,31 +1,29 @@
-noinst_LTLIBRARIES = libloader.la
-
-INCLUDES = $(XORG_INCS) -I$(srcdir)/../parser -I$(top_srcdir)/miext/cw \
- -I$(srcdir)/../ddc -I$(srcdir)/../i2c -I$(srcdir)/../modes \
- -I$(srcdir)/../ramdac
-
-#AM_LDFLAGS = -r
-AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS)
-
-EXTRA_DIST = \
- dlloader.h \
- loader.h \
- loaderProcs.h \
- sdksyms.sh
-
-libloader_la_SOURCES = \
- loader.c \
- loaderProcs.h \
- loadext.c \
- loadmod.c \
- dlloader.c \
- os.c \
- sdksyms.c
-libloader_la_LIBADD = $(DLOPEN_LIBS)
-
-CLEANFILES = sdksyms.c sdksyms.dep
-
-sdksyms.dep sdksyms.c: sdksyms.sh
- CPP='$(CPP)' AWK='$(AWK)' $(srcdir)/sdksyms.sh $(top_srcdir) $(AM_CFLAGS) $(CFLAGS) $(INCLUDES)
-
-sinclude sdksyms.dep
+noinst_LTLIBRARIES = libloader.la
+
+INCLUDES = $(XORG_INCS) -I$(srcdir)/../parser -I$(top_srcdir)/miext/cw \
+ -I$(srcdir)/../ddc -I$(srcdir)/../i2c -I$(srcdir)/../modes \
+ -I$(srcdir)/../ramdac
+
+#AM_LDFLAGS = -r
+AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS)
+
+EXTRA_DIST = \
+ loader.h \
+ loaderProcs.h \
+ sdksyms.sh
+
+libloader_la_SOURCES = \
+ loader.c \
+ loaderProcs.h \
+ loadext.c \
+ loadmod.c \
+ os.c \
+ sdksyms.c
+libloader_la_LIBADD = $(DLOPEN_LIBS)
+
+CLEANFILES = sdksyms.c sdksyms.dep
+
+sdksyms.dep sdksyms.c: sdksyms.sh
+ CPP='$(CPP)' AWK='$(AWK)' $(srcdir)/sdksyms.sh $(top_srcdir) $(AM_CFLAGS) $(CFLAGS) $(INCLUDES)
+
+sinclude sdksyms.dep
diff --git a/xorg-server/hw/xfree86/loader/dlloader.c b/xorg-server/hw/xfree86/loader/dlloader.c
deleted file mode 100644
index 18dcb76c6..000000000
--- a/xorg-server/hw/xfree86/loader/dlloader.c
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Copyright (c) 1997 The XFree86 Project, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of the
- * XFree86 Project, Inc. not be used in advertising or publicity
- * pertaining to distribution of the software without specific,
- * written prior permission. The Xfree86 Project, Inc. makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied
- * warranty.
- *
- * THE XFREE86 PROJECT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO
- * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS, IN NO EVENT SHALL THE XFREE86 PROJECT, INC. BE LIABLE
- * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- */
-
-/*
- * Once upon a time, X had multiple loader backends, three of which were
- * essentially libdl reimplementations. This was nonsense so we chucked
- * it, but we still retain the factorization between loader API and
- * platform implementation. This file is the libdl implementation, and
- * currently the only backend. If you find yourself porting to a platform
- * without working libdl - hpux, win32, some forsaken a.out host, etc. -
- * make a new backend rather than hacking up this file.
- */
-
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <dlfcn.h>
-
-#include <X11/Xos.h>
-#include "os.h"
-
-#include "loader.h"
-#include "dlloader.h"
-
-#if defined(DL_LAZY)
-#define DLOPEN_LAZY DL_LAZY
-#elif defined(RTLD_LAZY)
-#define DLOPEN_LAZY RTLD_LAZY
-#elif defined(__FreeBSD__)
-#define DLOPEN_LAZY 1
-#else
-#define DLOPEN_LAZY 0
-#endif
-
-#if defined(LD_GLOBAL)
-#define DLOPEN_GLOBAL LD_GLOBAL
-#elif defined(RTLD_GLOBAL)
-#define DLOPEN_GLOBAL RTLD_GLOBAL
-#else
-#define DLOPEN_GLOBAL 0
-#endif
-
-#if defined(CSRG_BASED) && !defined(__ELF__)
-#define DLSYM_PREFIX "_"
-#else
-#define DLSYM_PREFIX ""
-#endif
-
-/* Hooray, yet another open coded linked list! FIXME */
-typedef struct DLModuleList {
- void *module;
- struct DLModuleList *next;
-} DLModuleList;
-
-static DLModuleList *dlModuleList = NULL;
-
-static void *
-DLFindSymbolLocal(pointer module, const char *name)
-{
- void *p;
- char *n;
-
- static const char symPrefix[] = DLSYM_PREFIX;
-
- if (sizeof(symPrefix) > 1) {
- n = malloc(strlen(symPrefix) + strlen(name) + 1);
- sprintf(n, "%s%s", symPrefix, name);
- name = n;
- }
-
- p = dlsym(module, name);
-
- if (sizeof(symPrefix) > 1)
- free(n);
-
- return p;
-}
-
-static void *global_scope = NULL;
-
-void *
-DLFindSymbol(const char *name)
-{
- DLModuleList *l;
- void *p;
-
- p = dlsym(RTLD_DEFAULT, name);
- if (p != NULL)
- return p;
-
- for (l = dlModuleList; l != NULL; l = l->next) {
- p = DLFindSymbolLocal(l->module, name);
- if (p)
- return p;
- }
-
- if (!global_scope)
- global_scope = dlopen(NULL, DLOPEN_LAZY | DLOPEN_GLOBAL);
-
- if (global_scope)
- return DLFindSymbolLocal(global_scope, name);
-
- return NULL;
-}
-
-void *
-DLLoadModule(loaderPtr modrec, int flags)
-{
- void * dlfile;
- DLModuleList *l;
- int dlopen_flags;
-
- if (flags & LD_FLAG_GLOBAL)
- dlopen_flags = DLOPEN_LAZY | DLOPEN_GLOBAL;
- else
- dlopen_flags = DLOPEN_LAZY;
- dlfile = dlopen(modrec->name, dlopen_flags);
- if (dlfile == NULL) {
- ErrorF("dlopen: %s\n", dlerror());
- return NULL;
- }
-
- l = malloc(sizeof(DLModuleList));
- l->module = dlfile;
- l->next = dlModuleList;
- dlModuleList = l;
-
- return (void *)dlfile;
-}
-
-void
-DLUnloadModule(void *modptr)
-{
- DLModuleList *l, *p;
-
- /* remove it from dlModuleList. */
- if (dlModuleList->module == modptr) {
- l = dlModuleList;
- dlModuleList = l->next;
- free(l);
- } else {
- p = dlModuleList;
- for (l = dlModuleList->next; l != NULL; l = l->next) {
- if (l->module == modptr) {
- p->next = l->next;
- free(l);
- break;
- }
- p = l;
- }
- }
- dlclose(modptr);
-}
diff --git a/xorg-server/hw/xfree86/loader/dlloader.h b/xorg-server/hw/xfree86/loader/dlloader.h
deleted file mode 100644
index 8ae610f02..000000000
--- a/xorg-server/hw/xfree86/loader/dlloader.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright 1997 Metro Link, Inc.
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of Metro Link, Inc. not be used in
- * advertising or publicity pertaining to distribution of the software without
- * specific, written prior permission. Metro Link, Inc. makes no
- * representations about the suitability of this software for any purpose.
- * It is provided "as is" without express or implied warranty.
- *
- * METRO LINK, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL METRO LINK, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#ifndef _DLLOADER_H
-#define _DLLOADER_H
-
-extern void *DLLoadModule(loaderPtr, int flags);
-extern void DLUnloadModule(void *);
-extern void *DLFindSymbol(const char *name);
-
-#endif
diff --git a/xorg-server/hw/xfree86/loader/loader.c b/xorg-server/hw/xfree86/loader/loader.c
index 7ea934a89..32c4431de 100644
--- a/xorg-server/hw/xfree86/loader/loader.c
+++ b/xorg-server/hw/xfree86/loader/loader.c
@@ -54,18 +54,10 @@
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
-#if defined(UseMMAP) || (defined(linux) && defined(__ia64__))
-#include <sys/mman.h>
-#endif
#include <unistd.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
-#if defined(linux) && \
- (defined(__alpha__) || defined(__powerpc__) || defined(__ia64__) \
- || defined(__amd64__))
-#include <malloc.h>
-#endif
#include <stdarg.h>
#include "os.h"
@@ -75,44 +67,34 @@
#include "xf86Priv.h"
#include "compiler.h"
-extern void *xorg_symbols[];
-
-#define MAX_HANDLE 256
-static int refCount[MAX_HANDLE];
-
-static int moduleseq = 0;
-
-/* Prototypes for static functions. */
-static loaderPtr listHead = NULL;
+#ifdef HAVE_DLFCN_H
-static loaderPtr
-_LoaderListPush(void)
-{
- loaderPtr item = calloc(1, sizeof(struct _loader));
-
- item->next = listHead;
- listHead = item;
+#include <dlfcn.h>
+#include <X11/Xos.h>
- return item;
-}
+#if defined(DL_LAZY)
+#define DLOPEN_LAZY DL_LAZY
+#elif defined(RTLD_LAZY)
+#define DLOPEN_LAZY RTLD_LAZY
+#elif defined(__FreeBSD__)
+#define DLOPEN_LAZY 1
+#else
+#define DLOPEN_LAZY 0
+#endif
-static loaderPtr
-_LoaderListPop(int handle)
-{
- loaderPtr item = listHead;
- loaderPtr *bptr = &listHead; /* pointer to previous node */
+#if defined(LD_GLOBAL)
+#define DLOPEN_GLOBAL LD_GLOBAL
+#elif defined(RTLD_GLOBAL)
+#define DLOPEN_GLOBAL RTLD_GLOBAL
+#else
+#define DLOPEN_GLOBAL 0
+#endif
- while (item) {
- if (item->handle == handle) {
- *bptr = item->next; /* remove this from the list */
- return item;
- }
- bptr = &(item->next);
- item = item->next;
- }
+#else
+#error i have no dynamic linker and i must scream
+#endif
- return 0;
-}
+extern void *xorg_symbols[];
void
LoaderInit(void)
@@ -149,134 +131,60 @@ LoaderInit(void)
path = uwcrtpath; /* fallback: try to get libcrt.a from the uccs */
else
path = xcrtpath; /* get the libcrt.a we compiled with */
- LoaderOpen (path, "libcrt", 0, &errmaj, &errmin, &wasLoaded);
+ LoaderOpen (path, &errmaj, &errmin, &wasLoaded, 0);
}
#endif
}
/* Public Interface to the loader. */
-int
-LoaderOpen(const char *module, const char *cname, int handle,
- int *errmaj, int *errmin, int *wasLoaded, int flags)
+void *
+LoaderOpen(const char *module, int *errmaj, int *errmin)
{
- loaderPtr tmp;
- int new_handle;
+ void *ret;
#if defined(DEBUG)
ErrorF("LoaderOpen(%s)\n", module);
#endif
- /* Is the module already loaded? */
- if (handle >= 0) {
- tmp = listHead;
- while (tmp) {
-#ifdef DEBUGLIST
- ErrorF("strcmp(%x(%s),{%x} %x(%s))\n", module, module,
- &(tmp->name), tmp->name, tmp->name);
-#endif
- if (!strcmp(module, tmp->name)) {
- refCount[tmp->handle]++;
- if (wasLoaded)
- *wasLoaded = 1;
- xf86MsgVerb(X_INFO, 2, "Reloading %s\n", module);
- return tmp->handle;
- }
- tmp = tmp->next;
- }
- }
-
- /*
- * OK, it's a new one. Add it.
- */
xf86Msg(X_INFO, "Loading %s\n", module);
- if (wasLoaded)
- *wasLoaded = 0;
- /*
- * Find a free handle.
- */
- new_handle = 1;
- while (new_handle < MAX_HANDLE && refCount[new_handle])
- new_handle++;
-
- if (new_handle == MAX_HANDLE) {
- xf86Msg(X_ERROR, "Out of loader space\n"); /* XXX */
- if (errmaj)
- *errmaj = LDR_NOSPACE;
- if (errmin)
- *errmin = LDR_NOSPACE;
- return -1;
- }
-
- refCount[new_handle] = 1;
-
- tmp = _LoaderListPush();
- tmp->name = strdup(module);
- tmp->cname = strdup(cname);
- tmp->handle = new_handle;
- tmp->module = moduleseq++;
-
- if ((tmp->private = DLLoadModule(tmp, flags)) == NULL) {
- xf86Msg(X_ERROR, "Failed to load %s\n", module);
- _LoaderListPop(new_handle);
- refCount[new_handle] = 0;
+ if (!(ret = dlopen(module, DLOPEN_LAZY | DLOPEN_GLOBAL))) {
+ xf86Msg(X_ERROR, "Failed to load %s: %s\n", module, dlerror());
if (errmaj)
*errmaj = LDR_NOLOAD;
if (errmin)
*errmin = LDR_NOLOAD;
- return -1;
+ return NULL;
}
- return new_handle;
-}
-
-int
-LoaderHandleOpen(int handle)
-{
- if (handle < 0 || handle >= MAX_HANDLE)
- return -1;
-
- if (!refCount[handle])
- return -1;
-
- refCount[handle]++;
- return handle;
+ return ret;
}
void *
-LoaderSymbol(const char *sym)
+LoaderSymbol(const char *name)
{
- return (DLFindSymbol(sym));
-}
+ static void *global_scope = NULL;
+ void *p;
-int
-LoaderUnload(int handle)
-{
- loaderRec fakeHead;
- loaderPtr tmp = &fakeHead;
+ p = dlsym(RTLD_DEFAULT, name);
+ if (p != NULL)
+ return p;
- if (handle < 0 || handle >= MAX_HANDLE)
- return -1;
+ if (!global_scope)
+ global_scope = dlopen(NULL, DLOPEN_LAZY | DLOPEN_GLOBAL);
- /*
- * check the reference count, only free it if it goes to zero
- */
- if (--refCount[handle])
- return 0;
- /*
- * find the loaderRecs associated with this handle.
- */
+ if (global_scope)
+ return dlsym(global_scope, name);
- while ((tmp = _LoaderListPop(handle)) != NULL) {
- xf86Msg(X_INFO, "Unloading %s\n", tmp->name);
- DLUnloadModule(tmp->private);
- free(tmp->name);
- free(tmp->cname);
- free(tmp);
- }
+ return NULL;
+}
- return 0;
+void
+LoaderUnload(const char *name, void *handle)
+{
+ xf86Msg(X_INFO, "Unloading %s\n", name);
+ dlclose(handle);
}
unsigned long LoaderOptions = 0;
diff --git a/xorg-server/hw/xfree86/loader/loader.h b/xorg-server/hw/xfree86/loader/loader.h
index 77267f847..a53970b6e 100644
--- a/xorg-server/hw/xfree86/loader/loader.h
+++ b/xorg-server/hw/xfree86/loader/loader.h
@@ -57,23 +57,6 @@
#include <X11/Xfuncproto.h>
#include <X11/Xmd.h>
-/* LoadModule proc flags; LD_FLAG_GLOBAL adds symbols to global
- * namespace, default is to keep symbols local to module. */
-#define LD_FLAG_GLOBAL 1
-
-typedef struct _loader *loaderPtr;
-
-/* Each module loaded has a loaderRec */
-typedef struct _loader {
- int handle; /* Unique id used to remove symbols from
- * this module when it is unloaded */
- int module; /* Unique id to identify compilation units */
- char *name;
- char *cname;
- void *private; /* format specific data */
- loaderPtr next;
-} loaderRec;
-
/* Compiled-in version information */
typedef struct {
int xf86Version;
@@ -88,10 +71,6 @@ extern const ModuleVersions LoaderVersionInfo;
extern unsigned long LoaderOptions;
/* Internal Functions */
-int LoaderOpen(const char *, const char *, int, int *, int *, int *, int);
-int LoaderHandleOpen(int);
-
-/* Loader backends. */
-#include "dlloader.h"
+void * LoaderOpen(const char *, int *, int *);
#endif /* _LOADER_H */
diff --git a/xorg-server/hw/xfree86/loader/loaderProcs.h b/xorg-server/hw/xfree86/loader/loaderProcs.h
index a7925ecee..133d5aae9 100644
--- a/xorg-server/hw/xfree86/loader/loaderProcs.h
+++ b/xorg-server/hw/xfree86/loader/loaderProcs.h
@@ -1,93 +1,94 @@
-/*
- * Copyright 1995-1998 by Metro Link, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of Metro Link, Inc. not be used in
- * advertising or publicity pertaining to distribution of the software without
- * specific, written prior permission. Metro Link, Inc. makes no
- * representations about the suitability of this software for any purpose.
- * It is provided "as is" without express or implied warranty.
- *
- * METRO LINK, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL METRO LINK, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-/*
- * Copyright (c) 1997-2002 by The XFree86 Project, Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- *
- * Except as contained in this notice, the name of the copyright holder(s)
- * and author(s) shall not be used in advertising or otherwise to promote
- * the sale, use or other dealings in this Software without prior written
- * authorization from the copyright holder(s) and author(s).
- */
-
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#ifndef _LOADERPROCS_H
-#define _LOADERPROCS_H
-
-#include "xf86Module.h"
-
-typedef struct module_desc {
- struct module_desc *child;
- struct module_desc *sib;
- struct module_desc *parent;
- char *name;
- int handle;
- ModuleSetupProc SetupProc;
- ModuleTearDownProc TearDownProc;
- void *TearDownData; /* returned from SetupProc */
- const XF86ModuleVersionInfo *VersionInfo;
-} ModuleDesc, *ModuleDescPtr;
-
-/* External API for the loader */
-
-void LoaderInit(void);
-
-ModuleDescPtr LoadDriver(const char *, const char *, int, pointer, int *,
- int *);
-ModuleDescPtr LoadModule(const char *, const char *, const char **,
- const char **, pointer, const XF86ModReqInfo *,
- int *, int *);
-ModuleDescPtr DuplicateModule(ModuleDescPtr mod, ModuleDescPtr parent);
-void UnloadDriver(ModuleDescPtr);
-void LoaderSetPath(const char *path);
-void LoaderSortExtensions(void);
-
-int LoaderUnload(int);
-unsigned long LoaderGetModuleVersion(ModuleDescPtr mod);
-
-void LoaderResetOptions(void);
-void LoaderSetOptions(unsigned long);
-
-/* Options for LoaderSetOptions */
-#define LDR_OPT_ABI_MISMATCH_NONFATAL 0x0001
-
-#endif /* _LOADERPROCS_H */
+/*
+ * Copyright 1995-1998 by Metro Link, Inc.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Metro Link, Inc. not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Metro Link, Inc. makes no
+ * representations about the suitability of this software for any purpose.
+ * It is provided "as is" without express or implied warranty.
+ *
+ * METRO LINK, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL METRO LINK, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+/*
+ * Copyright (c) 1997-2002 by The XFree86 Project, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name of the copyright holder(s)
+ * and author(s) shall not be used in advertising or otherwise to promote
+ * the sale, use or other dealings in this Software without prior written
+ * authorization from the copyright holder(s) and author(s).
+ */
+
+#ifdef HAVE_XORG_CONFIG_H
+#include <xorg-config.h>
+#endif
+
+#ifndef _LOADERPROCS_H
+#define _LOADERPROCS_H
+
+#include "xf86Module.h"
+
+typedef struct module_desc {
+ struct module_desc *child;
+ struct module_desc *sib;
+ struct module_desc *parent;
+ char *name;
+ char *path;
+ void *handle;
+ ModuleSetupProc SetupProc;
+ ModuleTearDownProc TearDownProc;
+ void *TearDownData; /* returned from SetupProc */
+ const XF86ModuleVersionInfo *VersionInfo;
+} ModuleDesc, *ModuleDescPtr;
+
+/* External API for the loader */
+
+void LoaderInit(void);
+
+ModuleDescPtr LoadDriver(const char *, const char *, int, pointer, int *,
+ int *);
+ModuleDescPtr LoadModule(const char *, const char *, const char **,
+ const char **, pointer, const XF86ModReqInfo *,
+ int *, int *);
+ModuleDescPtr DuplicateModule(ModuleDescPtr mod, ModuleDescPtr parent);
+void UnloadDriver(ModuleDescPtr);
+void LoaderSetPath(const char *path);
+void LoaderSortExtensions(void);
+
+void LoaderUnload(const char *, void *);
+unsigned long LoaderGetModuleVersion(ModuleDescPtr mod);
+
+void LoaderResetOptions(void);
+void LoaderSetOptions(unsigned long);
+
+/* Options for LoaderSetOptions */
+#define LDR_OPT_ABI_MISMATCH_NONFATAL 0x0001
+
+#endif /* _LOADERPROCS_H */
diff --git a/xorg-server/hw/xfree86/loader/loadmod.c b/xorg-server/hw/xfree86/loader/loadmod.c
index 82739e46e..395cdf104 100644
--- a/xorg-server/hw/xfree86/loader/loadmod.c
+++ b/xorg-server/hw/xfree86/loader/loadmod.c
@@ -83,8 +83,7 @@ static char *LoaderGetCanonicalName(const char *, PatternPtr);
static void RemoveChild(ModuleDescPtr);
static ModuleDescPtr doLoadModule(const char *, const char *, const char **,
const char **, pointer,
- const XF86ModReqInfo *, int *, int *,
- int flags);
+ const XF86ModReqInfo *, int *, int *);
const ModuleVersions LoaderVersionInfo = {
XORG_VERSION_CURRENT,
@@ -765,7 +764,7 @@ LoadSubModule(pointer _parent, const char *module,
}
submod = doLoadModule(module, NULL, subdirlist, patternlist, options,
- modreq, errmaj, errmin, LD_FLAG_GLOBAL);
+ modreq, errmaj, errmin);
if (submod && submod != (ModuleDescPtr) 1) {
parent->child = AddSibling(parent->child, submod);
submod->parent = parent;
@@ -776,18 +775,10 @@ LoadSubModule(pointer _parent, const char *module,
static ModuleDescPtr
NewModuleDesc(const char *name)
{
- ModuleDescPtr mdp = malloc(sizeof(ModuleDesc));
+ ModuleDescPtr mdp = calloc(1, sizeof(ModuleDesc));
- if (mdp) {
- mdp->child = NULL;
- mdp->sib = NULL;
- mdp->parent = NULL;
+ if (mdp)
mdp->name = xstrdup(name);
- mdp->handle = -1;
- mdp->SetupProc = NULL;
- mdp->TearDownProc = NULL;
- mdp->TearDownData = NULL;
- }
return mdp;
}
@@ -796,6 +787,7 @@ ModuleDescPtr
DuplicateModule(ModuleDescPtr mod, ModuleDescPtr parent)
{
ModuleDescPtr ret;
+ int errmaj, errmin;
if (!mod)
return NULL;
@@ -804,10 +796,11 @@ DuplicateModule(ModuleDescPtr mod, ModuleDescPtr parent)
if (ret == NULL)
return NULL;
- if (LoaderHandleOpen(mod->handle) == -1)
- return NULL;
+ if (!(ret->handle = LoaderOpen(mod->path, &errmaj, &errmin))) {
+ free(ret);
+ return NULL;
+ }
- ret->handle = mod->handle;
ret->SetupProc = mod->SetupProc;
ret->TearDownProc = mod->TearDownProc;
ret->TearDownData = NULL;
@@ -815,6 +808,7 @@ DuplicateModule(ModuleDescPtr mod, ModuleDescPtr parent)
ret->sib = DuplicateModule(mod->sib, parent);
ret->parent = parent;
ret->VersionInfo = mod->VersionInfo;
+ ret->path = strdup(mod->path);
return ret;
}
@@ -830,7 +824,7 @@ static ModuleDescPtr
doLoadModule(const char *module, const char *path, const char **subdirlist,
const char **patternlist, pointer options,
const XF86ModReqInfo * modreq,
- int *errmaj, int *errmin, int flags)
+ int *errmaj, int *errmin)
{
XF86ModuleData *initdata = NULL;
char **pathlist = NULL;
@@ -839,7 +833,6 @@ doLoadModule(const char *module, const char *path, const char **subdirlist,
char **path_elem = NULL;
char *p = NULL;
ModuleDescPtr ret = NULL;
- int wasLoaded = 0;
PatternPtr patterns = NULL;
int noncanonical = 0;
char *m = NULL;
@@ -926,10 +919,10 @@ doLoadModule(const char *module, const char *path, const char **subdirlist,
*errmin = 0;
goto LoadModule_fail;
}
- ret->handle = LoaderOpen(found, name, 0,
- errmaj, errmin, &wasLoaded, flags);
+ ret->handle = LoaderOpen(found, errmaj, errmin);
if (ret->handle < 0)
goto LoadModule_fail;
+ ret->path = strdup(found);
/* drop any explicit suffix from the module name */
p = strchr(name, '.');
@@ -960,26 +953,24 @@ doLoadModule(const char *module, const char *path, const char **subdirlist,
setup = initdata->setup;
teardown = initdata->teardown;
- if (!wasLoaded) {
- if (vers) {
- if (!CheckVersion(module, vers, modreq)) {
- if (errmaj)
- *errmaj = LDR_MISMATCH;
- if (errmin)
- *errmin = 0;
- goto LoadModule_fail;
- }
- } else {
- xf86Msg(X_ERROR,
- "LoadModule: Module %s does not supply"
- " version information\n", module);
- if (errmaj)
- *errmaj = LDR_INVALID;
- if (errmin)
- *errmin = 0;
- goto LoadModule_fail;
- }
- }
+ if (vers) {
+ if (!CheckVersion(module, vers, modreq)) {
+ if (errmaj)
+ *errmaj = LDR_MISMATCH;
+ if (errmin)
+ *errmin = 0;
+ goto LoadModule_fail;
+ }
+ } else {
+ xf86Msg(X_ERROR,
+ "LoadModule: Module %s does not supply"
+ " version information\n", module);
+ if (errmaj)
+ *errmaj = LDR_INVALID;
+ if (errmin)
+ *errmin = 0;
+ goto LoadModule_fail;
+ }
if (setup)
ret->SetupProc = setup;
if (teardown)
@@ -1067,7 +1058,7 @@ LoadModule(const char *module, const char *path, const char **subdirlist,
const XF86ModReqInfo * modreq, int *errmaj, int *errmin)
{
return doLoadModule(module, path, subdirlist, patternlist, options,
- modreq, errmaj, errmin, LD_FLAG_GLOBAL);
+ modreq, errmaj, errmin);
}
void
@@ -1089,12 +1080,13 @@ UnloadModuleOrDriver(ModuleDescPtr mod)
if ((mod->TearDownProc) && (mod->TearDownData))
mod->TearDownProc(mod->TearDownData);
- LoaderUnload(mod->handle);
+ LoaderUnload(mod->name, mod->handle);
if (mod->child)
UnloadModuleOrDriver(mod->child);
if (mod->sib)
UnloadModuleOrDriver(mod->sib);
+ free(mod->path);
free(mod->name);
free(mod);
}
@@ -1111,13 +1103,14 @@ UnloadSubModule(pointer _mod)
if ((mod->TearDownProc) && (mod->TearDownData))
mod->TearDownProc(mod->TearDownData);
- LoaderUnload(mod->handle);
+ LoaderUnload(mod->name, mod->handle);
RemoveChild(mod);
if (mod->child)
UnloadModuleOrDriver(mod->child);
+ free(mod->path);
free(mod->name);
free(mod);
}
diff --git a/xorg-server/hw/xfree86/modes/xf86RandR12.c b/xorg-server/hw/xfree86/modes/xf86RandR12.c
index 92f34a222..0f4c40c09 100644
--- a/xorg-server/hw/xfree86/modes/xf86RandR12.c
+++ b/xorg-server/hw/xfree86/modes/xf86RandR12.c
@@ -511,7 +511,6 @@ xf86RandR12SetMode (ScreenPtr pScreen,
WindowPtr pRoot = pScreen->root;
DisplayModePtr currentMode = NULL;
Bool ret = TRUE;
- PixmapPtr pspix = NULL;
if (pRoot)
(*scrp->EnableDisableFBAccess) (pScreen->myNum, FALSE);
@@ -560,14 +559,6 @@ xf86RandR12SetMode (ScreenPtr pScreen,
pScreen->mmHeight = oldmmHeight;
scrp->currentMode = currentMode;
}
- /*
- * Get the new Screen pixmap ptr as SwitchMode might have called
- * ModifyPixmapHeader and xf86EnableDisableFBAccess will put it back...
- * Unfortunately.
- */
- pspix = (*pScreen->GetScreenPixmap) (pScreen);
- if (pspix->devPrivate.ptr)
- scrp->pixmapPrivate = pspix->devPrivate;
/*
* Make sure the layout is correct
@@ -677,7 +668,7 @@ xf86RandR12ScreenSetSize (ScreenPtr pScreen,
ScrnInfoPtr pScrn = XF86SCRNINFO(pScreen);
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn);
WindowPtr pRoot = pScreen->root;
- PixmapPtr pScrnPix = (*pScreen->GetScreenPixmap)(pScreen);
+ PixmapPtr pScrnPix;
Bool ret = FALSE;
int c;
@@ -714,6 +705,7 @@ xf86RandR12ScreenSetSize (ScreenPtr pScreen,
}
}
+ pScrnPix = (*pScreen->GetScreenPixmap)(pScreen);
pScreen->width = pScrnPix->drawable.width = width;
pScreen->height = pScrnPix->drawable.height = height;
randrp->mmWidth = pScreen->mmWidth = mmWidth;
diff --git a/xorg-server/hw/xfree86/shadowfb/shadow.c b/xorg-server/hw/xfree86/shadowfb/shadow.c
index 741d6a1b7..26b92b5d6 100644
--- a/xorg-server/hw/xfree86/shadowfb/shadow.c
+++ b/xorg-server/hw/xfree86/shadowfb/shadow.c
@@ -36,15 +36,6 @@ static void ShadowCopyWindow(
RegionPtr prgn
);
static Bool ShadowCreateGC(GCPtr pGC);
-static Bool ShadowModifyPixmapHeader(
- PixmapPtr pPixmap,
- int width,
- int height,
- int depth,
- int bitsPerPixel,
- int devKind,
- pointer pPixData
-);
static Bool ShadowEnterVT(int index, int flags);
static void ShadowLeaveVT(int index, int flags);
@@ -189,7 +180,6 @@ ShadowFBInit2 (
pScreen->CloseScreen = ShadowCloseScreen;
pScreen->CopyWindow = ShadowCopyWindow;
pScreen->CreateGC = ShadowCreateGC;
- pScreen->ModifyPixmapHeader = ShadowModifyPixmapHeader;
pScrn->EnterVT = ShadowEnterVT;
pScrn->LeaveVT = ShadowLeaveVT;
@@ -310,49 +300,6 @@ ShadowCopyWindow(
}
}
-static Bool
-ShadowModifyPixmapHeader(
- PixmapPtr pPixmap,
- int width,
- int height,
- int depth,
- int bitsPerPixel,
- int devKind,
- pointer pPixData
-)
-{
- ScreenPtr pScreen;
- ScrnInfoPtr pScrn;
- ShadowScreenPtr pPriv;
- Bool retval;
- PixmapPtr pScreenPix;
-
- if (!pPixmap)
- return FALSE;
-
- pScreen = pPixmap->drawable.pScreen;
- pScrn = xf86Screens[pScreen->myNum];
-
- pScreenPix = (*pScreen->GetScreenPixmap)(pScreen);
-
- if (pPixmap == pScreenPix && !pScrn->vtSema)
- pScreenPix->devPrivate = pScrn->pixmapPrivate;
-
- pPriv = GET_SCREEN_PRIVATE(pScreen);
-
- pScreen->ModifyPixmapHeader = pPriv->ModifyPixmapHeader;
- retval = (*pScreen->ModifyPixmapHeader)(pPixmap,
- width, height, depth, bitsPerPixel, devKind, pPixData);
- pScreen->ModifyPixmapHeader = ShadowModifyPixmapHeader;
-
- if (pPixmap == pScreenPix && !pScrn->vtSema)
- {
- pScrn->pixmapPrivate = pScreenPix->devPrivate;
- pScreenPix->devPrivate.ptr = 0;
- }
- return retval;
-}
-
static void
ShadowComposite(
CARD8 op,
diff --git a/xorg-server/hw/xfree86/vbe/vbe_module.c b/xorg-server/hw/xfree86/vbe/vbe_module.c
index cf37ef951..5aba16f51 100644
--- a/xorg-server/hw/xfree86/vbe/vbe_module.c
+++ b/xorg-server/hw/xfree86/vbe/vbe_module.c
@@ -1,31 +1,23 @@
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#include "xf86.h"
-#include "xf86str.h"
-#include "vbe.h"
-
-static MODULESETUPPROTO(vbeSetup);
-
-static XF86ModuleVersionInfo vbeVersRec =
-{
- "vbe",
- MODULEVENDORSTRING,
- MODINFOSTRING1,
- MODINFOSTRING2,
- XORG_VERSION_CURRENT,
- 1, 1, 0,
- ABI_CLASS_VIDEODRV, /* needs the video driver ABI */
- ABI_VIDEODRV_VERSION,
- MOD_CLASS_NONE,
- {0,0,0,0}
-};
-
-_X_EXPORT XF86ModuleData vbeModuleData = { &vbeVersRec, vbeSetup, NULL };
-
-static pointer
-vbeSetup(pointer module, pointer opts, int *errmaj, int *errmin)
-{
- return (pointer)1;
-}
+#ifdef HAVE_XORG_CONFIG_H
+#include <xorg-config.h>
+#endif
+
+#include "xf86.h"
+#include "xf86str.h"
+#include "vbe.h"
+
+static XF86ModuleVersionInfo vbeVersRec =
+{
+ "vbe",
+ MODULEVENDORSTRING,
+ MODINFOSTRING1,
+ MODINFOSTRING2,
+ XORG_VERSION_CURRENT,
+ 1, 1, 0,
+ ABI_CLASS_VIDEODRV, /* needs the video driver ABI */
+ ABI_VIDEODRV_VERSION,
+ MOD_CLASS_NONE,
+ {0,0,0,0}
+};
+
+_X_EXPORT XF86ModuleData vbeModuleData = { &vbeVersRec, NULL, NULL };
diff --git a/xorg-server/hw/xquartz/Makefile.am b/xorg-server/hw/xquartz/Makefile.am
index 96b139f97..23bf04c2e 100644
--- a/xorg-server/hw/xquartz/Makefile.am
+++ b/xorg-server/hw/xquartz/Makefile.am
@@ -1,54 +1,56 @@
-noinst_LTLIBRARIES = libXquartz.la
-AM_CFLAGS = $(DIX_CFLAGS)
-AM_OBJCFLAGS = $(DIX_CFLAGS)
-AM_CPPFLAGS = \
- -DBUILD_DATE=\"$(BUILD_DATE)\" \
- -DXSERVER_VERSION=\"$(VERSION)\" \
- -DINXQUARTZ \
- -DUSE_NEW_CLUT \
- -DXFree86Server \
- -I$(top_srcdir)/miext/rootless \
- -DX11LIBDIR=\"$(libdir)\"
-
-if GLX
-GL_DIR = GL
-endif
-
-SUBDIRS = bundle . $(GL_DIR) xpr pbproxy mach-startup doc
-
-DIST_SUBDIRS = bundle . GL xpr pbproxy mach-startup doc
-
-libXquartz_la_SOURCES = \
- $(top_srcdir)/fb/fbcmap_mi.c \
- $(top_srcdir)/mi/miinitext.c \
- X11Application.m \
- X11Controller.m \
- applewm.c \
- darwin.c \
- darwinEvents.c \
- darwinXinput.c \
- keysym2ucs.c \
- pseudoramiX.c \
- quartz.c \
- quartzAudio.c \
- quartzCocoa.m \
- quartzKeyboard.c \
- quartzStartup.c \
- threadSafety.c
-
-EXTRA_DIST = \
- X11Application.h \
- X11Controller.h \
- applewmExt.h \
- darwin.h \
- darwinfb.h \
- darwinEvents.h \
- keysym2ucs.h \
- pseudoramiX.h \
- quartz.h \
- quartzAudio.h \
- quartzCommon.h \
- quartzKeyboard.h \
- sanitizedCarbon.h \
- sanitizedCocoa.h \
- threadSafety.h
+noinst_LTLIBRARIES = libXquartz.la
+AM_CFLAGS = $(DIX_CFLAGS)
+AM_OBJCFLAGS = $(DIX_CFLAGS)
+AM_CPPFLAGS = \
+ -DBUILD_DATE=\"$(BUILD_DATE)\" \
+ -DXSERVER_VERSION=\"$(VERSION)\" \
+ -DINXQUARTZ \
+ -DUSE_NEW_CLUT \
+ -DXFree86Server \
+ -I$(top_srcdir)/miext/rootless \
+ -DX11LIBDIR=\"$(libdir)\"
+
+if GLX
+GL_DIR = GL
+endif
+
+SUBDIRS = bundle . $(GL_DIR) xpr pbproxy mach-startup doc
+
+DIST_SUBDIRS = bundle . GL xpr pbproxy mach-startup doc
+
+libXquartz_la_SOURCES = \
+ $(top_srcdir)/fb/fbcmap_mi.c \
+ $(top_srcdir)/mi/miinitext.c \
+ X11Application.m \
+ X11Controller.m \
+ applewm.c \
+ darwin.c \
+ darwinEvents.c \
+ darwinXinput.c \
+ keysym2ucs.c \
+ pseudoramiX.c \
+ quartz.c \
+ quartzAudio.c \
+ quartzCocoa.m \
+ quartzKeyboard.c \
+ quartzStartup.c \
+ quartzRandR.c \
+ threadSafety.c
+
+EXTRA_DIST = \
+ X11Application.h \
+ X11Controller.h \
+ applewmExt.h \
+ darwin.h \
+ darwinfb.h \
+ darwinEvents.h \
+ keysym2ucs.h \
+ pseudoramiX.h \
+ quartz.h \
+ quartzAudio.h \
+ quartzCommon.h \
+ quartzKeyboard.h \
+ quartzRandR.h \
+ sanitizedCarbon.h \
+ sanitizedCocoa.h \
+ threadSafety.h
diff --git a/xorg-server/hw/xquartz/X11Application.h b/xorg-server/hw/xquartz/X11Application.h
index ce19e034a..71a593b40 100644
--- a/xorg-server/hw/xquartz/X11Application.h
+++ b/xorg-server/hw/xquartz/X11Application.h
@@ -1,113 +1,110 @@
-/* X11Application.h -- subclass of NSApplication to multiplex events
-
- Copyright (c) 2002-2007 Apple Inc. All rights reserved.
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation files
- (the "Software"), to deal in the Software without restriction,
- including without limitation the rights to use, copy, modify, merge,
- publish, distribute, sublicense, and/or sell copies of the Software,
- and to permit persons to whom the Software is furnished to do so,
- subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT
- HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the name(s) of the above
- copyright holders shall not be used in advertising or otherwise to
- promote the sale, use or other dealings in this Software without
- prior written authorization. */
-
-#ifndef X11APPLICATION_H
-#define X11APPLICATION_H 1
-
-#if __OBJC__
-
-#import "X11Controller.h"
-
-@interface X11Application : NSApplication {
- X11Controller *_controller;
-
- unsigned int _x_active :1;
-}
-
-- (void) set_controller:controller;
-- (void) set_window_menu:(NSArray *)list;
-
-- (int) prefs_get_integer:(NSString *)key default:(int)def;
-- (const char *) prefs_get_string:(NSString *)key default:(const char *)def;
-- (float) prefs_get_float:(NSString *)key default:(float)def;
-- (int) prefs_get_boolean:(NSString *)key default:(int)def;
-- (NSURL *) prefs_copy_url:(NSString *)key default:(NSURL *)def;
-- (NSArray *) prefs_get_array:(NSString *)key;
-- (void) prefs_set_integer:(NSString *)key value:(int)value;
-- (void) prefs_set_float:(NSString *)key value:(float)value;
-- (void) prefs_set_boolean:(NSString *)key value:(int)value;
-- (void) prefs_set_array:(NSString *)key value:(NSArray *)value;
-- (void) prefs_set_string:(NSString *)key value:(NSString *)value;
-- (void) prefs_synchronize;
-
-- (X11Controller *) controller;
-- (OSX_BOOL) x_active;
-@end
-
-extern X11Application *X11App;
-
-#endif /* __OBJC__ */
-
-void X11ApplicationSetWindowMenu (int nitems, const char **items,
- const char *shortcuts);
-void X11ApplicationSetWindowMenuCheck (int idx);
-void X11ApplicationSetFrontProcess (void);
-void X11ApplicationSetCanQuit (int state);
-void X11ApplicationServerReady (void);
-void X11ApplicationShowHideMenubar (int state);
-void X11ApplicationLaunchClient (const char *cmd);
-
-void X11ApplicationMain(int argc, char **argv, char **envp);
-
-extern int X11EnableKeyEquivalents;
-extern int quartzHasRoot, quartzEnableRootless, quartzFullscreenMenu;
-
-#define PREFS_APPSMENU "apps_menu"
-#define PREFS_FAKEBUTTONS "enable_fake_buttons"
-#define PREFS_SYSBEEP "enable_system_beep"
-#define PREFS_KEYEQUIVS "enable_key_equivalents"
-#define PREFS_FULLSCREEN_HOTKEYS "fullscreen_hotkeys"
-#define PREFS_FULLSCREEN_MENU "fullscreen_menu"
-#define PREFS_SYNC_KEYMAP "sync_keymap"
-#define PREFS_DEPTH "depth"
-#define PREFS_NO_AUTH "no_auth"
-#define PREFS_NO_TCP "nolisten_tcp"
-#define PREFS_DONE_XINIT_CHECK "done_xinit_check"
-#define PREFS_NO_QUIT_ALERT "no_quit_alert"
-#define PREFS_OPTION_SENDS_ALT "option_sends_alt"
-#define PREFS_FAKE_BUTTON2 "fake_button2"
-#define PREFS_FAKE_BUTTON3 "fake_button3"
-#define PREFS_APPKIT_MODIFIERS "appkit_modifiers"
-#define PREFS_WINDOW_ITEM_MODIFIERS "window_item_modifiers"
-#define PREFS_ROOTLESS "rootless"
-#define PREFS_TEST_EXTENSIONS "enable_test_extensions"
-#define PREFS_XP_OPTIONS "xp_options"
-#define PREFS_LOGIN_SHELL "login_shell"
-#define PREFS_UPDATE_FEED "update_feed"
-#define PREFS_CLICK_THROUGH "wm_click_through"
-#define PREFS_FFM "wm_ffm"
-#define PREFS_FOCUS_ON_NEW_WINDOW "wm_focus_on_new_window"
-
-#define PREFS_SYNC_PB "sync_pasteboard"
-#define PREFS_SYNC_PB_TO_CLIPBOARD "sync_pasteboard_to_clipboard"
-#define PREFS_SYNC_PB_TO_PRIMARY "sync_pasteboard_to_primary"
-#define PREFS_SYNC_CLIPBOARD_TO_PB "sync_clipboard_to_pasteboard"
-#define PREFS_SYNC_PRIMARY_ON_SELECT "sync_primary_on_select"
-
-#endif /* X11APPLICATION_H */
+/* X11Application.h -- subclass of NSApplication to multiplex events
+
+ Copyright (c) 2002-2007 Apple Inc. All rights reserved.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation files
+ (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge,
+ publish, distribute, sublicense, and/or sell copies of the Software,
+ and to permit persons to whom the Software is furnished to do so,
+ subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT
+ HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the name(s) of the above
+ copyright holders shall not be used in advertising or otherwise to
+ promote the sale, use or other dealings in this Software without
+ prior written authorization. */
+
+#ifndef X11APPLICATION_H
+#define X11APPLICATION_H 1
+
+#if __OBJC__
+
+#import "X11Controller.h"
+
+@interface X11Application : NSApplication {
+ X11Controller *_controller;
+
+ unsigned int _x_active :1;
+}
+
+- (void) set_controller:controller;
+- (void) set_window_menu:(NSArray *)list;
+
+- (int) prefs_get_integer:(NSString *)key default:(int)def;
+- (const char *) prefs_get_string:(NSString *)key default:(const char *)def;
+- (float) prefs_get_float:(NSString *)key default:(float)def;
+- (int) prefs_get_boolean:(NSString *)key default:(int)def;
+- (NSURL *) prefs_copy_url:(NSString *)key default:(NSURL *)def;
+- (NSArray *) prefs_get_array:(NSString *)key;
+- (void) prefs_set_integer:(NSString *)key value:(int)value;
+- (void) prefs_set_float:(NSString *)key value:(float)value;
+- (void) prefs_set_boolean:(NSString *)key value:(int)value;
+- (void) prefs_set_array:(NSString *)key value:(NSArray *)value;
+- (void) prefs_set_string:(NSString *)key value:(NSString *)value;
+- (void) prefs_synchronize;
+
+- (X11Controller *) controller;
+- (OSX_BOOL) x_active;
+@end
+
+extern X11Application *X11App;
+
+#endif /* __OBJC__ */
+
+void X11ApplicationSetWindowMenu (int nitems, const char **items,
+ const char *shortcuts);
+void X11ApplicationSetWindowMenuCheck (int idx);
+void X11ApplicationSetFrontProcess (void);
+void X11ApplicationSetCanQuit (int state);
+void X11ApplicationServerReady (void);
+void X11ApplicationShowHideMenubar (int state);
+void X11ApplicationLaunchClient (const char *cmd);
+
+void X11ApplicationMain(int argc, char **argv, char **envp);
+
+#define PREFS_APPSMENU "apps_menu"
+#define PREFS_FAKEBUTTONS "enable_fake_buttons"
+#define PREFS_SYSBEEP "enable_system_beep"
+#define PREFS_KEYEQUIVS "enable_key_equivalents"
+#define PREFS_FULLSCREEN_HOTKEYS "fullscreen_hotkeys"
+#define PREFS_FULLSCREEN_MENU "fullscreen_menu"
+#define PREFS_SYNC_KEYMAP "sync_keymap"
+#define PREFS_DEPTH "depth"
+#define PREFS_NO_AUTH "no_auth"
+#define PREFS_NO_TCP "nolisten_tcp"
+#define PREFS_DONE_XINIT_CHECK "done_xinit_check"
+#define PREFS_NO_QUIT_ALERT "no_quit_alert"
+#define PREFS_OPTION_SENDS_ALT "option_sends_alt"
+#define PREFS_FAKE_BUTTON2 "fake_button2"
+#define PREFS_FAKE_BUTTON3 "fake_button3"
+#define PREFS_APPKIT_MODIFIERS "appkit_modifiers"
+#define PREFS_WINDOW_ITEM_MODIFIERS "window_item_modifiers"
+#define PREFS_ROOTLESS "rootless"
+#define PREFS_TEST_EXTENSIONS "enable_test_extensions"
+#define PREFS_XP_OPTIONS "xp_options"
+#define PREFS_LOGIN_SHELL "login_shell"
+#define PREFS_UPDATE_FEED "update_feed"
+#define PREFS_CLICK_THROUGH "wm_click_through"
+#define PREFS_FFM "wm_ffm"
+#define PREFS_FOCUS_ON_NEW_WINDOW "wm_focus_on_new_window"
+
+#define PREFS_SYNC_PB "sync_pasteboard"
+#define PREFS_SYNC_PB_TO_CLIPBOARD "sync_pasteboard_to_clipboard"
+#define PREFS_SYNC_PB_TO_PRIMARY "sync_pasteboard_to_primary"
+#define PREFS_SYNC_CLIPBOARD_TO_PB "sync_clipboard_to_pasteboard"
+#define PREFS_SYNC_PRIMARY_ON_SELECT "sync_primary_on_select"
+
+#endif /* X11APPLICATION_H */
diff --git a/xorg-server/hw/xquartz/X11Application.m b/xorg-server/hw/xquartz/X11Application.m
index fcd6b3eef..3d972cf2c 100644
--- a/xorg-server/hw/xquartz/X11Application.m
+++ b/xorg-server/hw/xquartz/X11Application.m
@@ -38,6 +38,7 @@
#import "X11Application.h"
#include "darwin.h"
+#include "quartz.h"
#include "darwinEvents.h"
#include "quartzKeyboard.h"
#include "quartz.h"
@@ -63,9 +64,6 @@ extern int xpbproxy_run (void);
/* Stuck modifier / button state... force release when we context switch */
static NSEventType keyState[NUM_KEYCODES];
-int X11EnableKeyEquivalents = TRUE, quartzFullscreenMenu = FALSE;
-int quartzHasRoot = FALSE, quartzEnableRootless = TRUE;
-
extern Bool noTestExtensions;
#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050
@@ -287,23 +285,23 @@ static void message_kit_thread (SEL selector, NSObject *arg) {
do_swallow = YES;
for_x = NO;
#if XPLUGIN_VERSION >= 1
- } else if(X11EnableKeyEquivalents &&
+ } else if(XQuartzEnableKeyEquivalents &&
xp_is_symbolic_hotkey_event([e eventRef])) {
swallow_keycode = [e keyCode];
do_swallow = YES;
for_x = NO;
#endif
- } else if(X11EnableKeyEquivalents &&
+ } else if(XQuartzEnableKeyEquivalents &&
[[self mainMenu] performKeyEquivalent:e]) {
swallow_keycode = [e keyCode];
do_swallow = YES;
for_appkit = NO;
for_x = NO;
- } else if(!quartzEnableRootless
+ } else if(!XQuartzIsRootless
&& ([e modifierFlags] & ALL_KEY_MASKS) == (NSCommandKeyMask | NSAlternateKeyMask)
&& ([e keyCode] == 0 /*a*/ || [e keyCode] == 53 /*Esc*/)) {
/* We have this here to force processing fullscreen
- * toggle even if X11EnableKeyEquivalents is disabled */
+ * toggle even if XQuartzEnableKeyEquivalents is disabled */
swallow_keycode = [e keyCode];
do_swallow = YES;
for_x = NO;
@@ -372,7 +370,7 @@ static void message_kit_thread (SEL selector, NSObject *arg) {
break;
case 18: /* ApplicationDidReactivate */
- if (quartzHasRoot) for_appkit = NO;
+ if (XQuartzFullscreenVisible) for_appkit = NO;
break;
case NSApplicationDeactivatedEventType:
@@ -422,7 +420,7 @@ static void message_kit_thread (SEL selector, NSObject *arg) {
if ([state boolValue])
SetSystemUIMode(kUIModeNormal, 0);
else
- SetSystemUIMode(kUIModeAllHidden, quartzFullscreenMenu ? kUIOptionAutoShowMenuBar : 0); // kUIModeAllSuppressed or kUIOptionAutoShowMenuBar can be used to allow "mouse-activation"
+ SetSystemUIMode(kUIModeAllHidden, XQuartzFullscreenMenu ? kUIOptionAutoShowMenuBar : 0); // kUIModeAllSuppressed or kUIOptionAutoShowMenuBar can be used to allow "mouse-activation"
}
- (void) launch_client:(NSString *)cmd {
@@ -720,18 +718,18 @@ static NSMutableArray * cfarray_to_nsarray (CFArrayRef in) {
NSString *nsstr;
const char *tem;
- quartzUseSysBeep = [self prefs_get_boolean:@PREFS_SYSBEEP
- default:quartzUseSysBeep];
- quartzEnableRootless = [self prefs_get_boolean:@PREFS_ROOTLESS
- default:quartzEnableRootless];
- quartzFullscreenMenu = [self prefs_get_boolean:@PREFS_FULLSCREEN_MENU
- default:quartzFullscreenMenu];
- quartzFullscreenDisableHotkeys = ![self prefs_get_boolean:@PREFS_FULLSCREEN_HOTKEYS
- default:!quartzFullscreenDisableHotkeys];
+ XQuartzUseSysBeep = [self prefs_get_boolean:@PREFS_SYSBEEP
+ default:XQuartzUseSysBeep];
+ XQuartzRootlessDefault = [self prefs_get_boolean:@PREFS_ROOTLESS
+ default:XQuartzRootlessDefault];
+ XQuartzFullscreenMenu = [self prefs_get_boolean:@PREFS_FULLSCREEN_MENU
+ default:XQuartzFullscreenMenu];
+ XQuartzFullscreenDisableHotkeys = ![self prefs_get_boolean:@PREFS_FULLSCREEN_HOTKEYS
+ default:!XQuartzFullscreenDisableHotkeys];
darwinFakeButtons = [self prefs_get_boolean:@PREFS_FAKEBUTTONS
default:darwinFakeButtons];
- quartzOptionSendsAlt = [self prefs_get_boolean:@PREFS_OPTION_SENDS_ALT
- default:quartzOptionSendsAlt];
+ XQuartzOptionSendsAlt = [self prefs_get_boolean:@PREFS_OPTION_SENDS_ALT
+ default:XQuartzOptionSendsAlt];
if (darwinFakeButtons) {
const char *fake2, *fake3;
@@ -759,8 +757,8 @@ static NSMutableArray * cfarray_to_nsarray (CFArrayRef in) {
}
}
- X11EnableKeyEquivalents = [self prefs_get_boolean:@PREFS_KEYEQUIVS
- default:X11EnableKeyEquivalents];
+ XQuartzEnableKeyEquivalents = [self prefs_get_boolean:@PREFS_KEYEQUIVS
+ default:XQuartzEnableKeyEquivalents];
darwinSyncKeymap = [self prefs_get_boolean:@PREFS_SYNC_KEYMAP
default:darwinSyncKeymap];
@@ -1158,7 +1156,7 @@ static inline int ensure_flag(int flags, int device_independent, int device_depe
pDev = darwinTabletCurrent;
}
- if(!quartzServerVisible && noTestExtensions) {
+ if(!XQuartzServerVisible && noTestExtensions) {
#if defined(XPLUGIN_VERSION) && XPLUGIN_VERSION > 0
/* Older libXplugin (Tiger/"Stock" Leopard) aren't thread safe, so we can't call xp_find_window from the Appkit thread */
xp_window_id wid = 0;
@@ -1218,7 +1216,7 @@ static inline int ensure_flag(int flags, int device_independent, int device_depe
/* If we're in the background, we need to send a MotionNotify event
* first, since we aren't getting them on background mouse motion
*/
- if(!quartzServerVisible && noTestExtensions) {
+ if(!XQuartzServerVisible && noTestExtensions) {
bgMouseLocationUpdated = FALSE;
DarwinSendPointerEvents(darwinPointer, MotionNotify, 0, location.x,
location.y, pressure, tilt.x, tilt.y);
diff --git a/xorg-server/hw/xquartz/X11Controller.m b/xorg-server/hw/xquartz/X11Controller.m
index d66d039b0..5502999e3 100644
--- a/xorg-server/hw/xquartz/X11Controller.m
+++ b/xorg-server/hw/xquartz/X11Controller.m
@@ -1,844 +1,844 @@
-/* X11Controller.m -- connect the IB ui, also the NSApp delegate
-
- Copyright (c) 2002-2008 Apple Inc. All rights reserved.
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation files
- (the "Software"), to deal in the Software without restriction,
- including without limitation the rights to use, copy, modify, merge,
- publish, distribute, sublicense, and/or sell copies of the Software,
- and to permit persons to whom the Software is furnished to do so,
- subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT
- HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the name(s) of the above
- copyright holders shall not be used in advertising or otherwise to
- promote the sale, use or other dealings in this Software without
- prior written authorization. */
-
-#include "sanitizedCarbon.h"
-#include <AvailabilityMacros.h>
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include "quartzCommon.h"
-
-#import "X11Controller.h"
-#import "X11Application.h"
-
-#include "opaque.h"
-#include "darwin.h"
-#include "darwinEvents.h"
-#include "quartz.h"
-#include "quartzKeyboard.h"
-#include <X11/extensions/applewmconst.h>
-#include "applewmExt.h"
-
-#include <stdio.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-
-@implementation X11Controller
-
-- (void) awakeFromNib
-{
- X11Application *xapp = NSApp;
- NSArray *array;
-
- /* Point X11Application at ourself. */
- [xapp set_controller:self];
-
- array = [xapp prefs_get_array:@PREFS_APPSMENU];
- if (array != nil)
- {
- int count;
-
- /* convert from [TITLE1 COMMAND1 TITLE2 COMMAND2 ...]
- to [[TITLE1 COMMAND1] [TITLE2 COMMAND2] ...] format. */
-
- count = [array count];
- if (count > 0
- && ![[array objectAtIndex:0] isKindOfClass:[NSArray class]])
- {
- int i;
- NSMutableArray *copy, *sub;
-
- copy = [NSMutableArray arrayWithCapacity:(count / 2)];
-
- for (i = 0; i < count / 2; i++)
- {
- sub = [[NSMutableArray alloc] initWithCapacity:3];
- [sub addObject:[array objectAtIndex:i*2]];
- [sub addObject:[array objectAtIndex:i*2+1]];
- [sub addObject:@""];
- [copy addObject:sub];
- [sub release];
- }
-
- array = copy;
- }
-
- [self set_apps_menu:array];
- }
-
- [[NSNotificationCenter defaultCenter]
- addObserver: self
- selector: @selector(apps_table_done:)
- name: NSWindowWillCloseNotification
- object: [apps_table window]];
-
- // Setup data about our Windows menu
- if(window_separator) {
- [[window_separator menu] removeItem:window_separator];
- window_separator = nil;
- }
-
- windows_menu_start = [[X11App windowsMenu] numberOfItems];
-}
-
-- (void) item_selected:sender
-{
- [NSApp activateIgnoringOtherApps:YES];
-
- DarwinSendDDXEvent(kXquartzControllerNotify, 2,
- AppleWMWindowMenuItem, [sender tag]);
-}
-
-- (void) remove_window_menu
-{
- NSMenu *menu;
- int count, i;
-
- /* Work backwards so we don't mess up the indices */
- menu = [X11App windowsMenu];
- count = [menu numberOfItems];
- for (i = count - 1; i >= windows_menu_start; i--)
- [menu removeItemAtIndex:i];
-
- count = [dock_menu indexOfItem:dock_window_separator];
- for (i = 0; i < count; i++)
- [dock_menu removeItemAtIndex:0];
-}
-
-- (void) install_window_menu:(NSArray *)list
-{
- NSMenu *menu;
- NSMenuItem *item;
- int first, count, i;
-
- menu = [X11App windowsMenu];
- first = windows_menu_start + 1;
- count = [list count];
-
- // Push a Separator
- if(count) {
- [menu addItem:[NSMenuItem separatorItem]];
- }
-
- for (i = 0; i < count; i++)
- {
- NSString *name, *shortcut;
-
- name = [[list objectAtIndex:i] objectAtIndex:0];
- shortcut = [[list objectAtIndex:i] objectAtIndex:1];
-
- if(windowItemModMask == 0 || windowItemModMask == -1)
- shortcut = @"";
-
- item = (NSMenuItem *) [menu addItemWithTitle:name action:@selector
- (item_selected:) keyEquivalent:shortcut];
- [item setKeyEquivalentModifierMask:(NSUInteger) windowItemModMask];
- [item setTarget:self];
- [item setTag:i];
- [item setEnabled:YES];
-
- item = (NSMenuItem *) [dock_menu insertItemWithTitle:name
- action:@selector
- (item_selected:) keyEquivalent:shortcut
- atIndex:i];
- [item setKeyEquivalentModifierMask:(NSUInteger) windowItemModMask];
- [item setTarget:self];
- [item setTag:i];
- [item setEnabled:YES];
- }
-
- if (checked_window_item >= 0 && checked_window_item < count)
- {
- item = (NSMenuItem *) [menu itemAtIndex:first + checked_window_item];
- [item setState:NSOnState];
- item = (NSMenuItem *) [dock_menu itemAtIndex:checked_window_item];
- [item setState:NSOnState];
- }
-}
-
-- (void) remove_apps_menu
-{
- NSMenu *menu;
- NSMenuItem *item;
- int i;
-
- if (apps == nil || apps_separator == nil) return;
-
- menu = [apps_separator menu];
-
- if (menu != nil)
- {
- for (i = [menu numberOfItems] - 1; i >= 0; i--)
- {
- item = (NSMenuItem *) [menu itemAtIndex:i];
- if ([item tag] != 0)
- [menu removeItemAtIndex:i];
- }
- }
-
- if (dock_apps_menu != nil)
- {
- for (i = [dock_apps_menu numberOfItems] - 1; i >= 0; i--)
- {
- item = (NSMenuItem *) [dock_apps_menu itemAtIndex:i];
- if ([item tag] != 0)
- [dock_apps_menu removeItemAtIndex:i];
- }
- }
-
- [apps release];
- apps = nil;
-}
-
-- (void) prepend_apps_item:(NSArray *)list index:(int)i menu:(NSMenu *)menu
-{
- NSString *title, *shortcut = @"";
- NSArray *group;
- NSMenuItem *item;
-
- group = [list objectAtIndex:i];
- title = [group objectAtIndex:0];
- if ([group count] >= 3)
- shortcut = [group objectAtIndex:2];
-
- if ([title length] != 0)
- {
- item = (NSMenuItem *) [menu insertItemWithTitle:title
- action:@selector (app_selected:)
- keyEquivalent:shortcut atIndex:0];
- [item setTarget:self];
- [item setEnabled:YES];
- }
- else
- {
- item = (NSMenuItem *) [NSMenuItem separatorItem];
- [menu insertItem:item atIndex:0];
- }
-
- [item setTag:i+1]; /* can't be zero, so add one */
-}
-
-- (void) install_apps_menu:(NSArray *)list
-{
- NSMenu *menu;
- int i, count;
-
- count = [list count];
-
- if (count == 0 || apps_separator == nil) return;
-
- menu = [apps_separator menu];
-
- for (i = count - 1; i >= 0; i--)
- {
- if (menu != nil)
- [self prepend_apps_item:list index:i menu:menu];
- if (dock_apps_menu != nil)
- [self prepend_apps_item:list index:i menu:dock_apps_menu];
- }
-
- apps = [list retain];
-}
-
-- (void) set_window_menu:(NSArray *)list
-{
- [self remove_window_menu];
- [self install_window_menu:list];
-
- DarwinSendDDXEvent(kXquartzControllerNotify, 1,
- AppleWMWindowMenuNotify);
-}
-
-- (void) set_window_menu_check:(NSNumber *)nn
-{
- NSMenu *menu;
- NSMenuItem *item;
- int first, count;
- int n = [nn intValue];
-
- menu = [X11App windowsMenu];
- first = windows_menu_start + 1;
- count = [menu numberOfItems] - first;
-
- if (checked_window_item >= 0 && checked_window_item < count)
- {
- item = (NSMenuItem *) [menu itemAtIndex:first + checked_window_item];
- [item setState:NSOffState];
- item = (NSMenuItem *) [dock_menu itemAtIndex:checked_window_item];
- [item setState:NSOffState];
- }
- if (n >= 0 && n < count)
- {
- item = (NSMenuItem *) [menu itemAtIndex:first + n];
- [item setState:NSOnState];
- item = (NSMenuItem *) [dock_menu itemAtIndex:n];
- [item setState:NSOnState];
- }
- checked_window_item = n;
-}
-
-- (void) set_apps_menu:(NSArray *)list
-{
- [self remove_apps_menu];
- [self install_apps_menu:list];
-}
-
-#ifdef XQUARTZ_SPARKLE
-- (void) setup_sparkle {
- if(check_for_updates_item)
- return; // already did it...
-
- NSMenu *menu = [x11_about_item menu];
-
- check_for_updates_item = [menu insertItemWithTitle:NSLocalizedString(@"Check for X11 Updates...", @"Check for X11 Updates...")
- action:@selector (checkForUpdates:)
- keyEquivalent:@""
- atIndex:1];
- [check_for_updates_item setTarget:[SUUpdater sharedUpdater]];
- [check_for_updates_item setEnabled:YES];
-
- // Set X11Controller as the delegate for the updater.
- [[SUUpdater sharedUpdater] setDelegate:self];
-}
-
-// Sent immediately before installing the specified update.
-- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)update {
- //[self set_can_quit:YES];
-}
-
-#endif
-
-- (void) launch_client:(NSString *)filename
-{
- int child1, child2 = 0;
- int status;
- const char *newargv[4];
- char buf[128];
- char *s;
-
- newargv[0] = [X11App prefs_get_string:@PREFS_LOGIN_SHELL default:"/bin/sh"];
- newargv[1] = "-c";
- newargv[2] = [filename UTF8String];
- newargv[3] = NULL;
-
- s = getenv("DISPLAY");
- if (s == NULL || s[0] == 0) {
- snprintf(buf, sizeof(buf), ":%s", display);
- setenv("DISPLAY", buf, TRUE);
- }
-
- /* Do the fork-twice trick to avoid having to reap zombies */
- child1 = fork();
- switch (child1) {
- case -1: /* error */
- break;
-
- case 0: /* child1 */
- child2 = fork();
-
- switch (child2) {
- int max_files, i;
-
- case -1: /* error */
- _exit(1);
-
- case 0: /* child2 */
- /* close all open files except for standard streams */
- max_files = sysconf(_SC_OPEN_MAX);
- for(i = 3; i < max_files; i++)
- close(i);
-
- /* ensure stdin is on /dev/null */
- close(0);
- open("/dev/null", O_RDONLY);
-
- execvp(newargv[0], (char **const) newargv);
- _exit(2);
-
- default: /* parent (child1) */
- _exit(0);
- }
- break;
-
- default: /* parent */
- waitpid(child1, &status, 0);
- }
-}
-
-- (void) app_selected:sender
-{
- int tag;
- NSString *item;
-
- tag = [sender tag] - 1;
- if (apps == nil || tag < 0 || tag >= [apps count])
- return;
-
- item = [[apps objectAtIndex:tag] objectAtIndex:1];
-
- [self launch_client:item];
-}
-
-- (IBAction) apps_table_show:sender
-{
- NSArray *columns;
- NSMutableArray *oldapps = nil;
-
- if (table_apps != nil)
- oldapps = table_apps;
-
- table_apps = [[NSMutableArray alloc] initWithCapacity:1];
- if(apps != nil)
- [table_apps addObjectsFromArray:apps];
-
- columns = [apps_table tableColumns];
- [[columns objectAtIndex:0] setIdentifier:@"0"];
- [[columns objectAtIndex:1] setIdentifier:@"1"];
- [[columns objectAtIndex:2] setIdentifier:@"2"];
-
- [apps_table setDataSource:self];
- [apps_table selectRowIndexes:[NSIndexSet indexSetWithIndex:0] byExtendingSelection:NO];
-
- [[apps_table window] makeKeyAndOrderFront:sender];
- [apps_table reloadData];
- if(oldapps != nil)
- [oldapps release];
-}
-
-- (IBAction) apps_table_done:sender
-{
- [apps_table deselectAll:sender]; /* flush edits? */
-
- [self remove_apps_menu];
- [self install_apps_menu:table_apps];
-
- [NSApp prefs_set_array:@PREFS_APPSMENU value:table_apps];
- [NSApp prefs_synchronize];
-
- [[apps_table window] orderOut:sender];
-
- [table_apps release];
- table_apps = nil;
-}
-
-- (IBAction) apps_table_new:sender
-{
- NSMutableArray *item;
-
- int row = [apps_table selectedRow], i;
-
- if (row < 0) row = 0;
- else row = row + 1;
-
- i = row;
- if (i > [table_apps count])
- return; /* avoid exceptions */
-
- [apps_table deselectAll:sender];
-
- item = [[NSMutableArray alloc] initWithCapacity:3];
- [item addObject:@""];
- [item addObject:@""];
- [item addObject:@""];
-
- [table_apps insertObject:item atIndex:i];
- [item release];
-
- [apps_table reloadData];
- [apps_table selectRowIndexes:[NSIndexSet indexSetWithIndex:row] byExtendingSelection:NO];
-}
-
-- (IBAction) apps_table_duplicate:sender
-{
- int row = [apps_table selectedRow], i;
- NSObject *item;
-
- if (row < 0) {
- [self apps_table_new:sender];
- return;
- }
-
- i = row;
- if (i > [table_apps count] - 1) return; /* avoid exceptions */
-
- [apps_table deselectAll:sender];
-
- item = [[table_apps objectAtIndex:i] mutableCopy];
- [table_apps insertObject:item atIndex:i];
- [item release];
-
- [apps_table reloadData];
- [apps_table selectRowIndexes:[NSIndexSet indexSetWithIndex:row+1] byExtendingSelection:NO];
-}
-
-- (IBAction) apps_table_delete:sender
-{
- int row = [apps_table selectedRow];
-
- if (row >= 0)
- {
- int i = row;
-
- if (i > [table_apps count] - 1) return; /* avoid exceptions */
-
- [apps_table deselectAll:sender];
-
- [table_apps removeObjectAtIndex:i];
- }
-
- [apps_table reloadData];
-
- row = MIN (row, [table_apps count] - 1);
- if (row >= 0)
- [apps_table selectRowIndexes:[NSIndexSet indexSetWithIndex:row] byExtendingSelection:NO];
-}
-
-- (NSInteger) numberOfRowsInTableView:(NSTableView *)tableView
-{
- if (table_apps == nil) return 0;
-
- return [table_apps count];
-}
-
-- (id) tableView:(NSTableView *)tableView
-objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
-{
- NSArray *item;
- int col;
-
- if (table_apps == nil) return nil;
-
- col = [[tableColumn identifier] intValue];
-
- item = [table_apps objectAtIndex:row];
- if ([item count] > col)
- return [item objectAtIndex:col];
- else
- return @"";
-}
-
-- (void) tableView:(NSTableView *)tableView setObjectValue:(id)object
- forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
-{
- NSMutableArray *item;
- int col;
-
- if (table_apps == nil) return;
-
- col = [[tableColumn identifier] intValue];
-
- item = [table_apps objectAtIndex:row];
- [item replaceObjectAtIndex:col withObject:object];
-}
-
-- (void) hide_window:sender
-{
- if ([X11App x_active])
- DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMHideWindow);
- else
- NSBeep (); /* FIXME: something here */
-}
-
-- (IBAction)bring_to_front:sender
-{
- DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMBringAllToFront);
-}
-
-- (IBAction)close_window:sender
-{
- if ([X11App x_active])
- DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMCloseWindow);
- else
- [[NSApp keyWindow] performClose:sender];
-}
-
-- (IBAction)minimize_window:sender
-{
- if ([X11App x_active])
- DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMMinimizeWindow);
- else
- [[NSApp keyWindow] performMiniaturize:sender];
-}
-
-- (IBAction)zoom_window:sender
-{
- if ([X11App x_active])
- DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMZoomWindow);
- else
- [[NSApp keyWindow] performZoom:sender];
-}
-
-- (IBAction) next_window:sender
-{
- DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMNextWindow);
-}
-
-- (IBAction) previous_window:sender
-{
- DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMPreviousWindow);
-}
-
-- (IBAction) enable_fullscreen_changed:sender {
- int value = ![enable_fullscreen intValue];
-
- [enable_fullscreen_menu setEnabled:!value];
-
- DarwinSendDDXEvent(kXquartzSetRootless, 1, value);
-
- [NSApp prefs_set_boolean:@PREFS_ROOTLESS value:value];
- [NSApp prefs_synchronize];
-}
-
-- (IBAction) toggle_fullscreen:sender
-{
- DarwinSendDDXEvent(kXquartzToggleFullscreen, 0);
-}
-
-- (void) set_can_quit:(OSX_BOOL)state
-{
- can_quit = state;
-}
-
-- (IBAction)prefs_changed:sender
-{
- if(!sender)
- return;
-
- if(sender == fake_buttons) {
- darwinFakeButtons = [fake_buttons intValue];
- [NSApp prefs_set_boolean:@PREFS_FAKEBUTTONS value:darwinFakeButtons];
- } else if(sender == use_sysbeep) {
- quartzUseSysBeep = [use_sysbeep intValue];
- [NSApp prefs_set_boolean:@PREFS_SYSBEEP value:quartzUseSysBeep];
- } else if(sender == enable_keyequivs) {
- X11EnableKeyEquivalents = [enable_keyequivs intValue];
- [NSApp prefs_set_boolean:@PREFS_KEYEQUIVS value:X11EnableKeyEquivalents];
- } else if(sender == sync_keymap) {
- darwinSyncKeymap = [sync_keymap intValue];
- [NSApp prefs_set_boolean:@PREFS_SYNC_KEYMAP value:darwinSyncKeymap];
- } else if(sender == enable_fullscreen_menu) {
- quartzFullscreenMenu = [enable_fullscreen_menu intValue];
- [NSApp prefs_set_boolean:@PREFS_FULLSCREEN_MENU value:quartzFullscreenMenu];
- } else if(sender == option_sends_alt) {
- BOOL prev_opt_sends_alt = quartzOptionSendsAlt;
-
- quartzOptionSendsAlt = [option_sends_alt intValue];
- [NSApp prefs_set_boolean:@PREFS_OPTION_SENDS_ALT value:quartzOptionSendsAlt];
-
- if(prev_opt_sends_alt != quartzOptionSendsAlt)
- QuartsResyncKeymap(TRUE);
- } else if(sender == click_through) {
- [NSApp prefs_set_boolean:@PREFS_CLICK_THROUGH value:[click_through intValue]];
- } else if(sender == focus_follows_mouse) {
- [NSApp prefs_set_boolean:@PREFS_FFM value:[focus_follows_mouse intValue]];
- } else if(sender == focus_on_new_window) {
- [NSApp prefs_set_boolean:@PREFS_FOCUS_ON_NEW_WINDOW value:[focus_on_new_window intValue]];
- } else if(sender == enable_auth) {
- [NSApp prefs_set_boolean:@PREFS_NO_AUTH value:![enable_auth intValue]];
- } else if(sender == enable_tcp) {
- [NSApp prefs_set_boolean:@PREFS_NO_TCP value:![enable_tcp intValue]];
- } else if(sender == depth) {
- [NSApp prefs_set_integer:@PREFS_DEPTH value:[depth selectedTag]];
- } else if(sender == sync_pasteboard) {
- BOOL pbproxy_active = [sync_pasteboard intValue];
- [NSApp prefs_set_boolean:@PREFS_SYNC_PB value:pbproxy_active];
-
- [sync_pasteboard_to_clipboard setEnabled:pbproxy_active];
- [sync_pasteboard_to_primary setEnabled:pbproxy_active];
- [sync_clipboard_to_pasteboard setEnabled:pbproxy_active];
- [sync_primary_immediately setEnabled:pbproxy_active];
-
- // setEnabled doesn't do this...
- [sync_text1 setTextColor:pbproxy_active ? [NSColor controlTextColor] : [NSColor disabledControlTextColor]];
- [sync_text2 setTextColor:pbproxy_active ? [NSColor controlTextColor] : [NSColor disabledControlTextColor]];
- } else if(sender == sync_pasteboard_to_clipboard) {
- [NSApp prefs_set_boolean:@PREFS_SYNC_PB_TO_CLIPBOARD value:[sync_pasteboard_to_clipboard intValue]];
- } else if(sender == sync_pasteboard_to_primary) {
- [NSApp prefs_set_boolean:@PREFS_SYNC_PB_TO_PRIMARY value:[sync_pasteboard_to_primary intValue]];
- } else if(sender == sync_clipboard_to_pasteboard) {
- [NSApp prefs_set_boolean:@PREFS_SYNC_CLIPBOARD_TO_PB value:[sync_clipboard_to_pasteboard intValue]];
- } else if(sender == sync_primary_immediately) {
- [NSApp prefs_set_boolean:@PREFS_SYNC_PRIMARY_ON_SELECT value:[sync_primary_immediately intValue]];
- }
-
- [NSApp prefs_synchronize];
-
- DarwinSendDDXEvent(kXquartzReloadPreferences, 0);
-}
-
-- (IBAction) prefs_show:sender
-{
- BOOL pbproxy_active = [NSApp prefs_get_boolean:@PREFS_SYNC_PB default:YES];
-
- [fake_buttons setIntValue:darwinFakeButtons];
- [use_sysbeep setIntValue:quartzUseSysBeep];
- [enable_keyequivs setIntValue:X11EnableKeyEquivalents];
- [sync_keymap setIntValue:darwinSyncKeymap];
- [option_sends_alt setIntValue:quartzOptionSendsAlt];
- [click_through setIntValue:[NSApp prefs_get_boolean:@PREFS_CLICK_THROUGH default:NO]];
- [focus_follows_mouse setIntValue:[NSApp prefs_get_boolean:@PREFS_FFM default:NO]];
- [focus_on_new_window setIntValue:[NSApp prefs_get_boolean:@PREFS_FOCUS_ON_NEW_WINDOW default:YES]];
-
- [enable_auth setIntValue:![NSApp prefs_get_boolean:@PREFS_NO_AUTH default:NO]];
- [enable_tcp setIntValue:![NSApp prefs_get_boolean:@PREFS_NO_TCP default:NO]];
-
- [depth selectItemAtIndex:[depth indexOfItemWithTag:[NSApp prefs_get_integer:@PREFS_DEPTH default:-1]]];
-
- [sync_pasteboard setIntValue:pbproxy_active];
- [sync_pasteboard_to_clipboard setIntValue:[NSApp prefs_get_boolean:@PREFS_SYNC_PB_TO_CLIPBOARD default:YES]];
- [sync_pasteboard_to_primary setIntValue:[NSApp prefs_get_boolean:@PREFS_SYNC_PB_TO_PRIMARY default:YES]];
- [sync_clipboard_to_pasteboard setIntValue:[NSApp prefs_get_boolean:@PREFS_SYNC_CLIPBOARD_TO_PB default:YES]];
- [sync_primary_immediately setIntValue:[NSApp prefs_get_boolean:@PREFS_SYNC_PRIMARY_ON_SELECT default:NO]];
-
- [sync_pasteboard_to_clipboard setEnabled:pbproxy_active];
- [sync_pasteboard_to_primary setEnabled:pbproxy_active];
- [sync_clipboard_to_pasteboard setEnabled:pbproxy_active];
- [sync_primary_immediately setEnabled:pbproxy_active];
-
- // setEnabled doesn't do this...
- [sync_text1 setTextColor:pbproxy_active ? [NSColor controlTextColor] : [NSColor disabledControlTextColor]];
- [sync_text2 setTextColor:pbproxy_active ? [NSColor controlTextColor] : [NSColor disabledControlTextColor]];
-
- [enable_fullscreen setIntValue:!quartzEnableRootless];
- [enable_fullscreen_menu setEnabled:!quartzEnableRootless];
- [enable_fullscreen_menu setIntValue:quartzFullscreenMenu];
-
- [prefs_panel makeKeyAndOrderFront:sender];
-}
-
-- (IBAction) quit:sender {
- DarwinSendDDXEvent(kXquartzQuit, 0);
-}
-
-- (IBAction) x11_help:sender {
-#if MAC_OS_X_VERSION_MIN_REQUIRED < 1060
- AHLookupAnchor((CFStringRef)NSLocalizedString(@"Mac Help", no comment), CFSTR("mchlp2276"));
-#else
- AHLookupAnchor(CFSTR("com.apple.machelp"), CFSTR("mchlp2276"));
-#endif
-}
-
-- (OSX_BOOL) validateMenuItem:(NSMenuItem *)item {
- NSMenu *menu = [item menu];
-
- if (item == toggle_fullscreen_item)
- return !quartzEnableRootless;
- else if (menu == [X11App windowsMenu] || menu == dock_menu
- || (menu == [x11_about_item menu] && [item tag] == 42))
- return (AppleWMSelectedEvents () & AppleWMControllerNotifyMask) != 0;
- else
- return TRUE;
-}
-
-- (void) applicationDidHide:(NSNotification *)notify
-{
- DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMHideAll);
-}
-
-- (void) applicationDidUnhide:(NSNotification *)notify
-{
- DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMShowAll);
-}
-
-- (NSApplicationTerminateReply) applicationShouldTerminate:sender {
- NSString *msg;
- NSString *title;
-
- if (can_quit || [X11App prefs_get_boolean:@PREFS_NO_QUIT_ALERT default:NO])
- return NSTerminateNow;
-
- /* Make sure we're frontmost. */
- [NSApp activateIgnoringOtherApps:YES];
-
- title = NSLocalizedString(@"Do you really want to quit X11?", @"Dialog title when quitting");
- msg = NSLocalizedString(@"Any open X11 applications will stop immediately, and you will lose any unsaved changes.", @"Dialog when quitting");
-
- /* FIXME: safe to run the alert in here? Or should we return Later
- * and then run the alert on a timer? It seems to work here, so..
- */
-
- return (NSRunAlertPanel (title, msg, NSLocalizedString (@"Quit", @""),
- NSLocalizedString (@"Cancel", @""), nil)
- == NSAlertDefaultReturn) ? NSTerminateNow : NSTerminateCancel;
-}
-
-- (void) applicationWillTerminate:(NSNotification *)aNotification
-{
- unsigned remain;
- [X11App prefs_synchronize];
-
- /* shutdown the X server, it will exit () for us. */
- DarwinSendDDXEvent(kXquartzQuit, 0);
-
- /* In case it doesn't, exit anyway after a while. */
- remain = 10000000;
- while((remain = usleep(remain)) > 0);
-
- exit (1);
-}
-
-- (void) server_ready
-{
- x_list *node;
-
- finished_launching = YES;
-
- for (node = pending_apps; node != NULL; node = node->next)
- {
- NSString *filename = node->data;
- [self launch_client:filename];
- [filename release];
- }
-
- x_list_free (pending_apps);
- pending_apps = NULL;
-}
-
-- (OSX_BOOL) application:(NSApplication *)app openFile:(NSString *)filename
-{
- const char *name = [filename UTF8String];
-
- if (finished_launching)
- [self launch_client:filename];
- else if (name[0] != ':') /* ignore display names */
- pending_apps = x_list_prepend (pending_apps, [filename retain]);
-
- /* FIXME: report failures. */
- return YES;
-}
-
-@end
-
-void X11ControllerMain(int argc, char **argv, char **envp) {
- X11ApplicationMain (argc, argv, envp);
-}
+/* X11Controller.m -- connect the IB ui, also the NSApp delegate
+
+ Copyright (c) 2002-2008 Apple Inc. All rights reserved.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation files
+ (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge,
+ publish, distribute, sublicense, and/or sell copies of the Software,
+ and to permit persons to whom the Software is furnished to do so,
+ subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT
+ HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the name(s) of the above
+ copyright holders shall not be used in advertising or otherwise to
+ promote the sale, use or other dealings in this Software without
+ prior written authorization. */
+
+#include "sanitizedCarbon.h"
+#include <AvailabilityMacros.h>
+
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#endif
+
+#include "quartzCommon.h"
+
+#import "X11Controller.h"
+#import "X11Application.h"
+
+#include "opaque.h"
+#include "darwin.h"
+#include "darwinEvents.h"
+#include "quartz.h"
+#include "quartzKeyboard.h"
+#include <X11/extensions/applewmconst.h>
+#include "applewmExt.h"
+
+#include <stdio.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+
+@implementation X11Controller
+
+- (void) awakeFromNib
+{
+ X11Application *xapp = NSApp;
+ NSArray *array;
+
+ /* Point X11Application at ourself. */
+ [xapp set_controller:self];
+
+ array = [xapp prefs_get_array:@PREFS_APPSMENU];
+ if (array != nil)
+ {
+ int count;
+
+ /* convert from [TITLE1 COMMAND1 TITLE2 COMMAND2 ...]
+ to [[TITLE1 COMMAND1] [TITLE2 COMMAND2] ...] format. */
+
+ count = [array count];
+ if (count > 0
+ && ![[array objectAtIndex:0] isKindOfClass:[NSArray class]])
+ {
+ int i;
+ NSMutableArray *copy, *sub;
+
+ copy = [NSMutableArray arrayWithCapacity:(count / 2)];
+
+ for (i = 0; i < count / 2; i++)
+ {
+ sub = [[NSMutableArray alloc] initWithCapacity:3];
+ [sub addObject:[array objectAtIndex:i*2]];
+ [sub addObject:[array objectAtIndex:i*2+1]];
+ [sub addObject:@""];
+ [copy addObject:sub];
+ [sub release];
+ }
+
+ array = copy;
+ }
+
+ [self set_apps_menu:array];
+ }
+
+ [[NSNotificationCenter defaultCenter]
+ addObserver: self
+ selector: @selector(apps_table_done:)
+ name: NSWindowWillCloseNotification
+ object: [apps_table window]];
+
+ // Setup data about our Windows menu
+ if(window_separator) {
+ [[window_separator menu] removeItem:window_separator];
+ window_separator = nil;
+ }
+
+ windows_menu_start = [[X11App windowsMenu] numberOfItems];
+}
+
+- (void) item_selected:sender
+{
+ [NSApp activateIgnoringOtherApps:YES];
+
+ DarwinSendDDXEvent(kXquartzControllerNotify, 2,
+ AppleWMWindowMenuItem, [sender tag]);
+}
+
+- (void) remove_window_menu
+{
+ NSMenu *menu;
+ int count, i;
+
+ /* Work backwards so we don't mess up the indices */
+ menu = [X11App windowsMenu];
+ count = [menu numberOfItems];
+ for (i = count - 1; i >= windows_menu_start; i--)
+ [menu removeItemAtIndex:i];
+
+ count = [dock_menu indexOfItem:dock_window_separator];
+ for (i = 0; i < count; i++)
+ [dock_menu removeItemAtIndex:0];
+}
+
+- (void) install_window_menu:(NSArray *)list
+{
+ NSMenu *menu;
+ NSMenuItem *item;
+ int first, count, i;
+
+ menu = [X11App windowsMenu];
+ first = windows_menu_start + 1;
+ count = [list count];
+
+ // Push a Separator
+ if(count) {
+ [menu addItem:[NSMenuItem separatorItem]];
+ }
+
+ for (i = 0; i < count; i++)
+ {
+ NSString *name, *shortcut;
+
+ name = [[list objectAtIndex:i] objectAtIndex:0];
+ shortcut = [[list objectAtIndex:i] objectAtIndex:1];
+
+ if(windowItemModMask == 0 || windowItemModMask == -1)
+ shortcut = @"";
+
+ item = (NSMenuItem *) [menu addItemWithTitle:name action:@selector
+ (item_selected:) keyEquivalent:shortcut];
+ [item setKeyEquivalentModifierMask:(NSUInteger) windowItemModMask];
+ [item setTarget:self];
+ [item setTag:i];
+ [item setEnabled:YES];
+
+ item = (NSMenuItem *) [dock_menu insertItemWithTitle:name
+ action:@selector
+ (item_selected:) keyEquivalent:shortcut
+ atIndex:i];
+ [item setKeyEquivalentModifierMask:(NSUInteger) windowItemModMask];
+ [item setTarget:self];
+ [item setTag:i];
+ [item setEnabled:YES];
+ }
+
+ if (checked_window_item >= 0 && checked_window_item < count)
+ {
+ item = (NSMenuItem *) [menu itemAtIndex:first + checked_window_item];
+ [item setState:NSOnState];
+ item = (NSMenuItem *) [dock_menu itemAtIndex:checked_window_item];
+ [item setState:NSOnState];
+ }
+}
+
+- (void) remove_apps_menu
+{
+ NSMenu *menu;
+ NSMenuItem *item;
+ int i;
+
+ if (apps == nil || apps_separator == nil) return;
+
+ menu = [apps_separator menu];
+
+ if (menu != nil)
+ {
+ for (i = [menu numberOfItems] - 1; i >= 0; i--)
+ {
+ item = (NSMenuItem *) [menu itemAtIndex:i];
+ if ([item tag] != 0)
+ [menu removeItemAtIndex:i];
+ }
+ }
+
+ if (dock_apps_menu != nil)
+ {
+ for (i = [dock_apps_menu numberOfItems] - 1; i >= 0; i--)
+ {
+ item = (NSMenuItem *) [dock_apps_menu itemAtIndex:i];
+ if ([item tag] != 0)
+ [dock_apps_menu removeItemAtIndex:i];
+ }
+ }
+
+ [apps release];
+ apps = nil;
+}
+
+- (void) prepend_apps_item:(NSArray *)list index:(int)i menu:(NSMenu *)menu
+{
+ NSString *title, *shortcut = @"";
+ NSArray *group;
+ NSMenuItem *item;
+
+ group = [list objectAtIndex:i];
+ title = [group objectAtIndex:0];
+ if ([group count] >= 3)
+ shortcut = [group objectAtIndex:2];
+
+ if ([title length] != 0)
+ {
+ item = (NSMenuItem *) [menu insertItemWithTitle:title
+ action:@selector (app_selected:)
+ keyEquivalent:shortcut atIndex:0];
+ [item setTarget:self];
+ [item setEnabled:YES];
+ }
+ else
+ {
+ item = (NSMenuItem *) [NSMenuItem separatorItem];
+ [menu insertItem:item atIndex:0];
+ }
+
+ [item setTag:i+1]; /* can't be zero, so add one */
+}
+
+- (void) install_apps_menu:(NSArray *)list
+{
+ NSMenu *menu;
+ int i, count;
+
+ count = [list count];
+
+ if (count == 0 || apps_separator == nil) return;
+
+ menu = [apps_separator menu];
+
+ for (i = count - 1; i >= 0; i--)
+ {
+ if (menu != nil)
+ [self prepend_apps_item:list index:i menu:menu];
+ if (dock_apps_menu != nil)
+ [self prepend_apps_item:list index:i menu:dock_apps_menu];
+ }
+
+ apps = [list retain];
+}
+
+- (void) set_window_menu:(NSArray *)list
+{
+ [self remove_window_menu];
+ [self install_window_menu:list];
+
+ DarwinSendDDXEvent(kXquartzControllerNotify, 1,
+ AppleWMWindowMenuNotify);
+}
+
+- (void) set_window_menu_check:(NSNumber *)nn
+{
+ NSMenu *menu;
+ NSMenuItem *item;
+ int first, count;
+ int n = [nn intValue];
+
+ menu = [X11App windowsMenu];
+ first = windows_menu_start + 1;
+ count = [menu numberOfItems] - first;
+
+ if (checked_window_item >= 0 && checked_window_item < count)
+ {
+ item = (NSMenuItem *) [menu itemAtIndex:first + checked_window_item];
+ [item setState:NSOffState];
+ item = (NSMenuItem *) [dock_menu itemAtIndex:checked_window_item];
+ [item setState:NSOffState];
+ }
+ if (n >= 0 && n < count)
+ {
+ item = (NSMenuItem *) [menu itemAtIndex:first + n];
+ [item setState:NSOnState];
+ item = (NSMenuItem *) [dock_menu itemAtIndex:n];
+ [item setState:NSOnState];
+ }
+ checked_window_item = n;
+}
+
+- (void) set_apps_menu:(NSArray *)list
+{
+ [self remove_apps_menu];
+ [self install_apps_menu:list];
+}
+
+#ifdef XQUARTZ_SPARKLE
+- (void) setup_sparkle {
+ if(check_for_updates_item)
+ return; // already did it...
+
+ NSMenu *menu = [x11_about_item menu];
+
+ check_for_updates_item = [menu insertItemWithTitle:NSLocalizedString(@"Check for X11 Updates...", @"Check for X11 Updates...")
+ action:@selector (checkForUpdates:)
+ keyEquivalent:@""
+ atIndex:1];
+ [check_for_updates_item setTarget:[SUUpdater sharedUpdater]];
+ [check_for_updates_item setEnabled:YES];
+
+ // Set X11Controller as the delegate for the updater.
+ [[SUUpdater sharedUpdater] setDelegate:self];
+}
+
+// Sent immediately before installing the specified update.
+- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)update {
+ //[self set_can_quit:YES];
+}
+
+#endif
+
+- (void) launch_client:(NSString *)filename
+{
+ int child1, child2 = 0;
+ int status;
+ const char *newargv[4];
+ char buf[128];
+ char *s;
+
+ newargv[0] = [X11App prefs_get_string:@PREFS_LOGIN_SHELL default:"/bin/sh"];
+ newargv[1] = "-c";
+ newargv[2] = [filename UTF8String];
+ newargv[3] = NULL;
+
+ s = getenv("DISPLAY");
+ if (s == NULL || s[0] == 0) {
+ snprintf(buf, sizeof(buf), ":%s", display);
+ setenv("DISPLAY", buf, TRUE);
+ }
+
+ /* Do the fork-twice trick to avoid having to reap zombies */
+ child1 = fork();
+ switch (child1) {
+ case -1: /* error */
+ break;
+
+ case 0: /* child1 */
+ child2 = fork();
+
+ switch (child2) {
+ int max_files, i;
+
+ case -1: /* error */
+ _exit(1);
+
+ case 0: /* child2 */
+ /* close all open files except for standard streams */
+ max_files = sysconf(_SC_OPEN_MAX);
+ for(i = 3; i < max_files; i++)
+ close(i);
+
+ /* ensure stdin is on /dev/null */
+ close(0);
+ open("/dev/null", O_RDONLY);
+
+ execvp(newargv[0], (char **const) newargv);
+ _exit(2);
+
+ default: /* parent (child1) */
+ _exit(0);
+ }
+ break;
+
+ default: /* parent */
+ waitpid(child1, &status, 0);
+ }
+}
+
+- (void) app_selected:sender
+{
+ int tag;
+ NSString *item;
+
+ tag = [sender tag] - 1;
+ if (apps == nil || tag < 0 || tag >= [apps count])
+ return;
+
+ item = [[apps objectAtIndex:tag] objectAtIndex:1];
+
+ [self launch_client:item];
+}
+
+- (IBAction) apps_table_show:sender
+{
+ NSArray *columns;
+ NSMutableArray *oldapps = nil;
+
+ if (table_apps != nil)
+ oldapps = table_apps;
+
+ table_apps = [[NSMutableArray alloc] initWithCapacity:1];
+ if(apps != nil)
+ [table_apps addObjectsFromArray:apps];
+
+ columns = [apps_table tableColumns];
+ [[columns objectAtIndex:0] setIdentifier:@"0"];
+ [[columns objectAtIndex:1] setIdentifier:@"1"];
+ [[columns objectAtIndex:2] setIdentifier:@"2"];
+
+ [apps_table setDataSource:self];
+ [apps_table selectRowIndexes:[NSIndexSet indexSetWithIndex:0] byExtendingSelection:NO];
+
+ [[apps_table window] makeKeyAndOrderFront:sender];
+ [apps_table reloadData];
+ if(oldapps != nil)
+ [oldapps release];
+}
+
+- (IBAction) apps_table_done:sender
+{
+ [apps_table deselectAll:sender]; /* flush edits? */
+
+ [self remove_apps_menu];
+ [self install_apps_menu:table_apps];
+
+ [NSApp prefs_set_array:@PREFS_APPSMENU value:table_apps];
+ [NSApp prefs_synchronize];
+
+ [[apps_table window] orderOut:sender];
+
+ [table_apps release];
+ table_apps = nil;
+}
+
+- (IBAction) apps_table_new:sender
+{
+ NSMutableArray *item;
+
+ int row = [apps_table selectedRow], i;
+
+ if (row < 0) row = 0;
+ else row = row + 1;
+
+ i = row;
+ if (i > [table_apps count])
+ return; /* avoid exceptions */
+
+ [apps_table deselectAll:sender];
+
+ item = [[NSMutableArray alloc] initWithCapacity:3];
+ [item addObject:@""];
+ [item addObject:@""];
+ [item addObject:@""];
+
+ [table_apps insertObject:item atIndex:i];
+ [item release];
+
+ [apps_table reloadData];
+ [apps_table selectRowIndexes:[NSIndexSet indexSetWithIndex:row] byExtendingSelection:NO];
+}
+
+- (IBAction) apps_table_duplicate:sender
+{
+ int row = [apps_table selectedRow], i;
+ NSObject *item;
+
+ if (row < 0) {
+ [self apps_table_new:sender];
+ return;
+ }
+
+ i = row;
+ if (i > [table_apps count] - 1) return; /* avoid exceptions */
+
+ [apps_table deselectAll:sender];
+
+ item = [[table_apps objectAtIndex:i] mutableCopy];
+ [table_apps insertObject:item atIndex:i];
+ [item release];
+
+ [apps_table reloadData];
+ [apps_table selectRowIndexes:[NSIndexSet indexSetWithIndex:row+1] byExtendingSelection:NO];
+}
+
+- (IBAction) apps_table_delete:sender
+{
+ int row = [apps_table selectedRow];
+
+ if (row >= 0)
+ {
+ int i = row;
+
+ if (i > [table_apps count] - 1) return; /* avoid exceptions */
+
+ [apps_table deselectAll:sender];
+
+ [table_apps removeObjectAtIndex:i];
+ }
+
+ [apps_table reloadData];
+
+ row = MIN (row, [table_apps count] - 1);
+ if (row >= 0)
+ [apps_table selectRowIndexes:[NSIndexSet indexSetWithIndex:row] byExtendingSelection:NO];
+}
+
+- (NSInteger) numberOfRowsInTableView:(NSTableView *)tableView
+{
+ if (table_apps == nil) return 0;
+
+ return [table_apps count];
+}
+
+- (id) tableView:(NSTableView *)tableView
+objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
+{
+ NSArray *item;
+ int col;
+
+ if (table_apps == nil) return nil;
+
+ col = [[tableColumn identifier] intValue];
+
+ item = [table_apps objectAtIndex:row];
+ if ([item count] > col)
+ return [item objectAtIndex:col];
+ else
+ return @"";
+}
+
+- (void) tableView:(NSTableView *)tableView setObjectValue:(id)object
+ forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
+{
+ NSMutableArray *item;
+ int col;
+
+ if (table_apps == nil) return;
+
+ col = [[tableColumn identifier] intValue];
+
+ item = [table_apps objectAtIndex:row];
+ [item replaceObjectAtIndex:col withObject:object];
+}
+
+- (void) hide_window:sender
+{
+ if ([X11App x_active])
+ DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMHideWindow);
+ else
+ NSBeep (); /* FIXME: something here */
+}
+
+- (IBAction)bring_to_front:sender
+{
+ DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMBringAllToFront);
+}
+
+- (IBAction)close_window:sender
+{
+ if ([X11App x_active])
+ DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMCloseWindow);
+ else
+ [[NSApp keyWindow] performClose:sender];
+}
+
+- (IBAction)minimize_window:sender
+{
+ if ([X11App x_active])
+ DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMMinimizeWindow);
+ else
+ [[NSApp keyWindow] performMiniaturize:sender];
+}
+
+- (IBAction)zoom_window:sender
+{
+ if ([X11App x_active])
+ DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMZoomWindow);
+ else
+ [[NSApp keyWindow] performZoom:sender];
+}
+
+- (IBAction) next_window:sender
+{
+ DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMNextWindow);
+}
+
+- (IBAction) previous_window:sender
+{
+ DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMPreviousWindow);
+}
+
+- (IBAction) enable_fullscreen_changed:sender {
+ XQuartzRootlessDefault = ![enable_fullscreen intValue];
+
+ [enable_fullscreen_menu setEnabled:!XQuartzRootlessDefault];
+
+ DarwinSendDDXEvent(kXquartzSetRootless, 1, XQuartzRootlessDefault);
+
+ [NSApp prefs_set_boolean:@PREFS_ROOTLESS value:XQuartzRootlessDefault];
+ [NSApp prefs_synchronize];
+}
+
+- (IBAction) toggle_fullscreen:sender
+{
+ DarwinSendDDXEvent(kXquartzToggleFullscreen, 0);
+}
+
+- (void) set_can_quit:(OSX_BOOL)state
+{
+ can_quit = state;
+}
+
+- (IBAction)prefs_changed:sender
+{
+ if(!sender)
+ return;
+
+ if(sender == fake_buttons) {
+ darwinFakeButtons = [fake_buttons intValue];
+ [NSApp prefs_set_boolean:@PREFS_FAKEBUTTONS value:darwinFakeButtons];
+ } else if(sender == use_sysbeep) {
+ XQuartzUseSysBeep = [use_sysbeep intValue];
+ [NSApp prefs_set_boolean:@PREFS_SYSBEEP value:XQuartzUseSysBeep];
+ } else if(sender == enable_keyequivs) {
+ XQuartzEnableKeyEquivalents = [enable_keyequivs intValue];
+ [NSApp prefs_set_boolean:@PREFS_KEYEQUIVS value:XQuartzEnableKeyEquivalents];
+ } else if(sender == sync_keymap) {
+ darwinSyncKeymap = [sync_keymap intValue];
+ [NSApp prefs_set_boolean:@PREFS_SYNC_KEYMAP value:darwinSyncKeymap];
+ } else if(sender == enable_fullscreen_menu) {
+ XQuartzFullscreenMenu = [enable_fullscreen_menu intValue];
+ [NSApp prefs_set_boolean:@PREFS_FULLSCREEN_MENU value:XQuartzFullscreenMenu];
+ } else if(sender == option_sends_alt) {
+ BOOL prev_opt_sends_alt = XQuartzOptionSendsAlt;
+
+ XQuartzOptionSendsAlt = [option_sends_alt intValue];
+ [NSApp prefs_set_boolean:@PREFS_OPTION_SENDS_ALT value:XQuartzOptionSendsAlt];
+
+ if(prev_opt_sends_alt != XQuartzOptionSendsAlt)
+ QuartsResyncKeymap(TRUE);
+ } else if(sender == click_through) {
+ [NSApp prefs_set_boolean:@PREFS_CLICK_THROUGH value:[click_through intValue]];
+ } else if(sender == focus_follows_mouse) {
+ [NSApp prefs_set_boolean:@PREFS_FFM value:[focus_follows_mouse intValue]];
+ } else if(sender == focus_on_new_window) {
+ [NSApp prefs_set_boolean:@PREFS_FOCUS_ON_NEW_WINDOW value:[focus_on_new_window intValue]];
+ } else if(sender == enable_auth) {
+ [NSApp prefs_set_boolean:@PREFS_NO_AUTH value:![enable_auth intValue]];
+ } else if(sender == enable_tcp) {
+ [NSApp prefs_set_boolean:@PREFS_NO_TCP value:![enable_tcp intValue]];
+ } else if(sender == depth) {
+ [NSApp prefs_set_integer:@PREFS_DEPTH value:[depth selectedTag]];
+ } else if(sender == sync_pasteboard) {
+ BOOL pbproxy_active = [sync_pasteboard intValue];
+ [NSApp prefs_set_boolean:@PREFS_SYNC_PB value:pbproxy_active];
+
+ [sync_pasteboard_to_clipboard setEnabled:pbproxy_active];
+ [sync_pasteboard_to_primary setEnabled:pbproxy_active];
+ [sync_clipboard_to_pasteboard setEnabled:pbproxy_active];
+ [sync_primary_immediately setEnabled:pbproxy_active];
+
+ // setEnabled doesn't do this...
+ [sync_text1 setTextColor:pbproxy_active ? [NSColor controlTextColor] : [NSColor disabledControlTextColor]];
+ [sync_text2 setTextColor:pbproxy_active ? [NSColor controlTextColor] : [NSColor disabledControlTextColor]];
+ } else if(sender == sync_pasteboard_to_clipboard) {
+ [NSApp prefs_set_boolean:@PREFS_SYNC_PB_TO_CLIPBOARD value:[sync_pasteboard_to_clipboard intValue]];
+ } else if(sender == sync_pasteboard_to_primary) {
+ [NSApp prefs_set_boolean:@PREFS_SYNC_PB_TO_PRIMARY value:[sync_pasteboard_to_primary intValue]];
+ } else if(sender == sync_clipboard_to_pasteboard) {
+ [NSApp prefs_set_boolean:@PREFS_SYNC_CLIPBOARD_TO_PB value:[sync_clipboard_to_pasteboard intValue]];
+ } else if(sender == sync_primary_immediately) {
+ [NSApp prefs_set_boolean:@PREFS_SYNC_PRIMARY_ON_SELECT value:[sync_primary_immediately intValue]];
+ }
+
+ [NSApp prefs_synchronize];
+
+ DarwinSendDDXEvent(kXquartzReloadPreferences, 0);
+}
+
+- (IBAction) prefs_show:sender
+{
+ BOOL pbproxy_active = [NSApp prefs_get_boolean:@PREFS_SYNC_PB default:YES];
+
+ [fake_buttons setIntValue:darwinFakeButtons];
+ [use_sysbeep setIntValue:XQuartzUseSysBeep];
+ [enable_keyequivs setIntValue:XQuartzEnableKeyEquivalents];
+ [sync_keymap setIntValue:darwinSyncKeymap];
+ [option_sends_alt setIntValue:XQuartzOptionSendsAlt];
+ [click_through setIntValue:[NSApp prefs_get_boolean:@PREFS_CLICK_THROUGH default:NO]];
+ [focus_follows_mouse setIntValue:[NSApp prefs_get_boolean:@PREFS_FFM default:NO]];
+ [focus_on_new_window setIntValue:[NSApp prefs_get_boolean:@PREFS_FOCUS_ON_NEW_WINDOW default:YES]];
+
+ [enable_auth setIntValue:![NSApp prefs_get_boolean:@PREFS_NO_AUTH default:NO]];
+ [enable_tcp setIntValue:![NSApp prefs_get_boolean:@PREFS_NO_TCP default:NO]];
+
+ [depth selectItemAtIndex:[depth indexOfItemWithTag:[NSApp prefs_get_integer:@PREFS_DEPTH default:-1]]];
+
+ [sync_pasteboard setIntValue:pbproxy_active];
+ [sync_pasteboard_to_clipboard setIntValue:[NSApp prefs_get_boolean:@PREFS_SYNC_PB_TO_CLIPBOARD default:YES]];
+ [sync_pasteboard_to_primary setIntValue:[NSApp prefs_get_boolean:@PREFS_SYNC_PB_TO_PRIMARY default:YES]];
+ [sync_clipboard_to_pasteboard setIntValue:[NSApp prefs_get_boolean:@PREFS_SYNC_CLIPBOARD_TO_PB default:YES]];
+ [sync_primary_immediately setIntValue:[NSApp prefs_get_boolean:@PREFS_SYNC_PRIMARY_ON_SELECT default:NO]];
+
+ [sync_pasteboard_to_clipboard setEnabled:pbproxy_active];
+ [sync_pasteboard_to_primary setEnabled:pbproxy_active];
+ [sync_clipboard_to_pasteboard setEnabled:pbproxy_active];
+ [sync_primary_immediately setEnabled:pbproxy_active];
+
+ // setEnabled doesn't do this...
+ [sync_text1 setTextColor:pbproxy_active ? [NSColor controlTextColor] : [NSColor disabledControlTextColor]];
+ [sync_text2 setTextColor:pbproxy_active ? [NSColor controlTextColor] : [NSColor disabledControlTextColor]];
+
+ [enable_fullscreen setIntValue:!XQuartzRootlessDefault];
+ [enable_fullscreen_menu setEnabled:!XQuartzRootlessDefault];
+ [enable_fullscreen_menu setIntValue:XQuartzFullscreenMenu];
+
+ [prefs_panel makeKeyAndOrderFront:sender];
+}
+
+- (IBAction) quit:sender {
+ DarwinSendDDXEvent(kXquartzQuit, 0);
+}
+
+- (IBAction) x11_help:sender {
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 1060
+ AHLookupAnchor((CFStringRef)NSLocalizedString(@"Mac Help", no comment), CFSTR("mchlp2276"));
+#else
+ AHLookupAnchor(CFSTR("com.apple.machelp"), CFSTR("mchlp2276"));
+#endif
+}
+
+- (OSX_BOOL) validateMenuItem:(NSMenuItem *)item {
+ NSMenu *menu = [item menu];
+
+ if (item == toggle_fullscreen_item)
+ return !XQuartzIsRootless;
+ else if (menu == [X11App windowsMenu] || menu == dock_menu
+ || (menu == [x11_about_item menu] && [item tag] == 42))
+ return (AppleWMSelectedEvents () & AppleWMControllerNotifyMask) != 0;
+ else
+ return TRUE;
+}
+
+- (void) applicationDidHide:(NSNotification *)notify
+{
+ DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMHideAll);
+}
+
+- (void) applicationDidUnhide:(NSNotification *)notify
+{
+ DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMShowAll);
+}
+
+- (NSApplicationTerminateReply) applicationShouldTerminate:sender {
+ NSString *msg;
+ NSString *title;
+
+ if (can_quit || [X11App prefs_get_boolean:@PREFS_NO_QUIT_ALERT default:NO])
+ return NSTerminateNow;
+
+ /* Make sure we're frontmost. */
+ [NSApp activateIgnoringOtherApps:YES];
+
+ title = NSLocalizedString(@"Do you really want to quit X11?", @"Dialog title when quitting");
+ msg = NSLocalizedString(@"Any open X11 applications will stop immediately, and you will lose any unsaved changes.", @"Dialog when quitting");
+
+ /* FIXME: safe to run the alert in here? Or should we return Later
+ * and then run the alert on a timer? It seems to work here, so..
+ */
+
+ return (NSRunAlertPanel (title, msg, NSLocalizedString (@"Quit", @""),
+ NSLocalizedString (@"Cancel", @""), nil)
+ == NSAlertDefaultReturn) ? NSTerminateNow : NSTerminateCancel;
+}
+
+- (void) applicationWillTerminate:(NSNotification *)aNotification
+{
+ unsigned remain;
+ [X11App prefs_synchronize];
+
+ /* shutdown the X server, it will exit () for us. */
+ DarwinSendDDXEvent(kXquartzQuit, 0);
+
+ /* In case it doesn't, exit anyway after a while. */
+ remain = 10000000;
+ while((remain = usleep(remain)) > 0);
+
+ exit (1);
+}
+
+- (void) server_ready
+{
+ x_list *node;
+
+ finished_launching = YES;
+
+ for (node = pending_apps; node != NULL; node = node->next)
+ {
+ NSString *filename = node->data;
+ [self launch_client:filename];
+ [filename release];
+ }
+
+ x_list_free (pending_apps);
+ pending_apps = NULL;
+}
+
+- (OSX_BOOL) application:(NSApplication *)app openFile:(NSString *)filename
+{
+ const char *name = [filename UTF8String];
+
+ if (finished_launching)
+ [self launch_client:filename];
+ else if (name[0] != ':') /* ignore display names */
+ pending_apps = x_list_prepend (pending_apps, [filename retain]);
+
+ /* FIXME: report failures. */
+ return YES;
+}
+
+@end
+
+void X11ControllerMain(int argc, char **argv, char **envp) {
+ X11ApplicationMain (argc, argv, envp);
+}
diff --git a/xorg-server/hw/xquartz/applewm.c b/xorg-server/hw/xquartz/applewm.c
index 054fff776..d81032aa9 100644
--- a/xorg-server/hw/xquartz/applewm.c
+++ b/xorg-server/hw/xquartz/applewm.c
@@ -70,8 +70,6 @@ static AppleWMProcsPtr appleWMProcs;
static int WMErrorBase;
-static DISPATCH_PROC(ProcAppleWMDispatch);
-static DISPATCH_PROC(SProcAppleWMDispatch);
static unsigned char WMReqCode = 0;
static int WMEventBase = 0;
@@ -105,33 +103,6 @@ make_box (int x, int y, int w, int h)
return r;
}
-void
-AppleWMExtensionInit(
- AppleWMProcsPtr procsPtr)
-{
- ExtensionEntry* extEntry;
-
- ClientType = CreateNewResourceType(WMFreeClient, "WMClient");
- EventType = CreateNewResourceType(WMFreeEvents, "WMEvent");
- eventResource = FakeClientID(0);
-
- if (ClientType && EventType &&
- (extEntry = AddExtension(APPLEWMNAME,
- AppleWMNumberEvents,
- AppleWMNumberErrors,
- ProcAppleWMDispatch,
- SProcAppleWMDispatch,
- NULL,
- StandardMinorOpcode)))
- {
- WMReqCode = (unsigned char)extEntry->base;
- WMErrorBase = extEntry->errorBase;
- WMEventBase = extEntry->eventBase;
- EventSwapVector[WMEventBase] = (EventSwapPtr) SNotifyEvent;
- appleWMProcs = procsPtr;
- }
-}
-
/* Updates the _NATIVE_SCREEN_ORIGIN property on the given root window. */
void
AppleWMSetScreenOrigin(
@@ -736,3 +707,30 @@ SProcAppleWMDispatch (
return BadRequest;
}
}
+
+void
+AppleWMExtensionInit(
+ AppleWMProcsPtr procsPtr)
+{
+ ExtensionEntry* extEntry;
+
+ ClientType = CreateNewResourceType(WMFreeClient, "WMClient");
+ EventType = CreateNewResourceType(WMFreeEvents, "WMEvent");
+ eventResource = FakeClientID(0);
+
+ if (ClientType && EventType &&
+ (extEntry = AddExtension(APPLEWMNAME,
+ AppleWMNumberEvents,
+ AppleWMNumberErrors,
+ ProcAppleWMDispatch,
+ SProcAppleWMDispatch,
+ NULL,
+ StandardMinorOpcode)))
+ {
+ WMReqCode = (unsigned char)extEntry->base;
+ WMErrorBase = extEntry->errorBase;
+ WMEventBase = extEntry->eventBase;
+ EventSwapVector[WMEventBase] = (EventSwapPtr) SNotifyEvent;
+ appleWMProcs = procsPtr;
+ }
+}
diff --git a/xorg-server/hw/xquartz/darwinEvents.c b/xorg-server/hw/xquartz/darwinEvents.c
index 663087d74..a00c89ecd 100644
--- a/xorg-server/hw/xquartz/darwinEvents.c
+++ b/xorg-server/hw/xquartz/darwinEvents.c
@@ -52,6 +52,7 @@ in this Software without prior written authorization from The Open Group.
#include "darwin.h"
#include "quartz.h"
#include "quartzKeyboard.h"
+#include "quartzRandR.h"
#include "darwinEvents.h"
#include <sys/types.h>
@@ -238,19 +239,19 @@ static void DarwinEventHandler(int screenNum, InternalEvent *ie, DeviceIntPtr de
case kXquartzToggleFullscreen:
DEBUG_LOG("kXquartzToggleFullscreen\n");
- if(quartzEnableRootless)
+ if(XQuartzIsRootless)
ErrorF("Ignoring kXquartzToggleFullscreen because of rootless mode.");
- else if (quartzHasRoot)
- QuartzHide();
- else
- QuartzShow();
+ else
+ QuartzRandRToggleFullscreen();
break;
case kXquartzSetRootless:
DEBUG_LOG("kXquartzSetRootless\n");
- QuartzSetRootless(e->data[0]);
- if (!quartzEnableRootless && !quartzHasRoot)
- QuartzHide();
+ if(e->data[0]) {
+ QuartzRandRSetFakeRootless();
+ } else {
+ QuartzRandRSetFakeFullscreen(FALSE);
+ }
break;
case kXquartzSetRootClip:
@@ -276,7 +277,12 @@ static void DarwinEventHandler(int screenNum, InternalEvent *ie, DeviceIntPtr de
break;
case kXquartzDisplayChanged:
+ DEBUG_LOG("kXquartzDisplayChanged\n");
QuartzUpdateScreens();
+#ifdef RANDR
+ /* Update our RandR info */
+ QuartzRandRUpdateFakeModes(TRUE);
+#endif
break;
default:
diff --git a/xorg-server/hw/xquartz/quartz.c b/xorg-server/hw/xquartz/quartz.c
index 3aa234e09..7a92755c7 100644
--- a/xorg-server/hw/xquartz/quartz.c
+++ b/xorg-server/hw/xquartz/quartz.c
@@ -35,6 +35,7 @@
#endif
#include "quartzCommon.h"
+#include "quartzRandR.h"
#include "inputstr.h"
#include "quartz.h"
#include "darwin.h"
@@ -46,7 +47,6 @@
#include "X11Application.h"
#include <X11/extensions/applewmconst.h>
-#include <X11/extensions/randr.h>
// X headers
#include "scrnintstr.h"
@@ -56,6 +56,8 @@
#include "mi.h"
// System headers
+#include <stdlib.h>
+#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
@@ -64,41 +66,20 @@
#include <rootlessCommon.h>
#include <Xplugin.h>
-#define FAKE_RANDR 1
-
-// Shared global variables for Quartz modes
-int quartzUseSysBeep = 0;
-int quartzServerVisible = FALSE;
DevPrivateKeyRec quartzScreenKeyRec;
int aquaMenuBarHeight = 0;
QuartzModeProcsPtr quartzProcs = NULL;
const char *quartzOpenGLBundle = NULL;
-int quartzFullscreenDisableHotkeys = TRUE;
-int quartzOptionSendsAlt = FALSE;
-
-#if defined(RANDR) && !defined(FAKE_RANDR)
-Bool QuartzRandRGetInfo (ScreenPtr pScreen, Rotation *rotations) {
- return FALSE;
-}
-
-Bool QuartzRandRSetConfig (ScreenPtr pScreen,
- Rotation randr,
- int rate,
- RRScreenSizePtr pSize) {
- return FALSE;
-}
-Bool QuartzRandRInit (ScreenPtr pScreen) {
- rrScrPrivPtr pScrPriv;
-
- if (!RRScreenInit (pScreen)) return FALSE;
-
- pScrPriv = rrGetScrPriv(pScreen);
- pScrPriv->rrGetInfo = QuartzRandRGetInfo;
- pScrPriv->rrSetConfig = QuartzRandRSetConfig;
- return TRUE;
-}
-#endif
+Bool XQuartzFullscreenDisableHotkeys = TRUE;
+Bool XQuartzOptionSendsAlt = FALSE;
+Bool XQuartzEnableKeyEquivalents = TRUE;
+Bool XQuartzFullscreenVisible = FALSE;
+Bool XQuartzRootlessDefault = TRUE;
+Bool XQuartzIsRootless = TRUE;
+Bool XQuartzServerVisible = FALSE;
+Bool XQuartzFullscreenMenu = FALSE;
+Bool XQuartzUseSysBeep = FALSE;
/*
===========================================================================
@@ -143,6 +124,13 @@ Bool QuartzSetupScreen(
if (! quartzProcs->InitCursor(pScreen))
return FALSE;
+#if defined(RANDR)
+ if(!QuartzRandRInit(pScreen)) {
+ DEBUG_LOG("Failed to init RandR extension.\n");
+ return FALSE;
+ }
+#endif
+
return TRUE;
}
@@ -165,11 +153,6 @@ void QuartzInitOutput(
if (!dixRegisterPrivateKey(&quartzScreenKeyRec, PRIVATE_SCREEN, 0))
FatalError("Failed to alloc quartz screen private.\n");
-#if defined(RANDR) && !defined(FAKE_RANDR)
- if(!QuartzRandRInit(pScreen))
- FatalError("Failed to init RandR extension.\n");
-#endif
-
// Do display mode specific initialization
quartzProcs->DisplayInit();
}
@@ -191,50 +174,6 @@ void QuartzInitInput(
}
-#ifdef FAKE_RANDR
-
-static const int padlength[4] = {0, 3, 2, 1};
-
-static void
-RREditConnectionInfo (ScreenPtr pScreen)
-{
- xConnSetup *connSetup;
- char *vendor;
- xPixmapFormat *formats;
- xWindowRoot *root;
- xDepth *depth;
- xVisualType *visual;
- int screen = 0;
- int d;
-
- connSetup = (xConnSetup *) ConnectionInfo;
- vendor = (char *) connSetup + sizeof (xConnSetup);
- formats = (xPixmapFormat *) ((char *) vendor +
- connSetup->nbytesVendor +
- padlength[connSetup->nbytesVendor & 3]);
- root = (xWindowRoot *) ((char *) formats +
- sizeof (xPixmapFormat) * screenInfo.numPixmapFormats);
- while (screen != pScreen->myNum)
- {
- depth = (xDepth *) ((char *) root +
- sizeof (xWindowRoot));
- for (d = 0; d < root->nDepths; d++)
- {
- visual = (xVisualType *) ((char *) depth +
- sizeof (xDepth));
- depth = (xDepth *) ((char *) visual +
- depth->nVisuals * sizeof (xVisualType));
- }
- root = (xWindowRoot *) ((char *) depth);
- screen++;
- }
- root->pixWidth = pScreen->width;
- root->pixHeight = pScreen->height;
- root->mmWidth = pScreen->mmWidth;
- root->mmHeight = pScreen->mmHeight;
-}
-#endif
-
void QuartzUpdateScreens(void) {
ScreenPtr pScreen;
WindowPtr pRoot;
@@ -255,7 +194,7 @@ void QuartzUpdateScreens(void) {
pScreen = screenInfo.screens[0];
PseudoramiXResetScreens();
- quartzProcs->AddPseudoramiXScreens(&x, &y, &width, &height);
+ quartzProcs->AddPseudoramiXScreens(&x, &y, &width, &height, pScreen);
pScreen->x = x;
pScreen->y = y;
@@ -305,71 +244,78 @@ void QuartzUpdateScreens(void) {
DeliverEvents(pRoot, &e, 1, NullWindow);
quartzProcs->UpdateScreen(pScreen);
-
-#ifdef FAKE_RANDR
- RREditConnectionInfo(pScreen);
-#endif
}
-void QuartzSetFullscreen(Bool state) {
+void QuartzShowFullscreen(int state) {
+ int i;
- DEBUG_LOG("QuartzSetFullscreen: state=%d\n", state);
+ DEBUG_LOG("QuartzShowFullscreen: state=%d\n", state);
- if(quartzHasRoot == state)
+ if(XQuartzIsRootless) {
+ ErrorF("QuartzShowFullscreen called while in rootless mode.\n");
+ return;
+ }
+
+ if(XQuartzFullscreenVisible == state)
return;
- quartzHasRoot = state;
+ XQuartzFullscreenVisible = state;
xp_disable_update ();
- if (!quartzHasRoot && !quartzEnableRootless)
+ if (!XQuartzFullscreenVisible)
RootlessHideAllWindows();
- RootlessUpdateRooted(quartzHasRoot);
+ RootlessUpdateRooted(XQuartzFullscreenVisible);
- if (quartzHasRoot && !quartzEnableRootless)
+ if (XQuartzFullscreenVisible) {
RootlessShowAllWindows ();
-
- if (quartzHasRoot || quartzEnableRootless) {
- RootlessRepositionWindows(screenInfo.screens[0]);
+ for (i=0; i < screenInfo.numScreens; i++) {
+ ScreenPtr pScreen = screenInfo.screens[i];
+ RootlessRepositionWindows(pScreen);
+ // JH: I don't think this is necessary, but keeping it here as a reminder
+ //RootlessUpdateScreenPixmap(pScreen);
+ }
}
/* Somehow the menubar manages to interfere with our event stream
* in fullscreen mode, even though it's not visible.
*/
- X11ApplicationShowHideMenubar(!quartzHasRoot);
+ X11ApplicationShowHideMenubar(!XQuartzFullscreenVisible);
xp_reenable_update ();
- if (quartzFullscreenDisableHotkeys)
- xp_disable_hot_keys(quartzHasRoot);
+ if (XQuartzFullscreenDisableHotkeys)
+ xp_disable_hot_keys(XQuartzFullscreenVisible);
}
-void QuartzSetRootless(Bool state) {
- if(quartzEnableRootless == state)
+void QuartzSetRootless(Bool state) {
+ DEBUG_LOG("QuartzSetRootless state=%d\n", state);
+
+ if(XQuartzIsRootless == state)
return;
- quartzEnableRootless = state;
+ if(state)
+ QuartzShowFullscreen(FALSE);
+
+ XQuartzIsRootless = state;
xp_disable_update();
/* When in rootless, the menubar is not part of the screen, so we need to update our screens on toggle */
QuartzUpdateScreens();
- if(!quartzHasRoot) {
- if(!quartzEnableRootless) {
- RootlessHideAllWindows();
- } else {
- RootlessShowAllWindows();
- }
+ if(XQuartzIsRootless) {
+ RootlessShowAllWindows();
+ } else {
+ RootlessHideAllWindows();
}
- X11ApplicationShowHideMenubar(!quartzHasRoot);
+ X11ApplicationShowHideMenubar(TRUE);
xp_reenable_update();
- if (!quartzEnableRootless && quartzFullscreenDisableHotkeys)
- xp_disable_hot_keys(quartzHasRoot);
+ xp_disable_hot_keys(FALSE);
}
/*
@@ -381,18 +327,18 @@ void QuartzSetRootless(Bool state) {
void QuartzShow(void) {
int i;
- if (quartzServerVisible)
+ if (XQuartzServerVisible)
return;
- quartzServerVisible = TRUE;
+ XQuartzServerVisible = TRUE;
for (i = 0; i < screenInfo.numScreens; i++) {
if (screenInfo.screens[i]) {
quartzProcs->ResumeScreen(screenInfo.screens[i]);
}
}
- if (!quartzEnableRootless)
- QuartzSetFullscreen(TRUE);
+ if (!XQuartzIsRootless)
+ QuartzShowFullscreen(TRUE);
}
@@ -406,16 +352,17 @@ void QuartzHide(void)
{
int i;
- if (quartzServerVisible) {
+ if (XQuartzServerVisible) {
for (i = 0; i < screenInfo.numScreens; i++) {
if (screenInfo.screens[i]) {
quartzProcs->SuspendScreen(screenInfo.screens[i]);
}
}
}
-
- QuartzSetFullscreen(FALSE);
- quartzServerVisible = FALSE;
+
+ if(!XQuartzIsRootless)
+ QuartzShowFullscreen(FALSE);
+ XQuartzServerVisible = FALSE;
}
@@ -428,7 +375,7 @@ void QuartzSetRootClip(
{
int i;
- if (!quartzServerVisible)
+ if (!XQuartzServerVisible)
return;
for (i = 0; i < screenInfo.numScreens; i++) {
@@ -446,3 +393,19 @@ void QuartzSpaceChanged(uint32_t space_id) {
/* Do something special here, so we don't depend on quartz-wm for spaces to work... */
DEBUG_LOG("Space Changed (%u) ... do something interesting...\n", space_id);
}
+
+/*
+ * QuartzCopyDisplayIDs
+ * Associate an X11 screen with one or more CoreGraphics display IDs by copying
+ * the list into a private array. Free the previously copied array, if present.
+ */
+void QuartzCopyDisplayIDs(ScreenPtr pScreen,
+ int displayCount, CGDirectDisplayID *displayIDs) {
+ QuartzScreenPtr pQuartzScreen = QUARTZ_PRIV(pScreen);
+ int size = displayCount * sizeof(CGDirectDisplayID);
+
+ free(pQuartzScreen->displayIDs);
+ pQuartzScreen->displayIDs = malloc(size);
+ memcpy(pQuartzScreen->displayIDs, displayIDs, size);
+ pQuartzScreen->displayCount = displayCount;
+}
diff --git a/xorg-server/hw/xquartz/quartz.h b/xorg-server/hw/xquartz/quartz.h
index b1a3f3183..f0b519e21 100644
--- a/xorg-server/hw/xquartz/quartz.h
+++ b/xorg-server/hw/xquartz/quartz.h
@@ -1,135 +1,146 @@
-/*
- * quartz.h
- *
- * External interface of the Quartz display modes seen by the generic, mode
- * independent parts of the Darwin X server.
- *
- * Copyright (c) 2001-2003 Greg Parker and Torrey T. Lyons.
- * All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Except as contained in this notice, the name(s) of the above copyright
- * holders shall not be used in advertising or otherwise to promote the sale,
- * use or other dealings in this Software without prior written authorization.
- */
-
-#ifndef _QUARTZ_H
-#define _QUARTZ_H
-
-#include "screenint.h"
-#include "window.h"
-
-/*------------------------------------------
- Quartz display mode function types
- ------------------------------------------*/
-
-/*
- * Display mode initialization
- */
-typedef void (*DisplayInitProc)(void);
-typedef Bool (*AddScreenProc)(int index, ScreenPtr pScreen);
-typedef Bool (*SetupScreenProc)(int index, ScreenPtr pScreen);
-typedef void (*InitInputProc)(int argc, char **argv);
-
-/*
- * Cursor functions
- */
-typedef Bool (*InitCursorProc)(ScreenPtr pScreen);
-
-/*
- * Suspend and resume X11 activity
- */
-typedef void (*SuspendScreenProc)(ScreenPtr pScreen);
-typedef void (*ResumeScreenProc)(ScreenPtr pScreen);
-
-/*
- * Screen state change support
- */
-typedef void (*AddPseudoramiXScreensProc)(int *x, int *y, int *width, int *height);
-typedef void (*UpdateScreenProc)(ScreenPtr pScreen);
-
-/*
- * Rootless helper functions
- */
-typedef Bool (*IsX11WindowProc)(void *nsWindow, int windowNumber);
-typedef void (*HideWindowsProc)(Bool hide);
-
-/*
- * Rootless functions for optional export to GLX layer
- */
-typedef void * (*FrameForWindowProc)(WindowPtr pWin, Bool create);
-typedef WindowPtr (*TopLevelParentProc)(WindowPtr pWindow);
-typedef Bool (*CreateSurfaceProc)
- (ScreenPtr pScreen, Drawable id, DrawablePtr pDrawable,
- unsigned int client_id, unsigned int *surface_id,
- unsigned int key[2], void (*notify) (void *arg, void *data),
- void *notify_data);
-typedef Bool (*DestroySurfaceProc)
- (ScreenPtr pScreen, Drawable id, DrawablePtr pDrawable,
- void (*notify) (void *arg, void *data), void *notify_data);
-
-/*
- * Quartz display mode function list
- */
-typedef struct _QuartzModeProcs {
- DisplayInitProc DisplayInit;
- AddScreenProc AddScreen;
- SetupScreenProc SetupScreen;
- InitInputProc InitInput;
-
- InitCursorProc InitCursor;
-
- SuspendScreenProc SuspendScreen;
- ResumeScreenProc ResumeScreen;
-
- AddPseudoramiXScreensProc AddPseudoramiXScreens;
- UpdateScreenProc UpdateScreen;
-
- IsX11WindowProc IsX11Window;
- HideWindowsProc HideWindows;
-
- FrameForWindowProc FrameForWindow;
- TopLevelParentProc TopLevelParent;
- CreateSurfaceProc CreateSurface;
- DestroySurfaceProc DestroySurface;
-} QuartzModeProcsRec, *QuartzModeProcsPtr;
-
-extern QuartzModeProcsPtr quartzProcs;
-extern int quartzHasRoot, quartzEnableRootless;
-
-Bool QuartzAddScreen(int index, ScreenPtr pScreen);
-Bool QuartzSetupScreen(int index, ScreenPtr pScreen);
-void QuartzInitOutput(int argc,char **argv);
-void QuartzInitInput(int argc, char **argv);
-void QuartzInitServer(int argc, char **argv, char **envp);
-void QuartzGiveUp(void);
-void QuartzProcessEvent(xEvent *xe);
-void QuartzUpdateScreens(void);
-
-void QuartzShow(void);
-void QuartzHide(void);
-void QuartzSetRootClip(BOOL enable);
-void QuartzSpaceChanged(uint32_t space_id);
-
-void QuartzSetFullscreen(Bool state);
-void QuartzSetRootless(Bool state);
-
-int server_main(int argc, char **argv, char **envp);
-#endif
+/*
+ * quartz.h
+ *
+ * External interface of the Quartz display modes seen by the generic, mode
+ * independent parts of the Darwin X server.
+ *
+ * Copyright (c) 2001-2003 Greg Parker and Torrey T. Lyons.
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written authorization.
+ */
+
+#ifndef _QUARTZ_H
+#define _QUARTZ_H
+
+#include "screenint.h"
+#include "window.h"
+#include "pixmap.h"
+
+/*------------------------------------------
+ Quartz display mode function types
+ ------------------------------------------*/
+
+/*
+ * Display mode initialization
+ */
+typedef void (*DisplayInitProc)(void);
+typedef Bool (*AddScreenProc)(int index, ScreenPtr pScreen);
+typedef Bool (*SetupScreenProc)(int index, ScreenPtr pScreen);
+typedef void (*InitInputProc)(int argc, char **argv);
+
+/*
+ * Cursor functions
+ */
+typedef Bool (*InitCursorProc)(ScreenPtr pScreen);
+
+/*
+ * Suspend and resume X11 activity
+ */
+typedef void (*SuspendScreenProc)(ScreenPtr pScreen);
+typedef void (*ResumeScreenProc)(ScreenPtr pScreen);
+
+/*
+ * Screen state change support
+ */
+typedef void (*AddPseudoramiXScreensProc)
+ (int *x, int *y, int *width, int *height, ScreenPtr pScreen);
+typedef void (*UpdateScreenProc)(ScreenPtr pScreen);
+
+/*
+ * Rootless helper functions
+ */
+typedef Bool (*IsX11WindowProc)(void *nsWindow, int windowNumber);
+typedef void (*HideWindowsProc)(Bool hide);
+
+/*
+ * Rootless functions for optional export to GLX layer
+ */
+typedef void * (*FrameForWindowProc)(WindowPtr pWin, Bool create);
+typedef WindowPtr (*TopLevelParentProc)(WindowPtr pWindow);
+typedef Bool (*CreateSurfaceProc)
+ (ScreenPtr pScreen, Drawable id, DrawablePtr pDrawable,
+ unsigned int client_id, unsigned int *surface_id,
+ unsigned int key[2], void (*notify) (void *arg, void *data),
+ void *notify_data);
+typedef Bool (*DestroySurfaceProc)
+ (ScreenPtr pScreen, Drawable id, DrawablePtr pDrawable,
+ void (*notify) (void *arg, void *data), void *notify_data);
+
+/*
+ * Quartz display mode function list
+ */
+typedef struct _QuartzModeProcs {
+ DisplayInitProc DisplayInit;
+ AddScreenProc AddScreen;
+ SetupScreenProc SetupScreen;
+ InitInputProc InitInput;
+
+ InitCursorProc InitCursor;
+
+ SuspendScreenProc SuspendScreen;
+ ResumeScreenProc ResumeScreen;
+
+ AddPseudoramiXScreensProc AddPseudoramiXScreens;
+ UpdateScreenProc UpdateScreen;
+
+ IsX11WindowProc IsX11Window;
+ HideWindowsProc HideWindows;
+
+ FrameForWindowProc FrameForWindow;
+ TopLevelParentProc TopLevelParent;
+ CreateSurfaceProc CreateSurface;
+ DestroySurfaceProc DestroySurface;
+} QuartzModeProcsRec, *QuartzModeProcsPtr;
+
+extern QuartzModeProcsPtr quartzProcs;
+
+extern Bool XQuartzFullscreenVisible; /* Are the windows visible (predicated on !rootless) */
+extern Bool XQuartzServerVisible; /* Is the server visible ... TODO: Refactor to "active" */
+extern Bool XQuartzEnableKeyEquivalents;
+extern Bool XQuartzRootlessDefault; /* Is our default mode rootless? */
+extern Bool XQuartzIsRootless; /* Is our current mode rootless (or FS)? */
+extern Bool XQuartzFullscreenMenu; /* Show the menu bar (autohide) while in FS */
+extern Bool XQuartzFullscreenDisableHotkeys;
+extern Bool XQuartzOptionSendsAlt; /* Alt or Mode_switch? */
+extern Bool XQuartzUseSysBeep; /* Sys beep or our own? */
+
+Bool QuartzAddScreen(int index, ScreenPtr pScreen);
+Bool QuartzSetupScreen(int index, ScreenPtr pScreen);
+void QuartzInitOutput(int argc,char **argv);
+void QuartzInitInput(int argc, char **argv);
+void QuartzInitServer(int argc, char **argv, char **envp);
+void QuartzGiveUp(void);
+void QuartzProcessEvent(xEvent *xe);
+void QuartzUpdateScreens(void);
+
+void QuartzShow(void);
+void QuartzHide(void);
+void QuartzSetRootClip(BOOL enable);
+void QuartzSpaceChanged(uint32_t space_id);
+
+void QuartzSetRootless(Bool state);
+void QuartzShowFullscreen(Bool state);
+
+int server_main(int argc, char **argv, char **envp);
+#endif
diff --git a/xorg-server/hw/xquartz/quartzAudio.c b/xorg-server/hw/xquartz/quartzAudio.c
index 708202b5b..d17d65808 100644
--- a/xorg-server/hw/xquartz/quartzAudio.c
+++ b/xorg-server/hw/xquartz/quartzAudio.c
@@ -1,329 +1,329 @@
-//
-// QuartzAudio.m
-//
-// X Window bell support using CoreAudio or AppKit.
-// Greg Parker gparker@cs.stanford.edu 19 Feb 2001
-//
-// Info about sine wave sound playback:
-// CoreAudio code derived from macosx-dev posting by Tim Wood
-// http://www.omnigroup.com/mailman/archive/macosx-dev/2000-May/002004.html
-// Smoothing transitions between sounds
-// http://www.wam.umd.edu/~mphoenix/dss/dss.html
-//
-/*
- * Copyright (c) 2001 Greg Parker. All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Except as contained in this notice, the name(s) of the above copyright
- * holders shall not be used in advertising or otherwise to promote the sale,
- * use or other dealings in this Software without prior written authorization.
- */
-
-#include "sanitizedCarbon.h"
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include "quartzCommon.h"
-#include "quartzAudio.h"
-
-#include <CoreAudio/CoreAudio.h>
-#include <pthread.h>
-#include <AvailabilityMacros.h>
-
-#include "inputstr.h"
-#include <X11/extensions/XI.h>
-#include <assert.h>
-
-void NSBeep(void);
-
-typedef struct QuartzAudioRec {
- double frequency;
- double amplitude;
-
- UInt32 curFrame;
- UInt32 remainingFrames;
- UInt32 totalFrames;
- double sampleRate;
- UInt32 fadeLength;
-
- UInt32 bufferByteCount;
- Boolean playing;
- pthread_mutex_t lock;
-
- // used to fade out interrupted sound and avoid 'pop'
- double prevFrequency;
- double prevAmplitude;
- UInt32 prevFrame;
-} QuartzAudioRec;
-
-static AudioDeviceID quartzAudioDevice = kAudioDeviceUnknown;
-static QuartzAudioRec data;
-
-
-/*
- * QuartzAudioEnvelope
- * Fade sound in and out to avoid pop.
- * Sounds with shorter duration will never reach full amplitude. Deal.
- */
-static double QuartzAudioEnvelope(
- UInt32 curFrame,
- UInt32 totalFrames,
- UInt32 fadeLength )
-{
- double fadeFrames = min(fadeLength, totalFrames / 2);
- if (fadeFrames < 1) return 0;
-
- if (curFrame < fadeFrames) {
- return curFrame / fadeFrames;
- } else if (curFrame > totalFrames - fadeFrames) {
- return (totalFrames-curFrame) / fadeFrames;
- } else {
- return 1.0;
- }
-}
-
-
-/*
- * QuartzFillBuffer
- * Fill this buffer with data and update the data position.
- * FIXME: this is ugly
- */
-static void QuartzFillBuffer(
- AudioBuffer *audiobuffer,
- QuartzAudioRec *data )
-{
- float *buffer, *b;
- unsigned int frame, frameCount;
- unsigned int bufferFrameCount;
- float multiplier, v;
- int i;
-
- buffer = (float *)audiobuffer->mData;
- bufferFrameCount = audiobuffer->mDataByteSize / (sizeof(float) * audiobuffer->mNumberChannels);
-
- frameCount = min(bufferFrameCount, data->remainingFrames);
-
- // Fade out previous sine wave, if any.
- b = buffer;
- if (data->prevFrame) {
- multiplier = 2*M_PI*(data->prevFrequency/data->sampleRate);
- for (frame = 0; frame < data->fadeLength; frame++) {
- v = data->prevAmplitude *
- QuartzAudioEnvelope(frame+data->fadeLength,
- 2*data->fadeLength,
- data->fadeLength) *
- sin(multiplier * (data->prevFrame+frame));
- for (i = 0; i < audiobuffer->mNumberChannels; i++) {
- *b++ = v;
- }
- }
- // no more prev fade
- data->prevFrame = 0;
-
- // adjust for space eaten by prev fade
- b += audiobuffer->mNumberChannels*frame;
- bufferFrameCount -= frame;
- frameCount = min(bufferFrameCount, data->remainingFrames);
- }
-
- // Write a sine wave with the specified frequency and amplitude
- multiplier = 2*M_PI*(data->frequency/data->sampleRate);
- for (frame = 0; frame < frameCount; frame++) {
- v = data->amplitude *
- QuartzAudioEnvelope(data->curFrame+frame, data->totalFrames,
- data->fadeLength) *
- sin(multiplier * (data->curFrame+frame));
- for (i = 0; i < audiobuffer->mNumberChannels; i++) {
- *b++ = v;
- }
- }
-
- // Zero out the rest of the buffer, if any
- memset(b, 0, sizeof(float) * audiobuffer->mNumberChannels *
- (bufferFrameCount-frame));
-
- data->curFrame += frameCount;
- data->remainingFrames -= frameCount;
- if (data->remainingFrames == 0) {
- data->playing = FALSE;
- data->curFrame = 0;
- }
-}
-
-
-/*
- * QuartzAudioIOProc
- * Callback function for audio playback.
- * FIXME: use inOutputTime to correct for skipping
- */
-static OSStatus
-QuartzAudioIOProc(
- AudioDeviceID inDevice,
- const AudioTimeStamp *inNow,
- const AudioBufferList *inInputData,
- const AudioTimeStamp *inInputTime,
- AudioBufferList *outOutputData,
- const AudioTimeStamp *inOutputTime,
- void *inClientData )
-{
- QuartzAudioRec *data = (QuartzAudioRec *)inClientData;
- int i;
- Boolean wasPlaying;
-
- pthread_mutex_lock(&data->lock);
- wasPlaying = data->playing;
- for (i = 0; i < outOutputData->mNumberBuffers; i++) {
- if (data->playing) {
- QuartzFillBuffer(outOutputData->mBuffers+i, data);
- }
- else {
- memset(outOutputData->mBuffers[i].mData, 0,
- outOutputData->mBuffers[i].mDataByteSize);
- }
- }
- if (wasPlaying && !data->playing) {
- OSStatus err;
- err = AudioDeviceStop(inDevice, QuartzAudioIOProc);
- if(err != noErr)
- fprintf(stderr, "Error stopping audio device: %ld\n", (long int)err);
- }
- pthread_mutex_unlock(&data->lock);
- return 0;
-}
-
-
-/*
- * DDXRingBell
- * Play a tone using the CoreAudio API
- */
-void DDXRingBell(
- int volume, // volume is % of max
- int pitch, // pitch is Hz
- int duration ) // duration is milliseconds
-{
- if (quartzUseSysBeep) {
- if (volume)
- NSBeep();
- return;
- }
-
- if (quartzAudioDevice == kAudioDeviceUnknown) return;
-
- pthread_mutex_lock(&data.lock);
-
- // fade previous sound, if any
- data.prevFrequency = data.frequency;
- data.prevAmplitude = data.amplitude;
- data.prevFrame = data.curFrame;
-
- // set new sound
- data.frequency = pitch;
- data.amplitude = volume / 100.0;
- data.curFrame = 0;
- data.totalFrames = (int)(data.sampleRate * duration / 1000.0);
- data.remainingFrames = data.totalFrames;
-
- if (! data.playing) {
- OSStatus status;
- status = AudioDeviceStart(quartzAudioDevice, QuartzAudioIOProc);
- if (status) {
- ErrorF("DDXRingBell: AudioDeviceStart returned %ld\n", (long)status);
- } else {
- data.playing = TRUE;
- }
- }
- pthread_mutex_unlock(&data.lock);
-}
-
-/*
- * QuartzAudioInit
- * Prepare to play the bell with the CoreAudio API
- */
-void QuartzAudioInit(void)
-{
- UInt32 propertySize;
- OSStatus status;
- AudioDeviceID outputDevice;
- double sampleRate;
- AudioObjectPropertyAddress devicePropertyAddress = { kAudioHardwarePropertyDefaultOutputDevice, kAudioObjectPropertyScopeGlobal, kAudioObjectPropertyElementMaster };
- AudioObjectPropertyAddress sampleRatePropertyAddress = { kAudioDevicePropertyNominalSampleRate, kAudioDevicePropertyScopeOutput, kAudioObjectPropertyElementMaster };
-
- // Get the default output device
- propertySize = sizeof(outputDevice);
- status = AudioObjectGetPropertyData(kAudioObjectSystemObject, &devicePropertyAddress,
- 0, NULL,
- &propertySize, &outputDevice);
- if (status) {
- ErrorF("QuartzAudioInit: AudioObjectGetPropertyData(output device) returned %ld\n",
- (long)status);
- return;
- }
- if (outputDevice == kAudioDeviceUnknown) {
- ErrorF("QuartzAudioInit: No audio output devices available.\n");
- return;
- }
-
- // Get the basic device description
- sampleRate = 0.;
- propertySize = sizeof(sampleRate);
- status = AudioObjectGetPropertyData(outputDevice, &sampleRatePropertyAddress,
- 0, NULL,
- &propertySize, &sampleRate);
- if (status) {
- ErrorF("QuartzAudioInit: AudioObjectGetPropertyData(sample rate) returned %ld\n",
- (long)status);
- return;
- }
-
- // Fill in the playback data
- data.frequency = 0;
- data.amplitude = 0;
- data.curFrame = 0;
- data.remainingFrames = 0;
- data.sampleRate = sampleRate;
- // data.bufferByteCount = bufferByteCount;
- data.playing = FALSE;
- data.prevAmplitude = 0;
- data.prevFrame = 0;
- data.prevFrequency = 0;
- data.fadeLength = data.sampleRate / 200;
- pthread_mutex_init(&data.lock, NULL); // fixme error check
-
- // fixme assert fadeLength<framesPerBuffer
-
- // Prepare for playback
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050
- {
- AudioDeviceIOProcID sInputIOProcID = NULL;
- status = AudioDeviceCreateIOProcID( outputDevice, QuartzAudioIOProc, &data, &sInputIOProcID );
- }
-#else
- status = AudioDeviceAddIOProc(outputDevice, QuartzAudioIOProc, &data);
-#endif
- if (status) {
- ErrorF("QuartzAudioInit: AddIOProc returned %ld\n", (long)status);
- return;
- }
-
- // success!
- quartzAudioDevice = outputDevice;
-}
+//
+// QuartzAudio.m
+//
+// X Window bell support using CoreAudio or AppKit.
+// Greg Parker gparker@cs.stanford.edu 19 Feb 2001
+//
+// Info about sine wave sound playback:
+// CoreAudio code derived from macosx-dev posting by Tim Wood
+// http://www.omnigroup.com/mailman/archive/macosx-dev/2000-May/002004.html
+// Smoothing transitions between sounds
+// http://www.wam.umd.edu/~mphoenix/dss/dss.html
+//
+/*
+ * Copyright (c) 2001 Greg Parker. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written authorization.
+ */
+
+#include "sanitizedCarbon.h"
+
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#endif
+
+#include "quartz.h"
+#include "quartzAudio.h"
+
+#include <CoreAudio/CoreAudio.h>
+#include <pthread.h>
+#include <AvailabilityMacros.h>
+
+#include "inputstr.h"
+#include <X11/extensions/XI.h>
+#include <assert.h>
+
+void NSBeep(void);
+
+typedef struct QuartzAudioRec {
+ double frequency;
+ double amplitude;
+
+ UInt32 curFrame;
+ UInt32 remainingFrames;
+ UInt32 totalFrames;
+ double sampleRate;
+ UInt32 fadeLength;
+
+ UInt32 bufferByteCount;
+ Boolean playing;
+ pthread_mutex_t lock;
+
+ // used to fade out interrupted sound and avoid 'pop'
+ double prevFrequency;
+ double prevAmplitude;
+ UInt32 prevFrame;
+} QuartzAudioRec;
+
+static AudioDeviceID quartzAudioDevice = kAudioDeviceUnknown;
+static QuartzAudioRec data;
+
+
+/*
+ * QuartzAudioEnvelope
+ * Fade sound in and out to avoid pop.
+ * Sounds with shorter duration will never reach full amplitude. Deal.
+ */
+static double QuartzAudioEnvelope(
+ UInt32 curFrame,
+ UInt32 totalFrames,
+ UInt32 fadeLength )
+{
+ double fadeFrames = min(fadeLength, totalFrames / 2);
+ if (fadeFrames < 1) return 0;
+
+ if (curFrame < fadeFrames) {
+ return curFrame / fadeFrames;
+ } else if (curFrame > totalFrames - fadeFrames) {
+ return (totalFrames-curFrame) / fadeFrames;
+ } else {
+ return 1.0;
+ }
+}
+
+
+/*
+ * QuartzFillBuffer
+ * Fill this buffer with data and update the data position.
+ * FIXME: this is ugly
+ */
+static void QuartzFillBuffer(
+ AudioBuffer *audiobuffer,
+ QuartzAudioRec *data )
+{
+ float *buffer, *b;
+ unsigned int frame, frameCount;
+ unsigned int bufferFrameCount;
+ float multiplier, v;
+ int i;
+
+ buffer = (float *)audiobuffer->mData;
+ bufferFrameCount = audiobuffer->mDataByteSize / (sizeof(float) * audiobuffer->mNumberChannels);
+
+ frameCount = min(bufferFrameCount, data->remainingFrames);
+
+ // Fade out previous sine wave, if any.
+ b = buffer;
+ if (data->prevFrame) {
+ multiplier = 2*M_PI*(data->prevFrequency/data->sampleRate);
+ for (frame = 0; frame < data->fadeLength; frame++) {
+ v = data->prevAmplitude *
+ QuartzAudioEnvelope(frame+data->fadeLength,
+ 2*data->fadeLength,
+ data->fadeLength) *
+ sin(multiplier * (data->prevFrame+frame));
+ for (i = 0; i < audiobuffer->mNumberChannels; i++) {
+ *b++ = v;
+ }
+ }
+ // no more prev fade
+ data->prevFrame = 0;
+
+ // adjust for space eaten by prev fade
+ b += audiobuffer->mNumberChannels*frame;
+ bufferFrameCount -= frame;
+ frameCount = min(bufferFrameCount, data->remainingFrames);
+ }
+
+ // Write a sine wave with the specified frequency and amplitude
+ multiplier = 2*M_PI*(data->frequency/data->sampleRate);
+ for (frame = 0; frame < frameCount; frame++) {
+ v = data->amplitude *
+ QuartzAudioEnvelope(data->curFrame+frame, data->totalFrames,
+ data->fadeLength) *
+ sin(multiplier * (data->curFrame+frame));
+ for (i = 0; i < audiobuffer->mNumberChannels; i++) {
+ *b++ = v;
+ }
+ }
+
+ // Zero out the rest of the buffer, if any
+ memset(b, 0, sizeof(float) * audiobuffer->mNumberChannels *
+ (bufferFrameCount-frame));
+
+ data->curFrame += frameCount;
+ data->remainingFrames -= frameCount;
+ if (data->remainingFrames == 0) {
+ data->playing = FALSE;
+ data->curFrame = 0;
+ }
+}
+
+
+/*
+ * QuartzAudioIOProc
+ * Callback function for audio playback.
+ * FIXME: use inOutputTime to correct for skipping
+ */
+static OSStatus
+QuartzAudioIOProc(
+ AudioDeviceID inDevice,
+ const AudioTimeStamp *inNow,
+ const AudioBufferList *inInputData,
+ const AudioTimeStamp *inInputTime,
+ AudioBufferList *outOutputData,
+ const AudioTimeStamp *inOutputTime,
+ void *inClientData )
+{
+ QuartzAudioRec *data = (QuartzAudioRec *)inClientData;
+ int i;
+ Boolean wasPlaying;
+
+ pthread_mutex_lock(&data->lock);
+ wasPlaying = data->playing;
+ for (i = 0; i < outOutputData->mNumberBuffers; i++) {
+ if (data->playing) {
+ QuartzFillBuffer(outOutputData->mBuffers+i, data);
+ }
+ else {
+ memset(outOutputData->mBuffers[i].mData, 0,
+ outOutputData->mBuffers[i].mDataByteSize);
+ }
+ }
+ if (wasPlaying && !data->playing) {
+ OSStatus err;
+ err = AudioDeviceStop(inDevice, QuartzAudioIOProc);
+ if(err != noErr)
+ fprintf(stderr, "Error stopping audio device: %ld\n", (long int)err);
+ }
+ pthread_mutex_unlock(&data->lock);
+ return 0;
+}
+
+
+/*
+ * DDXRingBell
+ * Play a tone using the CoreAudio API
+ */
+void DDXRingBell(
+ int volume, // volume is % of max
+ int pitch, // pitch is Hz
+ int duration ) // duration is milliseconds
+{
+ if (XQuartzUseSysBeep) {
+ if (volume)
+ NSBeep();
+ return;
+ }
+
+ if (quartzAudioDevice == kAudioDeviceUnknown) return;
+
+ pthread_mutex_lock(&data.lock);
+
+ // fade previous sound, if any
+ data.prevFrequency = data.frequency;
+ data.prevAmplitude = data.amplitude;
+ data.prevFrame = data.curFrame;
+
+ // set new sound
+ data.frequency = pitch;
+ data.amplitude = volume / 100.0;
+ data.curFrame = 0;
+ data.totalFrames = (int)(data.sampleRate * duration / 1000.0);
+ data.remainingFrames = data.totalFrames;
+
+ if (! data.playing) {
+ OSStatus status;
+ status = AudioDeviceStart(quartzAudioDevice, QuartzAudioIOProc);
+ if (status) {
+ ErrorF("DDXRingBell: AudioDeviceStart returned %ld\n", (long)status);
+ } else {
+ data.playing = TRUE;
+ }
+ }
+ pthread_mutex_unlock(&data.lock);
+}
+
+/*
+ * QuartzAudioInit
+ * Prepare to play the bell with the CoreAudio API
+ */
+void QuartzAudioInit(void)
+{
+ UInt32 propertySize;
+ OSStatus status;
+ AudioDeviceID outputDevice;
+ double sampleRate;
+ AudioObjectPropertyAddress devicePropertyAddress = { kAudioHardwarePropertyDefaultOutputDevice, kAudioObjectPropertyScopeGlobal, kAudioObjectPropertyElementMaster };
+ AudioObjectPropertyAddress sampleRatePropertyAddress = { kAudioDevicePropertyNominalSampleRate, kAudioDevicePropertyScopeOutput, kAudioObjectPropertyElementMaster };
+
+ // Get the default output device
+ propertySize = sizeof(outputDevice);
+ status = AudioObjectGetPropertyData(kAudioObjectSystemObject, &devicePropertyAddress,
+ 0, NULL,
+ &propertySize, &outputDevice);
+ if (status) {
+ ErrorF("QuartzAudioInit: AudioObjectGetPropertyData(output device) returned %ld\n",
+ (long)status);
+ return;
+ }
+ if (outputDevice == kAudioDeviceUnknown) {
+ ErrorF("QuartzAudioInit: No audio output devices available.\n");
+ return;
+ }
+
+ // Get the basic device description
+ sampleRate = 0.;
+ propertySize = sizeof(sampleRate);
+ status = AudioObjectGetPropertyData(outputDevice, &sampleRatePropertyAddress,
+ 0, NULL,
+ &propertySize, &sampleRate);
+ if (status) {
+ ErrorF("QuartzAudioInit: AudioObjectGetPropertyData(sample rate) returned %ld\n",
+ (long)status);
+ return;
+ }
+
+ // Fill in the playback data
+ data.frequency = 0;
+ data.amplitude = 0;
+ data.curFrame = 0;
+ data.remainingFrames = 0;
+ data.sampleRate = sampleRate;
+ // data.bufferByteCount = bufferByteCount;
+ data.playing = FALSE;
+ data.prevAmplitude = 0;
+ data.prevFrame = 0;
+ data.prevFrequency = 0;
+ data.fadeLength = data.sampleRate / 200;
+ pthread_mutex_init(&data.lock, NULL); // fixme error check
+
+ // fixme assert fadeLength<framesPerBuffer
+
+ // Prepare for playback
+#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050
+ {
+ AudioDeviceIOProcID sInputIOProcID = NULL;
+ status = AudioDeviceCreateIOProcID( outputDevice, QuartzAudioIOProc, &data, &sInputIOProcID );
+ }
+#else
+ status = AudioDeviceAddIOProc(outputDevice, QuartzAudioIOProc, &data);
+#endif
+ if (status) {
+ ErrorF("QuartzAudioInit: AddIOProc returned %ld\n", (long)status);
+ return;
+ }
+
+ // success!
+ quartzAudioDevice = outputDevice;
+}
diff --git a/xorg-server/hw/xquartz/quartzCommon.h b/xorg-server/hw/xquartz/quartzCommon.h
index 8c7b14faa..ac089ac71 100644
--- a/xorg-server/hw/xquartz/quartzCommon.h
+++ b/xorg-server/hw/xquartz/quartzCommon.h
@@ -38,26 +38,7 @@
#include <X11/Xdefs.h>
#include "privates.h"
-// Quartz specific per screen storage structure
-typedef struct {
- // List of CoreGraphics displays that this X11 screen covers.
- // This is more than one CG display for video mirroring and
- // rootless PseudoramiX mode.
- // No CG display will be covered by more than one X11 screen.
- int displayCount;
- CGDirectDisplayID *displayIDs;
-} QuartzScreenRec, *QuartzScreenPtr;
-
-#define QUARTZ_PRIV(pScreen) \
- ((QuartzScreenPtr)dixLookupPrivate(&pScreen->devPrivates, quartzScreenKey))
-
-// User preferences used by Quartz modes
-extern int quartzUseSysBeep;
-extern int quartzFullscreenDisableHotkeys;
-extern int quartzOptionSendsAlt;
-
// Other shared data
-extern int quartzServerVisible;
extern DevPrivateKeyRec quartzScreenKeyRec;
#define quartzScreenKey (&quartzScreenKeyRec)
extern int aquaMenuBarHeight;
diff --git a/xorg-server/hw/xquartz/quartzKeyboard.c b/xorg-server/hw/xquartz/quartzKeyboard.c
index 8ea198cd5..cd73ec5bd 100644
--- a/xorg-server/hw/xquartz/quartzKeyboard.c
+++ b/xorg-server/hw/xquartz/quartzKeyboard.c
@@ -48,7 +48,7 @@
#include <sys/stat.h>
#include <AvailabilityMacros.h>
-#include "quartzCommon.h"
+#include "quartz.h"
#include "darwin.h"
#include "darwinEvents.h"
@@ -262,7 +262,7 @@ static void DarwinBuildModifierMaps(darwinKeyboardInfo *info) {
case XK_Alt_L:
info->modifierKeycodes[NX_MODIFIERKEY_ALTERNATE][0] = i;
info->modMap[MIN_KEYCODE + i] = Mod1Mask;
- if(!quartzOptionSendsAlt)
+ if(!XQuartzOptionSendsAlt)
*k = XK_Mode_switch; // Yes, this is ugly. This needs to be cleaned up when we integrate quartzKeyboard with this code and refactor.
break;
@@ -272,7 +272,7 @@ static void DarwinBuildModifierMaps(darwinKeyboardInfo *info) {
#else
info->modifierKeycodes[NX_MODIFIERKEY_ALTERNATE][0] = i;
#endif
- if(!quartzOptionSendsAlt)
+ if(!XQuartzOptionSendsAlt)
*k = XK_Mode_switch; // Yes, this is ugly. This needs to be cleaned up when we integrate quartzKeyboard with this code and refactor.
info->modMap[MIN_KEYCODE + i] = Mod1Mask;
break;
diff --git a/xorg-server/hw/xquartz/quartzRandR.c b/xorg-server/hw/xquartz/quartzRandR.c
new file mode 100644
index 000000000..bc58e2341
--- /dev/null
+++ b/xorg-server/hw/xquartz/quartzRandR.c
@@ -0,0 +1,560 @@
+/*
+ * Quartz-specific support for the XRandR extension
+ *
+ * Copyright (c) 2001-2004 Greg Parker and Torrey T. Lyons,
+ * 2010 Jan Hauffa.
+ * 2010 Apple Inc.
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written authorization.
+ */
+
+#include "sanitizedCarbon.h"
+
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#endif
+
+#include "quartzCommon.h"
+#include "quartzRandR.h"
+#include "quartz.h"
+#include "darwin.h"
+
+#include <AvailabilityMacros.h>
+
+#include <X11/extensions/randr.h>
+#include <randrstr.h>
+#include <IOKit/graphics/IOGraphicsTypes.h>
+
+/* TODO: UGLY, find a better way!
+ * We want to ignore kXquartzDisplayChanged which are generated by us
+ */
+static Bool ignore_next_fake_mode_update = FALSE;
+
+#define FAKE_REFRESH_ROOTLESS 1
+#define FAKE_REFRESH_FULLSCREEN 2
+
+#define DEFAULT_REFRESH 60
+#define kDisplayModeUsableFlags (kDisplayModeValidFlag | kDisplayModeSafeFlag)
+
+#define CALLBACK_SUCCESS 0
+#define CALLBACK_CONTINUE 1
+#define CALLBACK_ERROR -1
+
+typedef int (*QuartzModeCallback)
+ (ScreenPtr, QuartzModeInfoPtr, void *);
+
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 1060
+
+static long getDictLong (CFDictionaryRef dictRef, CFStringRef key) {
+ long value;
+
+ CFNumberRef numRef = (CFNumberRef) CFDictionaryGetValue(dictRef, key);
+ if (!numRef)
+ return 0;
+
+ if (!CFNumberGetValue(numRef, kCFNumberLongType, &value))
+ return 0;
+ return value;
+}
+
+static double getDictDouble (CFDictionaryRef dictRef, CFStringRef key) {
+ double value;
+
+ CFNumberRef numRef = (CFNumberRef) CFDictionaryGetValue(dictRef, key);
+ if (!numRef)
+ return 0.0;
+
+ if (!CFNumberGetValue(numRef, kCFNumberDoubleType, &value))
+ return 0.0;
+ return value;
+}
+
+static void QuartzRandRGetModeInfo (CFDictionaryRef modeRef,
+ QuartzModeInfoPtr pMode) {
+ pMode->width = (size_t) getDictLong(modeRef, kCGDisplayWidth);
+ pMode->height = (size_t) getDictLong(modeRef, kCGDisplayHeight);
+ pMode->refresh = (int)(getDictDouble(modeRef, kCGDisplayRefreshRate) + 0.5);
+ if (pMode->refresh == 0)
+ pMode->refresh = DEFAULT_REFRESH;
+ pMode->ref = NULL;
+ pMode->pSize = NULL;
+}
+
+static Bool QuartzRandRCopyCurrentModeInfo (CGDirectDisplayID screenId,
+ QuartzModeInfoPtr pMode) {
+ CFDictionaryRef curModeRef = CGDisplayCurrentMode(screenId);
+ if (!curModeRef)
+ return FALSE;
+
+ QuartzRandRGetModeInfo(curModeRef, pMode);
+ pMode->ref = (void *)curModeRef;
+ CFRetain(pMode->ref);
+ return TRUE;
+}
+
+static Bool QuartzRandRSetCGMode (CGDirectDisplayID screenId,
+ QuartzModeInfoPtr pMode) {
+ CFDictionaryRef modeRef = (CFDictionaryRef) pMode->ref;
+ return (CGDisplaySwitchToMode(screenId, modeRef) == kCGErrorSuccess);
+}
+
+static Bool QuartzRandREnumerateModes (ScreenPtr pScreen,
+ QuartzModeCallback callback,
+ void *data) {
+ CFDictionaryRef curModeRef, modeRef;
+ long curBpp;
+ CFArrayRef modes;
+ QuartzModeInfo modeInfo;
+ int i;
+ BOOL retval = FALSE;
+ QuartzScreenPtr pQuartzScreen = QUARTZ_PRIV(pScreen);
+ CGDirectDisplayID screenId = pQuartzScreen->displayIDs[0];
+
+ curModeRef = CGDisplayCurrentMode(screenId);
+ if (!curModeRef)
+ return FALSE;
+ curBpp = getDictLong(curModeRef, kCGDisplayBitsPerPixel);
+
+ modes = CGDisplayAvailableModes(screenId);
+ if (!modes)
+ return FALSE;
+ for (i = 0; i < CFArrayGetCount(modes); i++) {
+ int cb;
+ modeRef = (CFDictionaryRef) CFArrayGetValueAtIndex(modes, i);
+
+ /* Skip modes that are not usable on the current display or have a
+ different pixel encoding than the current mode. */
+ if (((unsigned long) getDictLong(modeRef, kCGDisplayIOFlags) &
+ kDisplayModeUsableFlags) != kDisplayModeUsableFlags)
+ continue;
+ if (getDictLong(modeRef, kCGDisplayBitsPerPixel) != curBpp)
+ continue;
+
+ QuartzRandRGetModeInfo(modeRef, &modeInfo);
+ modeInfo.ref = (void *)modeRef;
+ cb = callback(pScreen, &modeInfo, data);
+ if (cb == CALLBACK_CONTINUE)
+ retval = TRUE;
+ else if (cb == CALLBACK_SUCCESS)
+ return TRUE;
+ else if (cb == CALLBACK_ERROR)
+ return FALSE;
+ }
+
+ switch(callback(pScreen, &pQuartzScreen->rootlessMode, data)) {
+ case CALLBACK_SUCCESS:
+ return TRUE;
+ case CALLBACK_ERROR:
+ return FALSE;
+ case CALLBACK_CONTINUE:
+ retval = TRUE;
+ default:
+ break;
+ }
+
+ switch(callback(pScreen, &pQuartzScreen->fullscreenMode, data)) {
+ case CALLBACK_SUCCESS:
+ return TRUE;
+ case CALLBACK_ERROR:
+ return FALSE;
+ case CALLBACK_CONTINUE:
+ retval = TRUE;
+ default:
+ break;
+ }
+
+ return retval;
+}
+
+#else /* we have the new CG APIs from Snow Leopard */
+
+static void QuartzRandRGetModeInfo (CGDisplayModeRef modeRef,
+ QuartzModeInfoPtr pMode) {
+ pMode->width = CGDisplayModeGetWidth(modeRef);
+ pMode->height = CGDisplayModeGetHeight(modeRef);
+ pMode->refresh = (int) (CGDisplayModeGetRefreshRate(modeRef) + 0.5);
+ if (pMode->refresh == 0)
+ pMode->refresh = DEFAULT_REFRESH;
+ pMode->ref = NULL;
+ pMode->pSize = NULL;
+}
+
+static Bool QuartzRandRCopyCurrentModeInfo (CGDirectDisplayID screenId,
+ QuartzModeInfoPtr pMode) {
+ CGDisplayModeRef curModeRef = CGDisplayCopyDisplayMode(screenId);
+ if (!curModeRef)
+ return FALSE;
+
+ QuartzRandRGetModeInfo(curModeRef, pMode);
+ pMode->ref = curModeRef;
+ return TRUE;
+}
+
+static Bool QuartzRandRSetCGMode (CGDirectDisplayID screenId,
+ QuartzModeInfoPtr pMode) {
+ CGDisplayModeRef modeRef = (CGDisplayModeRef) pMode->ref;
+ if (!modeRef)
+ return FALSE;
+
+ return (CGDisplaySetDisplayMode(screenId, modeRef, NULL) == kCGErrorSuccess);
+}
+
+static Bool QuartzRandREnumerateModes (ScreenPtr pScreen,
+ QuartzModeCallback callback,
+ void *data) {
+ CGDisplayModeRef curModeRef, modeRef;
+ CFStringRef curPixelEnc, pixelEnc;
+ CFComparisonResult pixelEncEqual;
+ CFArrayRef modes;
+ QuartzModeInfo modeInfo;
+ int i;
+ Bool retval = FALSE;
+
+ QuartzScreenPtr pQuartzScreen = QUARTZ_PRIV(pScreen);
+ CGDirectDisplayID screenId = pQuartzScreen->displayIDs[0];
+
+ curModeRef = CGDisplayCopyDisplayMode(screenId);
+ if (!curModeRef)
+ return FALSE;
+ curPixelEnc = CGDisplayModeCopyPixelEncoding(curModeRef);
+ CGDisplayModeRelease(curModeRef);
+
+ modes = CGDisplayCopyAllDisplayModes(screenId, NULL);
+ if (!modes) {
+ CFRelease(curPixelEnc);
+ return FALSE;
+ }
+ for (i = 0; i < CFArrayGetCount(modes); i++) {
+ int cb;
+ modeRef = (CGDisplayModeRef) CFArrayGetValueAtIndex(modes, i);
+
+ /* Skip modes that are not usable on the current display or have a
+ different pixel encoding than the current mode. */
+ if ((CGDisplayModeGetIOFlags(modeRef) & kDisplayModeUsableFlags) !=
+ kDisplayModeUsableFlags)
+ continue;
+ pixelEnc = CGDisplayModeCopyPixelEncoding(modeRef);
+ pixelEncEqual = CFStringCompare(pixelEnc, curPixelEnc, 0);
+ CFRelease(pixelEnc);
+ if (pixelEncEqual != kCFCompareEqualTo)
+ continue;
+
+ QuartzRandRGetModeInfo(modeRef, &modeInfo);
+ modeInfo.ref = modeRef;
+ cb = callback(pScreen, &modeInfo, data);
+ if (cb == CALLBACK_CONTINUE) {
+ retval = TRUE;
+ } else if (cb == CALLBACK_SUCCESS) {
+ CFRelease(modes);
+ CFRelease(curPixelEnc);
+ return TRUE;
+ } else if (cb == CALLBACK_ERROR) {
+ CFRelease(modes);
+ CFRelease(curPixelEnc);
+ return FALSE;
+ }
+ }
+
+ CFRelease(modes);
+ CFRelease(curPixelEnc);
+
+ switch(callback(pScreen, &pQuartzScreen->rootlessMode, data)) {
+ case CALLBACK_SUCCESS:
+ return TRUE;
+ case CALLBACK_ERROR:
+ return FALSE;
+ case CALLBACK_CONTINUE:
+ retval = TRUE;
+ default:
+ break;
+ }
+
+ switch(callback(pScreen, &pQuartzScreen->fullscreenMode, data)) {
+ case CALLBACK_SUCCESS:
+ return TRUE;
+ case CALLBACK_ERROR:
+ return FALSE;
+ case CALLBACK_CONTINUE:
+ retval = TRUE;
+ default:
+ break;
+ }
+
+ return retval;
+}
+
+#endif /* Snow Leopard CoreGraphics APIs */
+
+
+static Bool QuartzRandRModesEqual (QuartzModeInfoPtr pMode1,
+ QuartzModeInfoPtr pMode2) {
+ return (pMode1->width == pMode2->width) &&
+ (pMode1->height == pMode2->height) &&
+ (pMode1->refresh == pMode2->refresh);
+}
+
+static Bool QuartzRandRRegisterMode (ScreenPtr pScreen,
+ QuartzModeInfoPtr pMode) {
+ QuartzScreenPtr pQuartzScreen = QUARTZ_PRIV(pScreen);
+ Bool isCurrentMode = QuartzRandRModesEqual(&pQuartzScreen->currentMode, pMode);
+
+ /* TODO: DPI */
+ pMode->pSize = RRRegisterSize(pScreen, pMode->width, pMode->height, pScreen->mmWidth, pScreen->mmHeight);
+ if (pMode->pSize) {
+ //DEBUG_LOG("registering: %d x %d @ %d %s\n", (int)pMode->width, (int)pMode->height, (int)pMode->refresh, isCurrentMode ? "*" : "");
+ RRRegisterRate(pScreen, pMode->pSize, pMode->refresh);
+
+ if (isCurrentMode)
+ RRSetCurrentConfig(pScreen, RR_Rotate_0, pMode->refresh, pMode->pSize);
+
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static int QuartzRandRRegisterModeCallback (ScreenPtr pScreen,
+ QuartzModeInfoPtr pMode,
+ void *data __unused) {
+ if(QuartzRandRRegisterMode(pScreen, pMode)) {
+ return CALLBACK_CONTINUE;
+ } else {
+ return CALLBACK_ERROR;
+ }
+}
+
+static Bool QuartzRandRSetMode(ScreenPtr pScreen, QuartzModeInfoPtr pMode, BOOL doRegister) {
+ QuartzScreenPtr pQuartzScreen = QUARTZ_PRIV(pScreen);
+ CGDirectDisplayID screenId = pQuartzScreen->displayIDs[0];
+
+ if (pQuartzScreen->currentMode.ref && CFEqual(pMode->ref, pQuartzScreen->currentMode.ref)) {
+ DEBUG_LOG("Requested RandR resolution matches current CG mode\n");
+ } if (QuartzRandRSetCGMode(screenId, pMode)) {
+ ignore_next_fake_mode_update = TRUE;
+ } else {
+ DEBUG_LOG("Error while requesting CG resolution change.\n");
+ return FALSE;
+ }
+
+ /* If the client requested the fake rootless mode, switch to rootless.
+ * Otherwise, force fullscreen mode.
+ */
+ QuartzSetRootless(pMode->refresh == FAKE_REFRESH_ROOTLESS);
+ if (pMode->refresh != FAKE_REFRESH_ROOTLESS) {
+ QuartzShowFullscreen(TRUE);
+ }
+
+ if(pQuartzScreen->currentMode.ref)
+ CFRelease(pQuartzScreen->currentMode.ref);
+ pQuartzScreen->currentMode = *pMode;
+ CFRetain(pQuartzScreen->currentMode.ref);
+
+ return TRUE;
+}
+
+static int QuartzRandRSetModeCallback (ScreenPtr pScreen,
+ QuartzModeInfoPtr pMode,
+ void *data) {
+ QuartzModeInfoPtr pReqMode = (QuartzModeInfoPtr) data;
+
+ if (!QuartzRandRModesEqual(pMode, pReqMode))
+ return CALLBACK_CONTINUE; /* continue enumeration */
+
+ DEBUG_LOG("Found a match for requested RandR resolution (%dx%d@%d).\n", (int)pMode->width, (int)pMode->height, (int)pMode->refresh);
+
+ if(QuartzRandRSetMode(pScreen, pMode, FALSE))
+ return CALLBACK_SUCCESS;
+ else
+ return CALLBACK_ERROR;
+}
+
+static Bool QuartzRandRGetInfo (ScreenPtr pScreen, Rotation *rotations) {
+ QuartzScreenPtr pQuartzScreen = QUARTZ_PRIV(pScreen);
+
+ *rotations = RR_Rotate_0; /* TODO: support rotation */
+
+ if (pQuartzScreen->displayCount == 0)
+ return FALSE;
+
+ if (pQuartzScreen->displayCount > 1) {
+ /* RandR operations are not well-defined for an X11 screen spanning
+ multiple CG displays. Create two entries for the current virtual
+ resolution including/excluding the menu bar. */
+
+ QuartzRandRRegisterMode(pScreen, &pQuartzScreen->rootlessMode);
+ QuartzRandRRegisterMode(pScreen, &pQuartzScreen->fullscreenMode);
+ return TRUE;
+ }
+
+ return QuartzRandREnumerateModes(pScreen, QuartzRandRRegisterModeCallback, NULL);
+}
+
+static Bool QuartzRandRSetConfig (ScreenPtr pScreen,
+ Rotation randr,
+ int rate,
+ RRScreenSizePtr pSize) {
+ QuartzScreenPtr pQuartzScreen = QUARTZ_PRIV(pScreen);
+ QuartzModeInfo reqMode;
+
+ reqMode.width = pSize->width;
+ reqMode.height = pSize->height;
+ reqMode.refresh = rate;
+
+ if (pQuartzScreen->displayCount == 0)
+ return FALSE;
+
+ /* Do not switch modes if requested mode is equal to current mode. */
+ if (QuartzRandRModesEqual(&reqMode, &pQuartzScreen->currentMode))
+ return TRUE;
+
+ if (QuartzRandREnumerateModes(pScreen, QuartzRandRSetModeCallback, &reqMode)) {
+ return TRUE;
+ }
+
+ DEBUG_LOG("Unable to find a matching config: %d x %d @ %d\n", (int)reqMode.width, (int)reqMode.height, (int)reqMode.refresh);
+ return FALSE;
+}
+
+static Bool _QuartzRandRUpdateFakeModes (ScreenPtr pScreen) {
+ QuartzScreenPtr pQuartzScreen = QUARTZ_PRIV(pScreen);
+
+ if (pQuartzScreen->displayCount == 1) {
+ if(pQuartzScreen->fullscreenMode.ref)
+ CFRelease(pQuartzScreen->fullscreenMode.ref);
+ if(pQuartzScreen->currentMode.ref)
+ CFRelease(pQuartzScreen->currentMode.ref);
+
+ if (!QuartzRandRCopyCurrentModeInfo(pQuartzScreen->displayIDs[0],
+ &pQuartzScreen->fullscreenMode))
+ return FALSE;
+
+ CFRetain(pQuartzScreen->fullscreenMode.ref); /* This extra retain is for currentMode's copy */
+ } else {
+ pQuartzScreen->fullscreenMode.width = pScreen->width;
+ pQuartzScreen->fullscreenMode.height = pScreen->height;
+ if(XQuartzIsRootless)
+ pQuartzScreen->fullscreenMode.height += aquaMenuBarHeight;
+ }
+
+ pQuartzScreen->fullscreenMode.refresh = FAKE_REFRESH_FULLSCREEN;
+
+ pQuartzScreen->rootlessMode = pQuartzScreen->fullscreenMode;
+ pQuartzScreen->rootlessMode.refresh = FAKE_REFRESH_ROOTLESS;
+ pQuartzScreen->rootlessMode.height -= aquaMenuBarHeight;
+
+ if(XQuartzIsRootless) {
+ pQuartzScreen->currentMode = pQuartzScreen->rootlessMode;
+ } else {
+ pQuartzScreen->currentMode = pQuartzScreen->fullscreenMode;
+ }
+
+ DEBUG_LOG("rootlessMode: %d x %d\n", (int)pQuartzScreen->rootlessMode.width, (int)pQuartzScreen->rootlessMode.height);
+ DEBUG_LOG("fullscreenMode: %d x %d\n", (int)pQuartzScreen->fullscreenMode.width, (int)pQuartzScreen->fullscreenMode.height);
+ DEBUG_LOG("currentMode: %d x %d\n", (int)pQuartzScreen->currentMode.width, (int)pQuartzScreen->currentMode.height);
+
+ return TRUE;
+}
+
+Bool QuartzRandRUpdateFakeModes (BOOL force_update) {
+ ScreenPtr pScreen = screenInfo.screens[0];
+
+ if(ignore_next_fake_mode_update) {
+ DEBUG_LOG("Ignoring update request caused by RandR resolution change.\n");
+ ignore_next_fake_mode_update = FALSE;
+ return TRUE;
+ }
+
+ if(!_QuartzRandRUpdateFakeModes(pScreen))
+ return FALSE;
+
+ if(force_update)
+ RRGetInfo(pScreen, TRUE);
+
+ return TRUE;
+}
+
+Bool QuartzRandRInit (ScreenPtr pScreen) {
+ rrScrPrivPtr pScrPriv;
+
+ if (!RRScreenInit (pScreen)) return FALSE;
+ if (!_QuartzRandRUpdateFakeModes (pScreen)) return FALSE;
+
+ pScrPriv = rrGetScrPriv(pScreen);
+ pScrPriv->rrGetInfo = QuartzRandRGetInfo;
+ pScrPriv->rrSetConfig = QuartzRandRSetConfig;
+ return TRUE;
+}
+
+void QuartzRandRSetFakeRootless (void) {
+ int i;
+
+ DEBUG_LOG("QuartzRandRSetFakeRootless called.\n");
+
+ for (i=0; i < screenInfo.numScreens; i++) {
+ ScreenPtr pScreen = screenInfo.screens[i];
+ QuartzScreenPtr pQuartzScreen = QUARTZ_PRIV(pScreen);
+
+ QuartzRandRSetMode(pScreen, &pQuartzScreen->rootlessMode, TRUE);
+ }
+}
+
+void QuartzRandRSetFakeFullscreen (BOOL state) {
+ int i;
+
+ DEBUG_LOG("QuartzRandRSetFakeFullscreen called.\n");
+
+ for (i=0; i < screenInfo.numScreens; i++) {
+ ScreenPtr pScreen = screenInfo.screens[i];
+ QuartzScreenPtr pQuartzScreen = QUARTZ_PRIV(pScreen);
+
+ QuartzRandRSetMode(pScreen, &pQuartzScreen->fullscreenMode, TRUE);
+ }
+
+ QuartzShowFullscreen(state);
+}
+
+/* Toggle fullscreen mode. If "fake" fullscreen is the current mode,
+ * this will just show/hide the X11 windows. If we are in a RandR fullscreen
+ * mode, this will toggles us to the default fake mode and hide windows if
+ * it is fullscreen
+ */
+void QuartzRandRToggleFullscreen (void) {
+ ScreenPtr pScreen = screenInfo.screens[0];
+ QuartzScreenPtr pQuartzScreen = QUARTZ_PRIV(pScreen);
+
+ if (pQuartzScreen->currentMode.ref == NULL) {
+ ErrorF("Ignoring QuartzRandRToggleFullscreen because don't have a current mode set.\n");
+ } else if (pQuartzScreen->currentMode.refresh == FAKE_REFRESH_ROOTLESS) {
+ ErrorF("Ignoring QuartzRandRToggleFullscreen because we are in rootless mode.\n");
+ } else if (pQuartzScreen->currentMode.refresh == FAKE_REFRESH_FULLSCREEN) {
+ /* Legacy fullscreen mode. Hide/Show */
+ QuartzShowFullscreen(!XQuartzFullscreenVisible);
+ } else {
+ /* RandR fullscreen mode. Return to default mode and hide if it is fullscreen. */
+ if(XQuartzRootlessDefault) {
+ QuartzRandRSetFakeRootless();
+ } else {
+ QuartzRandRSetFakeFullscreen(FALSE);
+ }
+ }
+}
diff --git a/xorg-server/hw/xquartz/quartzRandR.h b/xorg-server/hw/xquartz/quartzRandR.h
new file mode 100644
index 000000000..ce7f055d1
--- /dev/null
+++ b/xorg-server/hw/xquartz/quartzRandR.h
@@ -0,0 +1,80 @@
+/*
+ * quartzRandR.h
+ *
+ * Copyright (c) 2010 Jan Hauffa.
+ * 2010 Apple Inc.
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written authorization.
+ */
+
+#ifndef _QUARTZRANDR_H_
+#define _QUARTZRANDR_H_
+
+#include "randrstr.h"
+
+typedef struct {
+ size_t width, height;
+ int refresh;
+ RRScreenSizePtr pSize;
+ void *ref; /* CGDisplayModeRef or CFDictionaryRef */
+} QuartzModeInfo, *QuartzModeInfoPtr;
+
+// Quartz specific per screen storage structure
+typedef struct {
+ // List of CoreGraphics displays that this X11 screen covers.
+ // This is more than one CG display for video mirroring and
+ // rootless PseudoramiX mode.
+ // No CG display will be covered by more than one X11 screen.
+ int displayCount;
+ CGDirectDisplayID *displayIDs;
+ QuartzModeInfo rootlessMode, fullscreenMode, currentMode;
+} QuartzScreenRec, *QuartzScreenPtr;
+
+#define QUARTZ_PRIV(pScreen) \
+ ((QuartzScreenPtr)dixLookupPrivate(&pScreen->devPrivates, quartzScreenKey))
+
+void QuartzCopyDisplayIDs(ScreenPtr pScreen,
+ int displayCount, CGDirectDisplayID *displayIDs);
+
+Bool QuartzRandRUpdateFakeModes (BOOL force_update);
+Bool QuartzRandRInit (ScreenPtr pScreen);
+
+/* These two functions provide functionality expected by the legacy
+ * mode switching. They are equivalent to a client requesting one
+ * of the modes corresponding to these "fake" modes.
+ * QuartzRandRSetFakeFullscreen takes an argument which is used to determine
+ * the visibility of the windows after the change.
+ */
+void QuartzRandRSetFakeRootless (void);
+void QuartzRandRSetFakeFullscreen (BOOL state);
+
+
+/* Toggle fullscreen mode. If "fake" fullscreen is the current mode,
+ * this will just show/hide the X11 windows. If we are in a RandR fullscreen
+ * mode, this will toggles us to the default fake mode and hide windows if
+ * it is fullscreen
+ */
+void QuartzRandRToggleFullscreen (void);
+
+#endif
diff --git a/xorg-server/hw/xquartz/xpr/appledri.c b/xorg-server/hw/xquartz/xpr/appledri.c
index 1fceb525c..d42661c22 100644
--- a/xorg-server/hw/xquartz/xpr/appledri.c
+++ b/xorg-server/hw/xquartz/xpr/appledri.c
@@ -59,8 +59,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
static int DRIErrorBase = 0;
-static DISPATCH_PROC(ProcAppleDRIDispatch);
-static DISPATCH_PROC(SProcAppleDRIDispatch);
static void AppleDRIResetProc(ExtensionEntry* extEntry);
static int ProcAppleDRICreatePixmap(ClientPtr client);
@@ -78,27 +76,6 @@ typedef struct _DRIEvent {
unsigned int mask;
} DRIEventRec;
-
-void
-AppleDRIExtensionInit(void)
-{
- ExtensionEntry* extEntry;
-
- if (DRIExtensionInit() &&
- (extEntry = AddExtension(APPLEDRINAME,
- AppleDRINumberEvents,
- AppleDRINumberErrors,
- ProcAppleDRIDispatch,
- SProcAppleDRIDispatch,
- AppleDRIResetProc,
- StandardMinorOpcode))) {
- DRIReqCode = (unsigned char)extEntry->base;
- DRIErrorBase = extEntry->errorBase;
- DRIEventBase = extEntry->eventBase;
- EventSwapVector[DRIEventBase] = (EventSwapPtr) SNotifyEvent;
- }
-}
-
/*ARGSUSED*/
static void
AppleDRIResetProc (
@@ -421,3 +398,23 @@ SProcAppleDRIDispatch (
return BadRequest;
}
}
+
+void
+AppleDRIExtensionInit(void)
+{
+ ExtensionEntry* extEntry;
+
+ if (DRIExtensionInit() &&
+ (extEntry = AddExtension(APPLEDRINAME,
+ AppleDRINumberEvents,
+ AppleDRINumberErrors,
+ ProcAppleDRIDispatch,
+ SProcAppleDRIDispatch,
+ AppleDRIResetProc,
+ StandardMinorOpcode))) {
+ DRIReqCode = (unsigned char)extEntry->base;
+ DRIErrorBase = extEntry->errorBase;
+ DRIEventBase = extEntry->eventBase;
+ EventSwapVector[DRIEventBase] = (EventSwapPtr) SNotifyEvent;
+ }
+}
diff --git a/xorg-server/hw/xquartz/xpr/xprAppleWM.c b/xorg-server/hw/xquartz/xpr/xprAppleWM.c
index 4b31e3a11..59ce6375e 100644
--- a/xorg-server/hw/xquartz/xpr/xprAppleWM.c
+++ b/xorg-server/hw/xquartz/xpr/xprAppleWM.c
@@ -1,160 +1,160 @@
-/*
- * Xplugin rootless implementation functions for AppleWM extension
- *
- * Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
- * Copyright (c) 2003 Torrey T. Lyons. All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Except as contained in this notice, the name(s) of the above copyright
- * holders shall not be used in advertising or otherwise to promote the sale,
- * use or other dealings in this Software without prior written authorization.
- */
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include "xpr.h"
-
-#include <X11/extensions/applewmproto.h>
-
-#include "applewmExt.h"
-#include "rootless.h"
-#include "rootlessCommon.h"
-#include <Xplugin.h>
-#include <X11/X.h>
-#include "quartz.h"
-#include "x-hash.h"
-
-static int xprSetWindowLevel(
- WindowPtr pWin,
- int level)
-{
- xp_window_id wid;
- xp_window_changes wc;
- RootlessWindowRec *winRec;
-
- // AppleWMNumWindowLevels is allowed, but is only set by the server
- // for the root window.
- if (level < 0 || level >= AppleWMNumWindowLevels) {
- return BadValue;
- }
-
- wid = x_cvt_vptr_to_uint(RootlessFrameForWindow (pWin, TRUE));
- if (wid == 0)
- return BadWindow;
-
- RootlessStopDrawing (pWin, FALSE);
- winRec = WINREC(pWin);
-
- if(!winRec)
- return BadWindow;
-
- if(quartzEnableRootless)
- wc.window_level = normal_window_levels[level];
- else
- wc.window_level = rooted_window_levels[level];
-
- if (xp_configure_window (wid, XP_WINDOW_LEVEL, &wc) != Success) {
- return BadValue;
- }
-
- winRec->level = level;
-
- return Success;
-}
-
-#if defined(XPLUGIN_VERSION) && XPLUGIN_VERSION >= 3
-static int xprAttachTransient(WindowPtr pWinChild, WindowPtr pWinParent) {
- xp_window_id child_wid, parent_wid;
- xp_window_changes wc;
-
- child_wid = x_cvt_vptr_to_uint(RootlessFrameForWindow(pWinChild, TRUE));
- if (child_wid == 0)
- return BadWindow;
-
- if(pWinParent) {
- parent_wid = x_cvt_vptr_to_uint(RootlessFrameForWindow(pWinParent, TRUE));
- if (parent_wid == 0)
- return BadWindow;
- } else {
- parent_wid = 0;
- }
-
- wc.transient_for = parent_wid;
-
- RootlessStopDrawing (pWinChild, FALSE);
-
- if (xp_configure_window(child_wid, XP_ATTACH_TRANSIENT, &wc) != Success) {
- return BadValue;
- }
-
- return Success;
-}
-#endif
-
-static int xprFrameDraw(
- WindowPtr pWin,
- int class,
- unsigned int attr,
- const BoxRec *outer,
- const BoxRec *inner,
- unsigned int title_len,
- const unsigned char *title_bytes)
-{
- xp_window_id wid;
-
- wid = x_cvt_vptr_to_uint(RootlessFrameForWindow (pWin, FALSE));
- if (wid == 0)
- return BadWindow;
-
- if (xp_frame_draw (wid, class, attr, outer, inner,
- title_len, title_bytes) != Success)
- {
- return BadValue;
- }
-
- return Success;
-}
-
-static AppleWMProcsRec xprAppleWMProcs = {
- xp_disable_update,
- xp_reenable_update,
- xprSetWindowLevel,
- xp_frame_get_rect,
- xp_frame_hit_test,
- xprFrameDraw,
-#if defined(XPLUGIN_VERSION) && XPLUGIN_VERSION >= 3
- xp_set_dock_proxy,
- xprAttachTransient
-#elif defined(XPLUGIN_VERSION) && XPLUGIN_VERSION >= 2
- xp_set_dock_proxy,
- NULL
-#else
- NULL,
- NULL
-#endif
-};
-
-
-void xprAppleWMInit(void)
-{
- AppleWMExtensionInit(&xprAppleWMProcs);
-}
+/*
+ * Xplugin rootless implementation functions for AppleWM extension
+ *
+ * Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2003 Torrey T. Lyons. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written authorization.
+ */
+
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#endif
+
+#include "xpr.h"
+
+#include <X11/extensions/applewmproto.h>
+
+#include "applewmExt.h"
+#include "rootless.h"
+#include "rootlessCommon.h"
+#include <Xplugin.h>
+#include <X11/X.h>
+#include "quartz.h"
+#include "x-hash.h"
+
+static int xprSetWindowLevel(
+ WindowPtr pWin,
+ int level)
+{
+ xp_window_id wid;
+ xp_window_changes wc;
+ RootlessWindowRec *winRec;
+
+ // AppleWMNumWindowLevels is allowed, but is only set by the server
+ // for the root window.
+ if (level < 0 || level >= AppleWMNumWindowLevels) {
+ return BadValue;
+ }
+
+ wid = x_cvt_vptr_to_uint(RootlessFrameForWindow (pWin, TRUE));
+ if (wid == 0)
+ return BadWindow;
+
+ RootlessStopDrawing (pWin, FALSE);
+ winRec = WINREC(pWin);
+
+ if(!winRec)
+ return BadWindow;
+
+ if(XQuartzIsRootless)
+ wc.window_level = normal_window_levels[level];
+ else
+ wc.window_level = rooted_window_levels[level];
+
+ if (xp_configure_window (wid, XP_WINDOW_LEVEL, &wc) != Success) {
+ return BadValue;
+ }
+
+ winRec->level = level;
+
+ return Success;
+}
+
+#if defined(XPLUGIN_VERSION) && XPLUGIN_VERSION >= 3
+static int xprAttachTransient(WindowPtr pWinChild, WindowPtr pWinParent) {
+ xp_window_id child_wid, parent_wid;
+ xp_window_changes wc;
+
+ child_wid = x_cvt_vptr_to_uint(RootlessFrameForWindow(pWinChild, TRUE));
+ if (child_wid == 0)
+ return BadWindow;
+
+ if(pWinParent) {
+ parent_wid = x_cvt_vptr_to_uint(RootlessFrameForWindow(pWinParent, TRUE));
+ if (parent_wid == 0)
+ return BadWindow;
+ } else {
+ parent_wid = 0;
+ }
+
+ wc.transient_for = parent_wid;
+
+ RootlessStopDrawing (pWinChild, FALSE);
+
+ if (xp_configure_window(child_wid, XP_ATTACH_TRANSIENT, &wc) != Success) {
+ return BadValue;
+ }
+
+ return Success;
+}
+#endif
+
+static int xprFrameDraw(
+ WindowPtr pWin,
+ int class,
+ unsigned int attr,
+ const BoxRec *outer,
+ const BoxRec *inner,
+ unsigned int title_len,
+ const unsigned char *title_bytes)
+{
+ xp_window_id wid;
+
+ wid = x_cvt_vptr_to_uint(RootlessFrameForWindow (pWin, FALSE));
+ if (wid == 0)
+ return BadWindow;
+
+ if (xp_frame_draw (wid, class, attr, outer, inner,
+ title_len, title_bytes) != Success)
+ {
+ return BadValue;
+ }
+
+ return Success;
+}
+
+static AppleWMProcsRec xprAppleWMProcs = {
+ xp_disable_update,
+ xp_reenable_update,
+ xprSetWindowLevel,
+ xp_frame_get_rect,
+ xp_frame_hit_test,
+ xprFrameDraw,
+#if defined(XPLUGIN_VERSION) && XPLUGIN_VERSION >= 3
+ xp_set_dock_proxy,
+ xprAttachTransient
+#elif defined(XPLUGIN_VERSION) && XPLUGIN_VERSION >= 2
+ xp_set_dock_proxy,
+ NULL
+#else
+ NULL,
+ NULL
+#endif
+};
+
+
+void xprAppleWMInit(void)
+{
+ AppleWMExtensionInit(&xprAppleWMProcs);
+}
diff --git a/xorg-server/hw/xquartz/xpr/xprCursor.c b/xorg-server/hw/xquartz/xpr/xprCursor.c
index 07dd5c8fb..4a789cef4 100644
--- a/xorg-server/hw/xquartz/xpr/xprCursor.c
+++ b/xorg-server/hw/xquartz/xpr/xprCursor.c
@@ -35,7 +35,7 @@
#include <dix-config.h>
#endif
-#include "quartzCommon.h"
+#include "quartz.h"
#include "xpr.h"
#include "darwin.h"
#include "darwinEvents.h"
@@ -226,7 +226,7 @@ QuartzSetCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor, int x,
{
QuartzCursorScreenPtr ScreenPriv = CURSOR_PRIV(pScreen);
- if (!quartzServerVisible)
+ if (!XQuartzServerVisible)
return;
if (pCursor == NULL)
@@ -295,7 +295,7 @@ QuartzCrossScreen(ScreenPtr pScreen, Bool entering)
static void
QuartzWarpCursor(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y)
{
- if (quartzServerVisible)
+ if (XQuartzServerVisible)
{
int sx, sy;
diff --git a/xorg-server/hw/xquartz/xpr/xprFrame.c b/xorg-server/hw/xquartz/xpr/xprFrame.c
index 121f1de3d..fecae5a1b 100644
--- a/xorg-server/hw/xquartz/xpr/xprFrame.c
+++ b/xorg-server/hw/xquartz/xpr/xprFrame.c
@@ -171,7 +171,7 @@ xprCreateFrame(RootlessWindowPtr pFrame, ScreenPtr pScreen,
pFrame->level = !IsRoot (pWin) ? AppleWMWindowLevelNormal : AppleWMNumWindowLevels;
- if(quartzEnableRootless)
+ if(XQuartzIsRootless)
wc.window_level = normal_window_levels[pFrame->level];
else
wc.window_level = rooted_window_levels[pFrame->level];
@@ -285,7 +285,7 @@ static void xprRestackFrame(RootlessFrameID wid, RootlessFrameID nextWid) {
RootlessWindowRec *winRec = x_hash_table_lookup(window_hash, wid, NULL);
if(winRec) {
- if(quartzEnableRootless)
+ if(XQuartzIsRootless)
wc.window_level = normal_window_levels[winRec->level];
else
wc.window_level = rooted_window_levels[winRec->level];
diff --git a/xorg-server/hw/xquartz/xpr/xprScreen.c b/xorg-server/hw/xquartz/xpr/xprScreen.c
index 260bfee89..bd877d97c 100644
--- a/xorg-server/hw/xquartz/xpr/xprScreen.c
+++ b/xorg-server/hw/xquartz/xpr/xprScreen.c
@@ -36,6 +36,7 @@
#include "quartzCommon.h"
#include "inputstr.h"
#include "quartz.h"
+#include "quartzRandR.h"
#include "xpr.h"
#include "xprEvent.h"
#include "pseudoramiX.h"
@@ -157,7 +158,7 @@ displayScreenBounds(CGDirectDisplayID id)
(int)frame.origin.x, (int)frame.origin.y);
/* Remove menubar to help standard X11 window managers. */
- if (quartzEnableRootless &&
+ if (XQuartzIsRootless &&
frame.origin.x == 0 && frame.origin.y == 0) {
frame.origin.y += aquaMenuBarHeight;
frame.size.height -= aquaMenuBarHeight;
@@ -176,7 +177,7 @@ displayScreenBounds(CGDirectDisplayID id)
* with PseudoramiX.
*/
static void
-xprAddPseudoramiXScreens(int *x, int *y, int *width, int *height)
+xprAddPseudoramiXScreens(int *x, int *y, int *width, int *height, ScreenPtr pScreen)
{
CGDisplayCount i, displayCount;
CGDirectDisplayID *displayList = NULL;
@@ -199,6 +200,7 @@ xprAddPseudoramiXScreens(int *x, int *y, int *width, int *height)
if(!displayList)
FatalError("Unable to allocate memory for list of displays.\n");
CGGetActiveDisplayList(displayCount, displayList, &displayCount);
+ QuartzCopyDisplayIDs(pScreen, displayCount, displayList);
/* Get the union of all screens */
for (i = 0; i < displayCount; i++) {
@@ -272,7 +274,8 @@ xprDisplayInit(void)
AppleDRIExtensionInit();
xprAppleWMInit();
- if (!quartzEnableRootless)
+ XQuartzIsRootless = XQuartzRootlessDefault;
+ if (!XQuartzIsRootless)
RootlessHideAllWindows();
}
@@ -336,6 +339,7 @@ xprAddScreen(int index, ScreenPtr pScreen)
ErrorF("Warning: noPseudoramiXExtension!\n");
dpy = displayAtIndex(index);
+ QuartzCopyDisplayIDs(pScreen, 1, &dpy);
frame = displayScreenBounds(dpy);
@@ -346,7 +350,7 @@ xprAddScreen(int index, ScreenPtr pScreen)
}
else
{
- xprAddPseudoramiXScreens(&dfb->x, &dfb->y, &dfb->width, &dfb->height);
+ xprAddPseudoramiXScreens(&dfb->x, &dfb->y, &dfb->width, &dfb->height, pScreen);
}
/* Passing zero width (pitch) makes miCreateScreenResources set the
diff --git a/xorg-server/hw/xwin/InitInput.c b/xorg-server/hw/xwin/InitInput.c
index 7d886a9fc..8740319cf 100644
--- a/xorg-server/hw/xwin/InitInput.c
+++ b/xorg-server/hw/xwin/InitInput.c
@@ -1,168 +1,168 @@
-/*
-
- Copyright 1993, 1998 The Open Group
-
- Permission to use, copy, modify, distribute, and sell this software and its
- documentation for any purpose is hereby granted without fee, provided that
- the above copyright notice appear in all copies and that both that
- copyright notice and this permission notice appear in supporting
- documentation.
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
- OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- OTHER DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the name of The Open Group shall
- not be used in advertising or otherwise to promote the sale, use or
- other dealings in this Software without prior written authorization
- from The Open Group.
-
-*/
-
-#ifdef HAVE_XWIN_CONFIG_H
-#include <xwin-config.h>
-#endif
-#include "win.h"
-#include "dixstruct.h"
-#include "inputstr.h"
-#include <unistd.h>
-
-/*
- * Local function prototypes
- */
-
-#ifdef XWIN_CLIPBOARD
-DISPATCH_PROC(winProcEstablishConnection);
-DISPATCH_PROC(winProcQueryTree);
-DISPATCH_PROC(winProcSetSelectionOwner);
-#endif
-
-
-/*
- * Local global declarations
- */
-
-DeviceIntPtr g_pwinPointer;
-DeviceIntPtr g_pwinKeyboard;
-
-
-/*
- * References to external symbols
- */
-
-#ifdef HAS_DEVWINDOWS
-extern int g_fdMessageQueue;
-#endif
-extern Bool g_fXdmcpEnabled;
-#ifdef XWIN_CLIPBOARD
-extern winDispatchProcPtr winProcEstablishConnectionOrig;
-extern winDispatchProcPtr winProcQueryTreeOrig;
-#endif
-
-
-/* Called from dix/devices.c */
-/*
- * All of our keys generate up and down transition notifications,
- * so all of our keys can be used as modifiers.
- *
- * An example of a modifier is mapping the A key to the Control key.
- * A has to be a legal modifier. I think.
- */
-
-Bool
-LegalModifier (unsigned int uiKey, DeviceIntPtr pDevice)
-{
- return TRUE;
-}
-
-
-/* Called from dix/dispatch.c */
-/*
- * Run through the Windows message queue(s) one more time.
- * Tell mi to dequeue the events that we have sent it.
- */
-void
-ProcessInputEvents (void)
-{
- mieqProcessInputEvents ();
-}
-
-
-void DDXRingBell(int volume, int pitch, int duration)
-{
- /* winKeybdBell is used instead */
- return;
-}
-
-
-/* See Porting Layer Definition - p. 17 */
-void
-InitInput (int argc, char *argv[])
-{
- winDebug ("InitInput\n");
-
-#ifdef XWIN_CLIPBOARD
- /*
- * Wrap some functions at every generation of the server.
- */
- if (InitialVector[2] != winProcEstablishConnection)
- {
- winProcEstablishConnectionOrig = InitialVector[2];
- InitialVector[2] = winProcEstablishConnection;
- }
- if (g_fXdmcpEnabled
- && ProcVector[X_QueryTree] != winProcQueryTree)
- {
- winProcQueryTreeOrig = ProcVector[X_QueryTree];
- ProcVector[X_QueryTree] = winProcQueryTree;
- }
-#endif
-
- g_pwinPointer = AddInputDevice (serverClient, winMouseProc, TRUE);
- g_pwinKeyboard = AddInputDevice (serverClient, winKeybdProc, TRUE);
-
- RegisterPointerDevice (g_pwinPointer);
- RegisterKeyboardDevice (g_pwinKeyboard);
-
- g_pwinPointer->name = strdup("Windows mouse");
- g_pwinKeyboard->name = strdup("Windows keyboard");
-
- mieqInit ();
-
- /* Initialize the mode key states */
- winInitializeModeKeyStates ();
-
-#ifdef HAS_DEVWINDOWS
- /* Only open the windows message queue device once */
- if (g_fdMessageQueue == WIN_FD_INVALID)
- {
- /* Open a file descriptor for the Windows message queue */
- g_fdMessageQueue = open (WIN_MSG_QUEUE_FNAME, O_RDONLY);
-
- if (g_fdMessageQueue == -1)
- {
- FatalError ("InitInput - Failed opening %s\n",
- WIN_MSG_QUEUE_FNAME);
- }
-
- /* Add the message queue as a device to wait for in WaitForSomething */
- AddEnabledDevice (g_fdMessageQueue);
- }
-#endif
-
- winDebug ("InitInput - returning\n");
-}
-
-void
-CloseInput (void)
-{
- g_pwinPointer=NULL;
- g_pwinKeyboard=NULL;
-}
+/*
+
+ Copyright 1993, 1998 The Open Group
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation.
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the name of The Open Group shall
+ not be used in advertising or otherwise to promote the sale, use or
+ other dealings in this Software without prior written authorization
+ from The Open Group.
+
+*/
+
+#ifdef HAVE_XWIN_CONFIG_H
+#include <xwin-config.h>
+#endif
+#include "win.h"
+#include "dixstruct.h"
+#include "inputstr.h"
+#include <unistd.h>
+
+/*
+ * Local function prototypes
+ */
+
+#ifdef XWIN_CLIPBOARD
+int winProcEstablishConnection(ClientPtr /* client */);
+int winProcQueryTree(ClientPtr /* client */);
+int winProcSetSelectionOwner(ClientPtr /* client */);
+#endif
+
+
+/*
+ * Local global declarations
+ */
+
+DeviceIntPtr g_pwinPointer;
+DeviceIntPtr g_pwinKeyboard;
+
+
+/*
+ * References to external symbols
+ */
+
+#ifdef HAS_DEVWINDOWS
+extern int g_fdMessageQueue;
+#endif
+extern Bool g_fXdmcpEnabled;
+#ifdef XWIN_CLIPBOARD
+extern winDispatchProcPtr winProcEstablishConnectionOrig;
+extern winDispatchProcPtr winProcQueryTreeOrig;
+#endif
+
+
+/* Called from dix/devices.c */
+/*
+ * All of our keys generate up and down transition notifications,
+ * so all of our keys can be used as modifiers.
+ *
+ * An example of a modifier is mapping the A key to the Control key.
+ * A has to be a legal modifier. I think.
+ */
+
+Bool
+LegalModifier (unsigned int uiKey, DeviceIntPtr pDevice)
+{
+ return TRUE;
+}
+
+
+/* Called from dix/dispatch.c */
+/*
+ * Run through the Windows message queue(s) one more time.
+ * Tell mi to dequeue the events that we have sent it.
+ */
+void
+ProcessInputEvents (void)
+{
+ mieqProcessInputEvents ();
+}
+
+
+void DDXRingBell(int volume, int pitch, int duration)
+{
+ /* winKeybdBell is used instead */
+ return;
+}
+
+
+/* See Porting Layer Definition - p. 17 */
+void
+InitInput (int argc, char *argv[])
+{
+ winDebug ("InitInput\n");
+
+#ifdef XWIN_CLIPBOARD
+ /*
+ * Wrap some functions at every generation of the server.
+ */
+ if (InitialVector[2] != winProcEstablishConnection)
+ {
+ winProcEstablishConnectionOrig = InitialVector[2];
+ InitialVector[2] = winProcEstablishConnection;
+ }
+ if (g_fXdmcpEnabled
+ && ProcVector[X_QueryTree] != winProcQueryTree)
+ {
+ winProcQueryTreeOrig = ProcVector[X_QueryTree];
+ ProcVector[X_QueryTree] = winProcQueryTree;
+ }
+#endif
+
+ g_pwinPointer = AddInputDevice (serverClient, winMouseProc, TRUE);
+ g_pwinKeyboard = AddInputDevice (serverClient, winKeybdProc, TRUE);
+
+ RegisterPointerDevice (g_pwinPointer);
+ RegisterKeyboardDevice (g_pwinKeyboard);
+
+ g_pwinPointer->name = strdup("Windows mouse");
+ g_pwinKeyboard->name = strdup("Windows keyboard");
+
+ mieqInit ();
+
+ /* Initialize the mode key states */
+ winInitializeModeKeyStates ();
+
+#ifdef HAS_DEVWINDOWS
+ /* Only open the windows message queue device once */
+ if (g_fdMessageQueue == WIN_FD_INVALID)
+ {
+ /* Open a file descriptor for the Windows message queue */
+ g_fdMessageQueue = open (WIN_MSG_QUEUE_FNAME, O_RDONLY);
+
+ if (g_fdMessageQueue == -1)
+ {
+ FatalError ("InitInput - Failed opening %s\n",
+ WIN_MSG_QUEUE_FNAME);
+ }
+
+ /* Add the message queue as a device to wait for in WaitForSomething */
+ AddEnabledDevice (g_fdMessageQueue);
+ }
+#endif
+
+ winDebug ("InitInput - returning\n");
+}
+
+void
+CloseInput (void)
+{
+ g_pwinPointer=NULL;
+ g_pwinKeyboard=NULL;
+}
diff --git a/xorg-server/hw/xwin/winclipboardinit.c b/xorg-server/hw/xwin/winclipboardinit.c
index d451314fb..802b12fed 100644
--- a/xorg-server/hw/xwin/winclipboardinit.c
+++ b/xorg-server/hw/xwin/winclipboardinit.c
@@ -1,145 +1,145 @@
-/*
- *Copyright (C) 2003-2004 Harold L Hunt II All Rights Reserved.
- *
- *Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the
- *"Software"), to deal in the Software without restriction, including
- *without limitation the rights to use, copy, modify, merge, publish,
- *distribute, sublicense, and/or sell copies of the Software, and to
- *permit persons to whom the Software is furnished to do so, subject to
- *the following conditions:
- *
- *The above copyright notice and this permission notice shall be
- *included in all copies or substantial portions of the Software.
- *
- *THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- *EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- *MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- *NONINFRINGEMENT. IN NO EVENT SHALL HAROLD L HUNT II BE LIABLE FOR
- *ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- *CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- *WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- *Except as contained in this notice, the name of Harold L Hunt II
- *shall not be used in advertising or otherwise to promote the sale, use
- *or other dealings in this Software without prior written authorization
- *from Harold L Hunt II.
- *
- * Authors: Harold L Hunt II
- */
-
-#ifdef HAVE_XWIN_CONFIG_H
-#include <xwin-config.h>
-#endif
-#include "dixstruct.h"
-#include "winclipboard.h"
-
-
-/*
- * Local typedefs
- */
-
-typedef int (*winDispatchProcPtr) (ClientPtr);
-
-DISPATCH_PROC(winProcSetSelectionOwner);
-
-
-/*
- * References to external symbols
- */
-
-extern pthread_t g_ptClipboardProc;
-extern winDispatchProcPtr winProcSetSelectionOwnerOrig;
-extern Bool g_fClipboard;
-extern HWND g_hwndClipboard;
-
-
-/*
- * Intialize the Clipboard module
- */
-
-Bool
-winInitClipboard (void)
-{
- winDebug ("winInitClipboard ()\n");
-
- /* Wrap some internal server functions */
- if (ProcVector[X_SetSelectionOwner] != winProcSetSelectionOwner)
- {
- winProcSetSelectionOwnerOrig = ProcVector[X_SetSelectionOwner];
- ProcVector[X_SetSelectionOwner] = winProcSetSelectionOwner;
- }
-
- /* Spawn a thread for the Clipboard module */
- if (pthread_create (&g_ptClipboardProc,
- NULL,
- winClipboardProc,
- NULL))
- {
- /* Bail if thread creation failed */
- ErrorF ("winInitClipboard - pthread_create failed.\n");
- return FALSE;
- }
-
- return TRUE;
-}
-
-
-/*
- * Create the Windows window that we use to recieve Windows messages
- */
-
-HWND
-winClipboardCreateMessagingWindow (void)
-{
- WNDCLASSEX wc;
- HWND hwnd;
-
- /* Setup our window class */
- wc.cbSize=sizeof(WNDCLASSEX);
- wc.style = CS_HREDRAW | CS_VREDRAW;
- wc.lpfnWndProc = winClipboardWindowProc;
- wc.cbClsExtra = 0;
- wc.cbWndExtra = 0;
- wc.hInstance = GetModuleHandle (NULL);
- wc.hIcon = 0;
- wc.hCursor = 0;
- wc.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH);
- wc.lpszMenuName = NULL;
- wc.lpszClassName = WIN_CLIPBOARD_WINDOW_CLASS;
- wc.hIconSm = 0;
- RegisterClassEx (&wc);
-
- /* Create the window */
- hwnd = CreateWindowExA (0, /* Extended styles */
- WIN_CLIPBOARD_WINDOW_CLASS,/* Class name */
- WIN_CLIPBOARD_WINDOW_TITLE,/* Window name */
- WS_OVERLAPPED, /* Not visible anyway */
- CW_USEDEFAULT, /* Horizontal position */
- CW_USEDEFAULT, /* Vertical position */
- CW_USEDEFAULT, /* Right edge */
- CW_USEDEFAULT, /* Bottom edge */
- (HWND) NULL, /* No parent or owner window */
- (HMENU) NULL, /* No menu */
- GetModuleHandle (NULL),/* Instance handle */
- NULL); /* Creation data */
- assert (hwnd != NULL);
-
- /* I'm not sure, but we may need to call this to start message processing */
- ShowWindow (hwnd, SW_HIDE);
-
- /* Similarly, we may need a call to this even though we don't paint */
- UpdateWindow (hwnd);
-
- return hwnd;
-}
-
-void
-winFixClipboardChain (void)
-{
- if (g_fClipboard
- && g_hwndClipboard)
- {
- PostMessage (g_hwndClipboard, WM_WM_REINIT, 0, 0);
- }
-}
+/*
+ *Copyright (C) 2003-2004 Harold L Hunt II All Rights Reserved.
+ *
+ *Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ *"Software"), to deal in the Software without restriction, including
+ *without limitation the rights to use, copy, modify, merge, publish,
+ *distribute, sublicense, and/or sell copies of the Software, and to
+ *permit persons to whom the Software is furnished to do so, subject to
+ *the following conditions:
+ *
+ *The above copyright notice and this permission notice shall be
+ *included in all copies or substantial portions of the Software.
+ *
+ *THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ *MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *NONINFRINGEMENT. IN NO EVENT SHALL HAROLD L HUNT II BE LIABLE FOR
+ *ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ *CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ *WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ *Except as contained in this notice, the name of Harold L Hunt II
+ *shall not be used in advertising or otherwise to promote the sale, use
+ *or other dealings in this Software without prior written authorization
+ *from Harold L Hunt II.
+ *
+ * Authors: Harold L Hunt II
+ */
+
+#ifdef HAVE_XWIN_CONFIG_H
+#include <xwin-config.h>
+#endif
+#include "dixstruct.h"
+#include "winclipboard.h"
+
+
+/*
+ * Local typedefs
+ */
+
+typedef int (*winDispatchProcPtr) (ClientPtr);
+
+int winProcSetSelectionOwner(ClientPtr /* client */);
+
+
+/*
+ * References to external symbols
+ */
+
+extern pthread_t g_ptClipboardProc;
+extern winDispatchProcPtr winProcSetSelectionOwnerOrig;
+extern Bool g_fClipboard;
+extern HWND g_hwndClipboard;
+
+
+/*
+ * Intialize the Clipboard module
+ */
+
+Bool
+winInitClipboard (void)
+{
+ winDebug ("winInitClipboard ()\n");
+
+ /* Wrap some internal server functions */
+ if (ProcVector[X_SetSelectionOwner] != winProcSetSelectionOwner)
+ {
+ winProcSetSelectionOwnerOrig = ProcVector[X_SetSelectionOwner];
+ ProcVector[X_SetSelectionOwner] = winProcSetSelectionOwner;
+ }
+
+ /* Spawn a thread for the Clipboard module */
+ if (pthread_create (&g_ptClipboardProc,
+ NULL,
+ winClipboardProc,
+ NULL))
+ {
+ /* Bail if thread creation failed */
+ ErrorF ("winInitClipboard - pthread_create failed.\n");
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+
+/*
+ * Create the Windows window that we use to recieve Windows messages
+ */
+
+HWND
+winClipboardCreateMessagingWindow (void)
+{
+ WNDCLASSEX wc;
+ HWND hwnd;
+
+ /* Setup our window class */
+ wc.cbSize=sizeof(WNDCLASSEX);
+ wc.style = CS_HREDRAW | CS_VREDRAW;
+ wc.lpfnWndProc = winClipboardWindowProc;
+ wc.cbClsExtra = 0;
+ wc.cbWndExtra = 0;
+ wc.hInstance = GetModuleHandle (NULL);
+ wc.hIcon = 0;
+ wc.hCursor = 0;
+ wc.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH);
+ wc.lpszMenuName = NULL;
+ wc.lpszClassName = WIN_CLIPBOARD_WINDOW_CLASS;
+ wc.hIconSm = 0;
+ RegisterClassEx (&wc);
+
+ /* Create the window */
+ hwnd = CreateWindowExA (0, /* Extended styles */
+ WIN_CLIPBOARD_WINDOW_CLASS,/* Class name */
+ WIN_CLIPBOARD_WINDOW_TITLE,/* Window name */
+ WS_OVERLAPPED, /* Not visible anyway */
+ CW_USEDEFAULT, /* Horizontal position */
+ CW_USEDEFAULT, /* Vertical position */
+ CW_USEDEFAULT, /* Right edge */
+ CW_USEDEFAULT, /* Bottom edge */
+ (HWND) NULL, /* No parent or owner window */
+ (HMENU) NULL, /* No menu */
+ GetModuleHandle (NULL),/* Instance handle */
+ NULL); /* Creation data */
+ assert (hwnd != NULL);
+
+ /* I'm not sure, but we may need to call this to start message processing */
+ ShowWindow (hwnd, SW_HIDE);
+
+ /* Similarly, we may need a call to this even though we don't paint */
+ UpdateWindow (hwnd);
+
+ return hwnd;
+}
+
+void
+winFixClipboardChain (void)
+{
+ if (g_fClipboard
+ && g_hwndClipboard)
+ {
+ PostMessage (g_hwndClipboard, WM_WM_REINIT, 0, 0);
+ }
+}
diff --git a/xorg-server/hw/xwin/winclipboardwrappers.c b/xorg-server/hw/xwin/winclipboardwrappers.c
index 172365d27..3155b8c1f 100644
--- a/xorg-server/hw/xwin/winclipboardwrappers.c
+++ b/xorg-server/hw/xwin/winclipboardwrappers.c
@@ -52,9 +52,9 @@
* Local function prototypes
*/
-DISPATCH_PROC(winProcEstablishConnection);
-DISPATCH_PROC(winProcQueryTree);
-DISPATCH_PROC(winProcSetSelectionOwner);
+int winProcEstablishConnection(ClientPtr /* client */);
+int winProcQueryTree(ClientPtr /* client */);
+int winProcSetSelectionOwner(ClientPtr /* client */);
/*
diff --git a/xorg-server/hw/xwin/winwindowswm.c b/xorg-server/hw/xwin/winwindowswm.c
index 0d262c1ea..3c4a50433 100644
--- a/xorg-server/hw/xwin/winwindowswm.c
+++ b/xorg-server/hw/xwin/winwindowswm.c
@@ -44,10 +44,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "protocol-versions.h"
static int WMErrorBase;
-
-static DISPATCH_PROC(ProcWindowsWMDispatch);
-static DISPATCH_PROC(SProcWindowsWMDispatch);
-
static unsigned char WMReqCode = 0;
static int WMEventBase = 0;
@@ -80,31 +76,6 @@ make_box (int x, int y, int w, int h)
return r;
}
-void
-winWindowsWMExtensionInit (void)
-{
- ExtensionEntry* extEntry;
-
- ClientType = CreateNewResourceType(WMFreeClient, "WMClient");
- eventResourceType = CreateNewResourceType(WMFreeEvents, "WMEvent");
- eventResource = FakeClientID(0);
-
- if (ClientType && eventResourceType &&
- (extEntry = AddExtension(WINDOWSWMNAME,
- WindowsWMNumberEvents,
- WindowsWMNumberErrors,
- ProcWindowsWMDispatch,
- SProcWindowsWMDispatch,
- NULL,
- StandardMinorOpcode)))
- {
- WMReqCode = (unsigned char)extEntry->base;
- WMErrorBase = extEntry->errorBase;
- WMEventBase = extEntry->eventBase;
- EventSwapVector[WMEventBase] = (EventSwapPtr) SNotifyEvent;
- }
-}
-
static int
ProcWindowsWMQueryVersion(register ClientPtr client)
{
@@ -616,3 +587,28 @@ SProcWindowsWMDispatch (register ClientPtr client)
return BadRequest;
}
}
+
+void
+winWindowsWMExtensionInit (void)
+{
+ ExtensionEntry* extEntry;
+
+ ClientType = CreateNewResourceType(WMFreeClient, "WMClient");
+ eventResourceType = CreateNewResourceType(WMFreeEvents, "WMEvent");
+ eventResource = FakeClientID(0);
+
+ if (ClientType && eventResourceType &&
+ (extEntry = AddExtension(WINDOWSWMNAME,
+ WindowsWMNumberEvents,
+ WindowsWMNumberErrors,
+ ProcWindowsWMDispatch,
+ SProcWindowsWMDispatch,
+ NULL,
+ StandardMinorOpcode)))
+ {
+ WMReqCode = (unsigned char)extEntry->base;
+ WMErrorBase = extEntry->errorBase;
+ WMEventBase = extEntry->eventBase;
+ EventSwapVector[WMEventBase] = (EventSwapPtr) SNotifyEvent;
+ }
+}
diff --git a/xorg-server/randr/randr.c b/xorg-server/randr/randr.c
index e816461d8..aa1e71dcf 100644
--- a/xorg-server/randr/randr.c
+++ b/xorg-server/randr/randr.c
@@ -354,6 +354,11 @@ RRExtensionInit (void)
SRRScreenChangeNotifyEvent;
EventSwapVector[RREventBase + RRNotify] = (EventSwapPtr)
SRRNotifyEvent;
+
+ RRModeInitErrorValue();
+ RRCrtcInitErrorValue();
+ RROutputInitErrorValue();
+
#ifdef PANORAMIX
RRXineramaExtensionInit();
#endif
diff --git a/xorg-server/randr/randrstr.h b/xorg-server/randr/randrstr.h
index 45c2a5043..2ad53c6dd 100644
--- a/xorg-server/randr/randrstr.h
+++ b/xorg-server/randr/randrstr.h
@@ -701,6 +701,12 @@ extern _X_EXPORT Bool
RRCrtcInit (void);
/*
+ * Initialize crtc type error value
+ */
+extern _X_EXPORT void
+RRCrtcInitErrorValue (void);
+
+/*
* Crtc dispatch
*/
@@ -762,6 +768,12 @@ RRModesForScreen (ScreenPtr pScreen, int *num_ret);
*/
extern _X_EXPORT Bool
RRModeInit (void);
+
+/*
+ * Initialize mode type error value
+ */
+extern _X_EXPORT void
+RRModeInitErrorValue (void);
extern _X_EXPORT int
ProcRRCreateMode (ClientPtr client);
@@ -856,6 +868,12 @@ ProcRRGetOutputPrimary (ClientPtr client);
*/
extern _X_EXPORT Bool
RROutputInit (void);
+
+/*
+ * Initialize output type error value
+ */
+extern _X_EXPORT void
+RROutputInitErrorValue (void);
/* rrpointer.c */
extern _X_EXPORT void
diff --git a/xorg-server/randr/rrcrtc.c b/xorg-server/randr/rrcrtc.c
index a23c824c3..4194cb6c2 100644
--- a/xorg-server/randr/rrcrtc.c
+++ b/xorg-server/randr/rrcrtc.c
@@ -631,10 +631,19 @@ RRCrtcInit (void)
RRCrtcType = CreateNewResourceType (RRCrtcDestroyResource, "CRTC");
if (!RRCrtcType)
return FALSE;
- SetResourceTypeErrorValue(RRCrtcType, RRErrorBase + BadRRCrtc);
+
return TRUE;
}
+/*
+ * Initialize crtc type error value
+ */
+void
+RRCrtcInitErrorValue(void)
+{
+ SetResourceTypeErrorValue(RRCrtcType, RRErrorBase + BadRRCrtc);
+}
+
int
ProcRRGetCrtcInfo (ClientPtr client)
{
diff --git a/xorg-server/randr/rrmode.c b/xorg-server/randr/rrmode.c
index a28d9ca6c..692f61567 100644
--- a/xorg-server/randr/rrmode.c
+++ b/xorg-server/randr/rrmode.c
@@ -260,6 +260,9 @@ RRModeDestroyResource (pointer value, XID pid)
return 1;
}
+/*
+ * Initialize mode type
+ */
Bool
RRModeInit (void)
{
@@ -268,10 +271,19 @@ RRModeInit (void)
RRModeType = CreateNewResourceType (RRModeDestroyResource, "MODE");
if (!RRModeType)
return FALSE;
- SetResourceTypeErrorValue(RRModeType, RRErrorBase + BadRRMode);
+
return TRUE;
}
+/*
+ * Initialize mode type error value
+ */
+void
+RRModeInitErrorValue(void)
+{
+ SetResourceTypeErrorValue(RRModeType, RRErrorBase + BadRRMode);
+}
+
int
ProcRRCreateMode (ClientPtr client)
{
diff --git a/xorg-server/randr/rroutput.c b/xorg-server/randr/rroutput.c
index 757f6f23c..41d282f66 100644
--- a/xorg-server/randr/rroutput.c
+++ b/xorg-server/randr/rroutput.c
@@ -423,10 +423,19 @@ RROutputInit (void)
RROutputType = CreateNewResourceType (RROutputDestroyResource, "OUTPUT");
if (!RROutputType)
return FALSE;
- SetResourceTypeErrorValue(RROutputType, RRErrorBase + BadRROutput);
+
return TRUE;
}
+/*
+ * Initialize output type error value
+ */
+void
+RROutputInitErrorValue(void)
+{
+ SetResourceTypeErrorValue(RROutputType, RRErrorBase + BadRROutput);
+}
+
#define OutputInfoExtra (SIZEOF(xRRGetOutputInfoReply) - 32)
int
diff --git a/xorg-server/xkeyboard-config/NEWS b/xorg-server/xkeyboard-config/NEWS
index 5ad25a6bb..11df54427 100644
--- a/xorg-server/xkeyboard-config/NEWS
+++ b/xorg-server/xkeyboard-config/NEWS
@@ -1,3 +1,4 @@
+2.0 Bugfixes (17). Updated/new translations. Some new layouts and models.
1.9 Bugfixes (27). Updated/new translations. Some new layouts and models.
The evdev model is gone, use pc105 instead.
Some fixes for the build process
diff --git a/xorg-server/xkeyboard-config/configure.in b/xorg-server/xkeyboard-config/configure.in
index 99cd9bb24..9278a7854 100644
--- a/xorg-server/xkeyboard-config/configure.in
+++ b/xorg-server/xkeyboard-config/configure.in
@@ -1,4 +1,4 @@
-AC_INIT(xkeyboard-config, 1.9)
+AC_INIT(xkeyboard-config, 2.0)
AC_CONFIG_SRCDIR(rules/base.xml.in)
AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
@@ -39,7 +39,7 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Gettext package])
AM_GLIB_GNU_GETTEXT
-ALL_LINGUAS="af az bg ca crh cs da de el en_GB eo es fi fr hu id it ka ko ky lt nb nl ru rw sk sl sq sr sv tr uk vi zh_CN zh_TW"
+ALL_LINGUAS="af az bg ca crh cs da de el en_GB eo es fi fr gl hu id it ka ko ky lt nb nl pl ro ru rw sk sl sq sr sv tr uk vi zh_CN zh_TW"
AC_SUBST(xkb_base)
AC_SUBST(xkb_rules_symlink)
diff --git a/xorg-server/xkeyboard-config/po/ca.po b/xorg-server/xkeyboard-config/po/ca.po
index 0d641be35..5ad9419ec 100644
--- a/xorg-server/xkeyboard-config/po/ca.po
+++ b/xorg-server/xkeyboard-config/po/ca.po
@@ -1,14 +1,14 @@
-# Translation of xkeyboard-config-1.9.po to Catalan
+# Translation of xkeyboard-config to Catalan
# Copyright © 2007 Free Software Foundation, Inc.
# This file is distributed under the same license as the xkeyboard-config package.
#
# Josep Ma. Ferrer <txemaq@gmail.com>, 2007, 2008, 2009, 2010.
msgid ""
msgstr ""
-"Project-Id-Version: xkeyboard-config-1.9\n"
+"Project-Id-Version: xkeyboard-config-2.0\n"
"Report-Msgid-Bugs-To: svu@users.sourceforge.net\n"
-"POT-Creation-Date: 2010-05-11 21:34+0100\n"
-"PO-Revision-Date: 2010-05-14 22:36+0200\n"
+"POT-Creation-Date: 2010-09-15 21:57+0100\n"
+"PO-Revision-Date: 2010-09-16 20:09+0200\n"
"Last-Translator: Josep Ma. Ferrer <txemaq@gmail.com>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"MIME-Version: 1.0\n"
@@ -202,8 +202,8 @@ msgid "Alt is mapped to Right Win, Super to Menu"
msgstr "Alt s'assigna a la tecla Win dreta i Super a Menú"
#: ../rules/base.xml.in.h:47
-msgid "Alt+CapsLock"
-msgstr "Alt+BloqMaj"
+msgid "Alt+Caps Lock"
+msgstr "Alt+Bloq Maj"
#: ../rules/base.xml.in.h:48
msgid "Alt+Ctrl"
@@ -294,8 +294,8 @@ msgid "Apple Aluminium Keyboard (JIS)"
msgstr "Teclat Apple Aluminium (JIS)"
#: ../rules/base.xml.in.h:70
-msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll_Lock, Pause, NumLock)"
-msgstr "Teclat Apple Aluminium: emula les tecles del PC (Impr, BloqDespl, Pausa, BloqNúm)"
+msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num Lock)"
+msgstr "Teclat Apple Aluminium: emula les tecles del PC (Impr, Bloq Despl, Pausa, Bloq Núm)"
#: ../rules/base.xml.in.h:71
msgid "Apple Laptop"
@@ -334,2644 +334,2664 @@ msgid "At left of 'A'"
msgstr "A l'esquerra d'«A»"
#: ../rules/base.xml.in.h:80
+msgid "Austria"
+msgstr "Àustria"
+
+#: ../rules/base.xml.in.h:81
+msgid "Aut"
+msgstr "Aut"
+
+#: ../rules/base.xml.in.h:82
msgid "Avatime"
msgstr "Avatime"
-#: ../rules/base.xml.in.h:81
+#: ../rules/base.xml.in.h:83
msgid "Aze"
msgstr "Aze"
-#: ../rules/base.xml.in.h:82
+#: ../rules/base.xml.in.h:84
msgid "Azerbaijan"
msgstr "Azerbaitjan"
-#: ../rules/base.xml.in.h:83
+#: ../rules/base.xml.in.h:85
msgid "Azona RF2300 wireless Internet Keyboard"
msgstr "Teclat Azona RF2300 wireless Internet"
-#: ../rules/base.xml.in.h:84
+#: ../rules/base.xml.in.h:86
msgid "BTC 5090"
msgstr "BTC 5090"
-#: ../rules/base.xml.in.h:85
+#: ../rules/base.xml.in.h:87
msgid "BTC 5113RF Multimedia"
msgstr "BTC 5113RF Multimedia"
-#: ../rules/base.xml.in.h:86
+#: ../rules/base.xml.in.h:88
msgid "BTC 5126T"
msgstr "BTC 5126T"
-#: ../rules/base.xml.in.h:87
+#: ../rules/base.xml.in.h:89
msgid "BTC 6301URF"
msgstr "BTC 6301URF"
-#: ../rules/base.xml.in.h:88
+#: ../rules/base.xml.in.h:90
msgid "BTC 9000"
msgstr "BTC 9000"
-#: ../rules/base.xml.in.h:89
+#: ../rules/base.xml.in.h:91
msgid "BTC 9000A"
msgstr "BTC 9000A"
-#: ../rules/base.xml.in.h:90
+#: ../rules/base.xml.in.h:92
msgid "BTC 9001AH"
msgstr "BTC 9001AH"
-#: ../rules/base.xml.in.h:91
+#: ../rules/base.xml.in.h:93
msgid "BTC 9019U"
msgstr "BTC 9019U"
-#: ../rules/base.xml.in.h:92
+#: ../rules/base.xml.in.h:94
msgid "BTC 9116U Mini Wireless Internet and Gaming"
msgstr "BTC 9116U Mini Wireless Internet and Gaming"
-#: ../rules/base.xml.in.h:93
+#: ../rules/base.xml.in.h:95
msgid "Backslash"
msgstr "Barra inversa"
-#: ../rules/base.xml.in.h:94
+#: ../rules/base.xml.in.h:96
msgid "Bangladesh"
msgstr "Bangladesh"
-#: ../rules/base.xml.in.h:95
+#: ../rules/base.xml.in.h:97
msgid "Bashkirian"
msgstr "Baixkir"
-#: ../rules/base.xml.in.h:96
+#: ../rules/base.xml.in.h:98
msgid "Bel"
msgstr "Bel"
-#: ../rules/base.xml.in.h:97
+#: ../rules/base.xml.in.h:99
msgid "Belarus"
msgstr "Bielorússia"
-#: ../rules/base.xml.in.h:98
+#: ../rules/base.xml.in.h:100
msgid "Belgium"
msgstr "Bèlgica"
-#: ../rules/base.xml.in.h:99
+#: ../rules/base.xml.in.h:101
msgid "BenQ X-Touch"
msgstr "BenQ X-Touch"
-#: ../rules/base.xml.in.h:100
+#: ../rules/base.xml.in.h:102
msgid "BenQ X-Touch 730"
msgstr "BenQ X-Touch 730"
-#: ../rules/base.xml.in.h:101
+#: ../rules/base.xml.in.h:103
msgid "BenQ X-Touch 800"
msgstr "BenQ X-Touch 800"
-#: ../rules/base.xml.in.h:102
+#: ../rules/base.xml.in.h:104
msgid "Bengali"
msgstr "Bengalí"
-#: ../rules/base.xml.in.h:103
+#: ../rules/base.xml.in.h:105
msgid "Bengali Probhat"
msgstr "Bengalí Probhat"
-#: ../rules/base.xml.in.h:104
+#: ../rules/base.xml.in.h:106
msgid "Bepo, ergonomic, Dvorak way"
msgstr "Bepo, ergonòmic, tipus Dvorak"
-#: ../rules/base.xml.in.h:105
+#: ../rules/base.xml.in.h:107
msgid "Bepo, ergonomic, Dvorak way, latin-9 only"
msgstr "Bepo, ergonòmic, tipus Dvorak, només latin-9"
-#: ../rules/base.xml.in.h:106
+#: ../rules/base.xml.in.h:108
msgid "Bgd"
msgstr "Bgd"
-#: ../rules/base.xml.in.h:107
+#: ../rules/base.xml.in.h:109
msgid "Bgr"
msgstr "Bgr"
-#: ../rules/base.xml.in.h:108
+#: ../rules/base.xml.in.h:110
msgid "Bhutan"
msgstr "Bhutan"
-#: ../rules/base.xml.in.h:109
+#: ../rules/base.xml.in.h:111
msgid "Biblical Hebrew (Tiro)"
msgstr "Hebreu bíblic (Tiro)"
-#: ../rules/base.xml.in.h:110
+#: ../rules/base.xml.in.h:112
msgid "Bih"
msgstr "Bih"
-#: ../rules/base.xml.in.h:111
+#: ../rules/base.xml.in.h:113
msgid "Blr"
msgstr "Blr"
-#: ../rules/base.xml.in.h:112
+#: ../rules/base.xml.in.h:114
msgid "Bosnia and Herzegovina"
msgstr "Bòsnia i Hercegovina"
-#: ../rules/base.xml.in.h:113
+#: ../rules/base.xml.in.h:115
msgid "Both Alt keys together"
msgstr "Les dues tecles Alt juntes"
-#: ../rules/base.xml.in.h:114
+#: ../rules/base.xml.in.h:116
msgid "Both Ctrl keys together"
msgstr "Les dues tecles Ctrl juntes"
-#: ../rules/base.xml.in.h:115
+#: ../rules/base.xml.in.h:117
msgid "Both Shift keys together"
msgstr "Les dues tecles Maj juntes"
-#: ../rules/base.xml.in.h:116
-msgid "Both Shift-Keys together toggle CapsLock"
-msgstr "Les dues tecles Maj juntes commuten BloqMaj"
+#: ../rules/base.xml.in.h:118
+msgid "Both Shift-Keys together toggle Caps Lock"
+msgstr "Les dues tecles Maj juntes commuten Bloq Maj"
-#: ../rules/base.xml.in.h:117
+#: ../rules/base.xml.in.h:119
msgid "Botswana"
msgstr "Botswana"
-#: ../rules/base.xml.in.h:118
+#: ../rules/base.xml.in.h:120
msgid "Bra"
msgstr "Bra"
-#: ../rules/base.xml.in.h:119
+#: ../rules/base.xml.in.h:121
msgid "Braille"
msgstr "Braille"
-#: ../rules/base.xml.in.h:120
+#: ../rules/base.xml.in.h:122
msgid "Brazil"
msgstr "Brasil"
-#: ../rules/base.xml.in.h:121
+#: ../rules/base.xml.in.h:123
msgid "Breton"
msgstr "Bretó"
-#: ../rules/base.xml.in.h:122
+#: ../rules/base.xml.in.h:124
msgid "Brl"
msgstr "Brl"
-#: ../rules/base.xml.in.h:123
+#: ../rules/base.xml.in.h:125
msgid "Brother Internet Keyboard"
msgstr "Teclat Brother Internet"
-#: ../rules/base.xml.in.h:124
+#: ../rules/base.xml.in.h:126
msgid "Btn"
msgstr "Btn"
-#: ../rules/base.xml.in.h:125
+#: ../rules/base.xml.in.h:127
msgid "Buckwalter"
msgstr "Buckwalter"
-#: ../rules/base.xml.in.h:126
+#: ../rules/base.xml.in.h:128
msgid "Bulgaria"
msgstr "Bulgària"
-#: ../rules/base.xml.in.h:127
+#: ../rules/base.xml.in.h:129
msgid "Bwa"
msgstr "Bwa"
-#: ../rules/base.xml.in.h:128
+#: ../rules/base.xml.in.h:130
msgid "COD"
msgstr "COD"
-#: ../rules/base.xml.in.h:129
+#: ../rules/base.xml.in.h:131
msgid "CRULP"
msgstr "CRULP"
-#: ../rules/base.xml.in.h:130
+#: ../rules/base.xml.in.h:132
msgid "Cambodia"
msgstr "Cambodja"
-#: ../rules/base.xml.in.h:131
+#: ../rules/base.xml.in.h:133
msgid "Can"
msgstr "Can"
-#: ../rules/base.xml.in.h:132
+#: ../rules/base.xml.in.h:134
msgid "Canada"
msgstr "Canadà"
-#: ../rules/base.xml.in.h:133
-msgid "CapsLock"
-msgstr "BloqMaj"
-
-#: ../rules/base.xml.in.h:134
-msgid "CapsLock (to first layout), Shift+CapsLock (to last layout)"
-msgstr "BloqMaj (a la primera disposició), Maj+BloqMaj (a la darrera disposició)"
-
#: ../rules/base.xml.in.h:135
-msgid "CapsLock (while pressed), Alt+CapsLock does the original capslock action"
-msgstr "BloqMaj (mentre està premuda), Alt+BloqMaj efectua l'acció de BloqMaj original"
+msgid "Caps Lock"
+msgstr "Bloq Majús"
#: ../rules/base.xml.in.h:136
-msgid "CapsLock acts as Shift with locking. Shift \"pauses\" CapsLock"
-msgstr "BloqMaj actua com a Maj amb bloqueig. Maj «pausa» BloqMaj"
+msgid "Caps Lock (to first layout), Shift+Caps Lock (to last layout)"
+msgstr "Bloq Maj (a la primera disposició), Maj+Bloq Maj (a la darrera disposició)"
#: ../rules/base.xml.in.h:137
-msgid "CapsLock acts as Shift with locking. Shift doesn't affect CapsLock"
-msgstr "BloqMaj actua com a Maj amb bloqueig. Maj no afecta a BloqMaj"
+msgid "Caps Lock (while pressed), Alt+Caps Lock does the original capslock action"
+msgstr "Bloq Maj (mentre està premuda), Alt+Bloq Maj efectua l'acció de Bloq Maj original"
#: ../rules/base.xml.in.h:138
-msgid "CapsLock is disabled"
-msgstr "BloqMaj està deshabilitat"
+msgid "Caps Lock acts as Shift with locking. Shift \"pauses\" Caps Lock"
+msgstr "Bloq Maj actua com a Maj amb bloqueig. Maj «pausa» Bloq Maj"
#: ../rules/base.xml.in.h:139
-msgid "CapsLock key behavior"
-msgstr "Comportament de la tecla BloqMaj"
+msgid "Caps Lock acts as Shift with locking. Shift doesn't affect Caps Lock"
+msgstr "Bloq Maj actua com a Maj amb bloqueig. Maj no afecta a Bloq Maj"
#: ../rules/base.xml.in.h:140
-msgid "CapsLock toggles Shift so all keys are affected"
-msgstr "BloqMaj commuta Maj, de manera que afecta totes les tecles"
+msgid "Caps Lock is disabled"
+msgstr "Bloq Maj està deshabilitat"
#: ../rules/base.xml.in.h:141
-msgid "CapsLock toggles normal capitalization of alphabetic characters"
-msgstr "BloqMaj commuta les majúscules normals dels caràcters alfabètics"
+msgid "Caps Lock key behavior"
+msgstr "Comportament de la tecla Bloq Maj"
#: ../rules/base.xml.in.h:142
-msgid "CapsLock uses internal capitalization. Shift \"pauses\" CapsLock"
-msgstr "BloqMaj usa internament les majúscules. Maj «pausa» BloqMaj"
+msgid "Caps Lock toggles Shift so all keys are affected"
+msgstr "Bloq Maj commuta Maj, de manera que afecta a totes les tecles"
#: ../rules/base.xml.in.h:143
-msgid "CapsLock uses internal capitalization. Shift doesn't affect CapsLock"
-msgstr "BloqMaj usa internament les majúscules. Maj no afecta BloqMaj"
+msgid "Caps Lock toggles normal capitalization of alphabetic characters"
+msgstr "Bloq Maj commuta les majúscules normals dels caràcters alfabètics"
#: ../rules/base.xml.in.h:144
+msgid "Caps Lock uses internal capitalization. Shift \"pauses\" Caps Lock"
+msgstr "Bloq Maj usa internament les majúscules. Maj «pausa» Bloq Maj"
+
+#: ../rules/base.xml.in.h:145
+msgid "Caps Lock uses internal capitalization. Shift doesn't affect Caps Lock"
+msgstr "Bloq Maj usa internament les majúscules. Maj no afecta a Bloq Maj"
+
+#: ../rules/base.xml.in.h:146
msgid "Catalan variant with middle-dot L"
msgstr "Variant catalana amb L amb punt volat"
-#: ../rules/base.xml.in.h:145
+#: ../rules/base.xml.in.h:147
msgid "Cedilla"
msgstr "Trencat"
-#: ../rules/base.xml.in.h:146
+#: ../rules/base.xml.in.h:148
msgid "Che"
msgstr "Che"
-#: ../rules/base.xml.in.h:147
+#: ../rules/base.xml.in.h:149
msgid "Cherokee"
msgstr "Cherokee"
-#: ../rules/base.xml.in.h:148
+#: ../rules/base.xml.in.h:150
msgid "Cherry B.UNLIMITED"
msgstr "Cherry B.UNLIMITED"
-#: ../rules/base.xml.in.h:149
+#: ../rules/base.xml.in.h:151
msgid "Cherry Blue Line CyBo@rd"
msgstr "Cherry Blue Line CyBo@rd"
-#: ../rules/base.xml.in.h:150
+#: ../rules/base.xml.in.h:152
msgid "Cherry Blue Line CyBo@rd (alternate option)"
msgstr "Cherry Blue Line CyBo@rd (opció alternativa)"
-#: ../rules/base.xml.in.h:151
+#: ../rules/base.xml.in.h:153
msgid "Cherry CyBo@rd USB-Hub"
msgstr "Cherry CyBo@rd USB-Hub"
-#: ../rules/base.xml.in.h:152
+#: ../rules/base.xml.in.h:154
msgid "Cherry CyMotion Expert"
msgstr "Cherry CyMotion Expert"
-#: ../rules/base.xml.in.h:153
+#: ../rules/base.xml.in.h:155
msgid "Cherry CyMotion Master Linux"
msgstr "Cherry CyMotion Master Linux"
-#: ../rules/base.xml.in.h:154
+#: ../rules/base.xml.in.h:156
msgid "Cherry CyMotion Master XPress"
msgstr "Cherry CyMotion Master XPress"
-#: ../rules/base.xml.in.h:155
+#: ../rules/base.xml.in.h:157
msgid "Chicony Internet Keyboard"
msgstr "Teclat Chicony Internet"
-#: ../rules/base.xml.in.h:156
+#: ../rules/base.xml.in.h:158
msgid "Chicony KB-9885"
msgstr "Chicony KB-9885"
-#: ../rules/base.xml.in.h:157
+#: ../rules/base.xml.in.h:159
msgid "Chicony KU-0108"
msgstr "Chicony KU-0108"
-#: ../rules/base.xml.in.h:158
+#: ../rules/base.xml.in.h:160
msgid "Chicony KU-0420"
msgstr "Chicony KU-0420"
-#: ../rules/base.xml.in.h:159
+#: ../rules/base.xml.in.h:161
msgid "China"
msgstr "Xina"
-#: ../rules/base.xml.in.h:160
+#: ../rules/base.xml.in.h:162
msgid "Chn"
msgstr "Chn"
-#: ../rules/base.xml.in.h:161
+#: ../rules/base.xml.in.h:163
msgid "Chuvash"
msgstr "Chuvash"
-#: ../rules/base.xml.in.h:162
+#: ../rules/base.xml.in.h:164
msgid "Chuvash Latin"
msgstr "Chuvash llatí"
-#: ../rules/base.xml.in.h:163
+#: ../rules/base.xml.in.h:165
msgid "Classic"
msgstr "Clàssic"
-#: ../rules/base.xml.in.h:164
+#: ../rules/base.xml.in.h:166
msgid "Classic Dvorak"
msgstr "Dvorak clàssic"
-#: ../rules/base.xml.in.h:165
+#: ../rules/base.xml.in.h:167
msgid "Classic, eliminate dead keys"
msgstr "Clàssic, elimina les tecles mortes"
-#: ../rules/base.xml.in.h:166
+#: ../rules/base.xml.in.h:168
msgid "Classmate PC"
msgstr "Classmate PC"
-#: ../rules/base.xml.in.h:167
+#: ../rules/base.xml.in.h:169
msgid "CloGaelach"
msgstr "CloGaelach"
-#: ../rules/base.xml.in.h:168
+#: ../rules/base.xml.in.h:170
msgid "Colemak"
msgstr "Colemak"
-#: ../rules/base.xml.in.h:169
+#: ../rules/base.xml.in.h:171
msgid "Compaq Easy Access Keyboard"
msgstr "Teclat Compaq Easy Access"
-#: ../rules/base.xml.in.h:170
+#: ../rules/base.xml.in.h:172
msgid "Compaq Internet Keyboard (13 keys)"
msgstr "Teclat Compaq Internet (13 tecles)"
-#: ../rules/base.xml.in.h:171
+#: ../rules/base.xml.in.h:173
msgid "Compaq Internet Keyboard (18 keys)"
msgstr "Teclat Compaq Internet (18 tecles)"
-#: ../rules/base.xml.in.h:172
+#: ../rules/base.xml.in.h:174
msgid "Compaq Internet Keyboard (7 keys)"
msgstr "Teclat Compaq Internet (7 tecles)"
-#: ../rules/base.xml.in.h:173
+#: ../rules/base.xml.in.h:175
msgid "Compaq iPaq Keyboard"
msgstr "Teclat Compaq iPaq"
-#: ../rules/base.xml.in.h:174
+#: ../rules/base.xml.in.h:176
msgid "Compose key position"
msgstr "Posició de la tecla Compose"
-#: ../rules/base.xml.in.h:175
+#: ../rules/base.xml.in.h:177
msgid "Congo, Democratic Republic of the"
msgstr "Congo, República Democràtica del"
-#: ../rules/base.xml.in.h:176
+#: ../rules/base.xml.in.h:178
msgid "Control + Alt + Backspace"
msgstr "Control + Alt + Retrocés"
-#: ../rules/base.xml.in.h:177
+#: ../rules/base.xml.in.h:179
msgid "Control is mapped to Alt keys, Alt is mapped to Win keys"
msgstr "Control s'assigna a les tecles Alt, Alt s'assigna a les tecles Win"
-#: ../rules/base.xml.in.h:178
+#: ../rules/base.xml.in.h:180
msgid "Control is mapped to Win keys (and the usual Ctrl keys)"
msgstr "Control s'assigna a les tecles Win (i a les tecles Ctrl habituals)"
-#: ../rules/base.xml.in.h:179
+#: ../rules/base.xml.in.h:181
msgid "Creative Desktop Wireless 7000"
msgstr "Creative Desktop Wireless 7000"
-#: ../rules/base.xml.in.h:180
+#: ../rules/base.xml.in.h:182
msgid "Crimean Tatar (Dobruca-1 Q)"
msgstr "Tàtar de Crimea (Dobruca-1 Q)"
-#: ../rules/base.xml.in.h:181
+#: ../rules/base.xml.in.h:183
msgid "Crimean Tatar (Dobruca-2 Q)"
msgstr "Tàtar de Crimea (Dobruca-2 Q)"
-#: ../rules/base.xml.in.h:182
+#: ../rules/base.xml.in.h:184
msgid "Crimean Tatar (Turkish Alt-Q)"
msgstr "Tàtar de Crimea (Turc Alt-Q)"
-#: ../rules/base.xml.in.h:183
+#: ../rules/base.xml.in.h:185
msgid "Crimean Tatar (Turkish F)"
msgstr "Tàtar de Crimea (Turc F)"
-#: ../rules/base.xml.in.h:184
+#: ../rules/base.xml.in.h:186
msgid "Crimean Tatar (Turkish Q)"
msgstr "Tàtar de Crimea (Turc Q)"
-#: ../rules/base.xml.in.h:185
+#: ../rules/base.xml.in.h:187
msgid "Croatia"
msgstr "Croàcia"
-#: ../rules/base.xml.in.h:186
+#: ../rules/base.xml.in.h:188
msgid "Ctrl key position"
msgstr "Posició de la tecla Ctrl"
-#: ../rules/base.xml.in.h:187
+#: ../rules/base.xml.in.h:189
msgid "Ctrl+Shift"
msgstr "Ctrl+Maj"
-#: ../rules/base.xml.in.h:188
+#: ../rules/base.xml.in.h:190
msgid "Cyrillic"
msgstr "Ciríl·lic"
-#: ../rules/base.xml.in.h:189
+#: ../rules/base.xml.in.h:191
msgid "Cyrillic with guillemets"
msgstr "Ciríl·lic amb cometes angulars"
-#: ../rules/base.xml.in.h:190
+#: ../rules/base.xml.in.h:192
msgid "Cyrillic, Z and ZHE swapped"
msgstr "Ciríl·lic, Z i ZHE intercanviades"
-#: ../rules/base.xml.in.h:191
+#: ../rules/base.xml.in.h:193
msgid "Cze"
msgstr "Cze"
-#: ../rules/base.xml.in.h:192
+#: ../rules/base.xml.in.h:194
msgid "Czechia"
msgstr "Txèquia"
-#: ../rules/base.xml.in.h:193
+#: ../rules/base.xml.in.h:195
msgid "DOS"
msgstr "DOS"
-#: ../rules/base.xml.in.h:194
+#: ../rules/base.xml.in.h:196
msgid "DTK2000"
msgstr "DTK2000"
-#: ../rules/base.xml.in.h:195
+#: ../rules/base.xml.in.h:197
msgid "Dead acute"
msgstr "Accent mort"
-#: ../rules/base.xml.in.h:196
+#: ../rules/base.xml.in.h:198
msgid "Dead grave acute"
msgstr "Accent greu mort"
-#: ../rules/base.xml.in.h:197
+#: ../rules/base.xml.in.h:199
msgid "Default numeric keypad keys"
msgstr "Tecles predeterminades del teclat numèric"
-#: ../rules/base.xml.in.h:198
+#: ../rules/base.xml.in.h:200
msgid "Dell"
msgstr "Dell"
-#: ../rules/base.xml.in.h:199
+#: ../rules/base.xml.in.h:201
msgid "Dell 101-key PC"
msgstr "Dell PC 101 tecles"
-#: ../rules/base.xml.in.h:200
+#: ../rules/base.xml.in.h:202
msgid "Dell Laptop/notebook Inspiron 6xxx/8xxx"
msgstr "Portàtil Dell Inspiron 6xxx/8xxx"
-#: ../rules/base.xml.in.h:201
+#: ../rules/base.xml.in.h:203
msgid "Dell Laptop/notebook Precision M series"
msgstr "Portàtil Dell sèrie Precision M"
-#: ../rules/base.xml.in.h:202
+#: ../rules/base.xml.in.h:204
msgid "Dell Latitude series laptop"
msgstr "Portàtil Dell sèrie Latitude"
-#: ../rules/base.xml.in.h:203
+#: ../rules/base.xml.in.h:205
msgid "Dell Precision M65"
msgstr "Dell Precision M65"
-#: ../rules/base.xml.in.h:204
+#: ../rules/base.xml.in.h:206
msgid "Dell SK-8125"
msgstr "Dell SK-8125"
-#: ../rules/base.xml.in.h:205
+#: ../rules/base.xml.in.h:207
msgid "Dell SK-8135"
msgstr "Dell SK-8135"
-#: ../rules/base.xml.in.h:206
+#: ../rules/base.xml.in.h:208
msgid "Dell USB Multimedia Keyboard"
msgstr "Teclat Dell USB Multimedia"
-#: ../rules/base.xml.in.h:207
+#: ../rules/base.xml.in.h:209
msgid "Denmark"
msgstr "Dinamarca"
-#: ../rules/base.xml.in.h:208
+#: ../rules/base.xml.in.h:210
msgid "Deu"
msgstr "Deu"
-#: ../rules/base.xml.in.h:209
+#: ../rules/base.xml.in.h:211
msgid "Dexxa Wireless Desktop Keyboard"
msgstr "Teclat Dexxa Wireless Desktop"
-#: ../rules/base.xml.in.h:210
+#: ../rules/base.xml.in.h:212
msgid "Diamond 9801 / 9802 series"
msgstr "Diamond sèries 9801 / 9802"
-#: ../rules/base.xml.in.h:211
+#: ../rules/base.xml.in.h:213
msgid "Dnk"
msgstr "Dnk"
-#: ../rules/base.xml.in.h:212
+#: ../rules/base.xml.in.h:214
msgid "Dvorak"
msgstr "Dvorak"
-#: ../rules/base.xml.in.h:213
+#: ../rules/base.xml.in.h:215
msgid "Dvorak (UK Punctuation)"
msgstr "Dvorak (Puntuació UK)"
-#: ../rules/base.xml.in.h:214
+#: ../rules/base.xml.in.h:216
msgid "Dvorak alternative international (no dead keys)"
msgstr "Dvorak internacional alternatiu (sense tecles mortes)"
-#: ../rules/base.xml.in.h:215
+#: ../rules/base.xml.in.h:217
msgid "Dvorak international (with dead keys)"
msgstr "Dvorak internacional (amb tecles mortes)"
-#: ../rules/base.xml.in.h:216
+#: ../rules/base.xml.in.h:218
msgid "Dvorak, Polish quotes on key 1"
msgstr "Dvorak, cometes poloneses a la tecla 1"
-#: ../rules/base.xml.in.h:217
+#: ../rules/base.xml.in.h:219
msgid "Dvorak, Polish quotes on quotemark key"
msgstr "Dvorak, cometes poloneses a la tecla cometes"
-#: ../rules/base.xml.in.h:218
+#: ../rules/base.xml.in.h:220
msgid "E"
msgstr "E"
-#: ../rules/base.xml.in.h:219
+#: ../rules/base.xml.in.h:221
msgid "Eastern"
msgstr "Oriental"
-#: ../rules/base.xml.in.h:220
+#: ../rules/base.xml.in.h:222
msgid "Eliminate dead keys"
msgstr "Elimina les tecles mortes"
-#: ../rules/base.xml.in.h:221
+#: ../rules/base.xml.in.h:223
msgid "Enable extra typographic characters"
msgstr "Habilita els caràcters tipogràfics extres"
-#: ../rules/base.xml.in.h:222
+#: ../rules/base.xml.in.h:224
msgid "English"
msgstr "Anglès"
-#: ../rules/base.xml.in.h:223
+#: ../rules/base.xml.in.h:225
msgid "English (USA International)"
msgstr "Anglès (Internacional EUA)"
-#: ../rules/base.xml.in.h:224
+#: ../rules/base.xml.in.h:226
msgid "English (USA Macintosh)"
msgstr "Anglès (Macintosh EUA)"
-#: ../rules/base.xml.in.h:225
+#: ../rules/base.xml.in.h:227
msgid "Ennyah DKB-1008"
msgstr "Ennyah DKB-1008"
-#: ../rules/base.xml.in.h:226
+#: ../rules/base.xml.in.h:228
msgid "Enter on keypad"
msgstr "Retorn en el teclat numèric"
-#: ../rules/base.xml.in.h:227
+#: ../rules/base.xml.in.h:229
msgid "Epo"
msgstr "Epo"
-#: ../rules/base.xml.in.h:228
+#: ../rules/base.xml.in.h:230
msgid "Ergonomic"
msgstr "Ergonòmic"
-#: ../rules/base.xml.in.h:229
+#: ../rules/base.xml.in.h:231
msgid "Esp"
msgstr "Esp"
-#: ../rules/base.xml.in.h:230
+#: ../rules/base.xml.in.h:232
msgid "Esperanto"
msgstr "Esperanto"
-#: ../rules/base.xml.in.h:231
+#: ../rules/base.xml.in.h:233
msgid "Est"
msgstr "Est"
-#: ../rules/base.xml.in.h:232
+#: ../rules/base.xml.in.h:234
msgid "Estonia"
msgstr "Estònia"
-#: ../rules/base.xml.in.h:233
+#: ../rules/base.xml.in.h:235
msgid "Eth"
msgstr "Eth"
-#: ../rules/base.xml.in.h:234
+#: ../rules/base.xml.in.h:236
msgid "Ethiopia"
msgstr "Etiòpia"
-#: ../rules/base.xml.in.h:235
+#: ../rules/base.xml.in.h:237
msgid "Everex STEPnote"
msgstr "Everex STEPnote"
-#: ../rules/base.xml.in.h:236
+#: ../rules/base.xml.in.h:238
msgid "Ewe"
msgstr "Ewe"
-#: ../rules/base.xml.in.h:237
+#: ../rules/base.xml.in.h:239
msgid "Extended"
msgstr "Ampliat"
-#: ../rules/base.xml.in.h:238
+#: ../rules/base.xml.in.h:240
msgid "Extended - Winkeys"
msgstr "Ampliat - Tecles Win"
-#: ../rules/base.xml.in.h:239
+#: ../rules/base.xml.in.h:241
msgid "Extended Backslash"
msgstr "Barra inversa estesa"
-#: ../rules/base.xml.in.h:240
+#: ../rules/base.xml.in.h:242
msgid "F-letter (F) variant"
msgstr "Variant de lletra F (F)"
-#: ../rules/base.xml.in.h:241
+#: ../rules/base.xml.in.h:243
msgid "FL90"
msgstr "FL90"
-#: ../rules/base.xml.in.h:242
+#: ../rules/base.xml.in.h:244
msgid "Faroe Islands"
msgstr "Illes Faroe"
-#: ../rules/base.xml.in.h:243
+#: ../rules/base.xml.in.h:245
msgid "Fin"
msgstr "Fin"
-#: ../rules/base.xml.in.h:244
+#: ../rules/base.xml.in.h:246
msgid "Finland"
msgstr "Finlàndia"
#. This assumes the KP_ abstract symbols are actually useful for some apps
#. The description needs to be rewritten
-#: ../rules/base.xml.in.h:247
+#: ../rules/base.xml.in.h:249
msgid "Four-level key with abstract separators"
msgstr "Tecla de quatre nivells amb separadors abstractes"
-#: ../rules/base.xml.in.h:248
+#: ../rules/base.xml.in.h:250
msgid "Four-level key with comma"
msgstr "Tecla de quatre nivells amb coma"
-#: ../rules/base.xml.in.h:249
+#: ../rules/base.xml.in.h:251
msgid "Four-level key with dot"
msgstr "Tecla de quatre nivells amb punt"
-#: ../rules/base.xml.in.h:250
+#: ../rules/base.xml.in.h:252
msgid "Four-level key with dot, latin-9 restriction"
msgstr "Tecla de quatre nivells amb punt, restricció de latin-9"
# Què collons és momayyez? jm
-#: ../rules/base.xml.in.h:251
+#: ../rules/base.xml.in.h:253
msgid "Four-level key with momayyez"
msgstr "Tecla de quatre nivells amb momayyez"
-#: ../rules/base.xml.in.h:252
+#: ../rules/base.xml.in.h:254
msgid "Fra"
msgstr "Fra"
-#: ../rules/base.xml.in.h:253
+#: ../rules/base.xml.in.h:255
msgid "France"
msgstr "França"
-#: ../rules/base.xml.in.h:254
+#: ../rules/base.xml.in.h:256
msgid "Français (France Alternative)"
msgstr "Francès (Alternatiu França)"
-#: ../rules/base.xml.in.h:255
+#: ../rules/base.xml.in.h:257
msgid "French"
msgstr "Francès"
-#: ../rules/base.xml.in.h:256
+#: ../rules/base.xml.in.h:258
msgid "French (Macintosh)"
msgstr "Francès (Macintosh)"
-#: ../rules/base.xml.in.h:257
+#: ../rules/base.xml.in.h:259
msgid "French (legacy)"
msgstr "Francès (llegat)"
-#: ../rules/base.xml.in.h:258
+#: ../rules/base.xml.in.h:260
msgid "French Dvorak"
msgstr "Francès Dvorak"
-#: ../rules/base.xml.in.h:259
+#: ../rules/base.xml.in.h:261
msgid "French, Sun dead keys"
msgstr "Francès, tecles mortes de Sun"
-#: ../rules/base.xml.in.h:260
+#: ../rules/base.xml.in.h:262
msgid "French, eliminate dead keys"
msgstr "Francès, sense tecles mortes"
-#: ../rules/base.xml.in.h:261
+#: ../rules/base.xml.in.h:263
msgid "Fro"
msgstr "Fro"
-#: ../rules/base.xml.in.h:262
+#: ../rules/base.xml.in.h:264
msgid "Fujitsu-Siemens Computers AMILO laptop"
msgstr "Fujitsu-Siemens Computers AMILO portàtil"
-#: ../rules/base.xml.in.h:263
+#: ../rules/base.xml.in.h:265
msgid "Fula"
msgstr "Fula"
-#: ../rules/base.xml.in.h:264
+#: ../rules/base.xml.in.h:266
msgid "GBr"
msgstr "GBr"
-#: ../rules/base.xml.in.h:265
+#: ../rules/base.xml.in.h:267
msgid "GILLBT"
msgstr "GILLBT"
-#: ../rules/base.xml.in.h:266
+#: ../rules/base.xml.in.h:268
msgid "Ga"
msgstr "Ga"
-#: ../rules/base.xml.in.h:267
+#: ../rules/base.xml.in.h:269
msgid "Generic 101-key PC"
msgstr "PC genèric de 101 tecles"
-#: ../rules/base.xml.in.h:268
+#: ../rules/base.xml.in.h:270
msgid "Generic 102-key (Intl) PC"
msgstr "PC genèric de 102 tecles (intl)"
-#: ../rules/base.xml.in.h:269
+#: ../rules/base.xml.in.h:271
msgid "Generic 104-key PC"
msgstr "PC genèric de 104 tecles"
-#: ../rules/base.xml.in.h:270
+#: ../rules/base.xml.in.h:272
msgid "Generic 105-key (Intl) PC"
msgstr "PC genèric de 105 tecles (intl)"
-#: ../rules/base.xml.in.h:271
+#: ../rules/base.xml.in.h:273
msgid "Genius Comfy KB-12e"
msgstr "Genius Comfy KB-12e"
-#: ../rules/base.xml.in.h:272
+#: ../rules/base.xml.in.h:274
msgid "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
msgstr "Genius Comfy KB-16M / Teclat Genius MM KWD-910"
-#: ../rules/base.xml.in.h:273
+#: ../rules/base.xml.in.h:275
msgid "Genius Comfy KB-21e-Scroll"
msgstr "Genius Comfy KB-21e-Scroll"
-#: ../rules/base.xml.in.h:274
+#: ../rules/base.xml.in.h:276
msgid "Genius KB-19e NB"
msgstr "Genius KB-19e NB"
-#: ../rules/base.xml.in.h:275
+#: ../rules/base.xml.in.h:277
msgid "Genius KKB-2050HS"
msgstr "Genius KKB-2050HS"
-#: ../rules/base.xml.in.h:276
+#: ../rules/base.xml.in.h:278
msgid "Geo"
msgstr "Geo"
-#: ../rules/base.xml.in.h:277
+#: ../rules/base.xml.in.h:279
msgid "Georgia"
msgstr "Geòrgia"
-#: ../rules/base.xml.in.h:278
+#: ../rules/base.xml.in.h:280
msgid "Georgian"
msgstr "Georgià"
-#: ../rules/base.xml.in.h:279
+#: ../rules/base.xml.in.h:281
msgid "Georgian AZERTY Tskapo"
msgstr "Georgià AZERTY Tskapo"
-#: ../rules/base.xml.in.h:280
+#: ../rules/base.xml.in.h:282
msgid "German (Macintosh)"
msgstr "Alemany (Macintosh)"
-#: ../rules/base.xml.in.h:281
+#: ../rules/base.xml.in.h:283
msgid "German, Sun dead keys"
msgstr "Alemany, tecles mortes de Sun"
-#: ../rules/base.xml.in.h:282
+#: ../rules/base.xml.in.h:284
msgid "German, eliminate dead keys"
msgstr "Alemany, sense tecles mortes"
-#: ../rules/base.xml.in.h:283
+#: ../rules/base.xml.in.h:285
msgid "Germany"
msgstr "Alemanya"
-#: ../rules/base.xml.in.h:284
+#: ../rules/base.xml.in.h:286
msgid "Gha"
msgstr "Gha"
-#: ../rules/base.xml.in.h:285
+#: ../rules/base.xml.in.h:287
msgid "Ghana"
msgstr "Ghana"
-#: ../rules/base.xml.in.h:286
+#: ../rules/base.xml.in.h:288
msgid "Gin"
msgstr "Gin"
-#: ../rules/base.xml.in.h:287
+#: ../rules/base.xml.in.h:289
msgid "Grc"
msgstr "Grc"
-#: ../rules/base.xml.in.h:288
+#: ../rules/base.xml.in.h:290
msgid "Greece"
msgstr "Grècia"
-#: ../rules/base.xml.in.h:289
+#: ../rules/base.xml.in.h:291
msgid "Guinea"
msgstr "Guinea"
-#: ../rules/base.xml.in.h:290
+#: ../rules/base.xml.in.h:292
msgid "Gujarati"
msgstr "Gujarati"
-#: ../rules/base.xml.in.h:291
+#: ../rules/base.xml.in.h:293
msgid "Gurmukhi"
msgstr "Gurmukhi"
-#: ../rules/base.xml.in.h:292
+#: ../rules/base.xml.in.h:294
msgid "Gurmukhi Jhelum"
msgstr "Gurmukhi Jhelum"
-#: ../rules/base.xml.in.h:293
+#: ../rules/base.xml.in.h:295
msgid "Gyration"
msgstr "Gyration"
-#: ../rules/base.xml.in.h:294
+#: ../rules/base.xml.in.h:296
msgid "Happy Hacking Keyboard"
msgstr "Teclat Happy Hacking"
-#: ../rules/base.xml.in.h:295
+#: ../rules/base.xml.in.h:297
msgid "Happy Hacking Keyboard for Mac"
msgstr "Teclat Happy Hacking per a Mac"
-#: ../rules/base.xml.in.h:296
+#: ../rules/base.xml.in.h:298
msgid "Hausa"
msgstr "Haussa"
-#: ../rules/base.xml.in.h:297
+#: ../rules/base.xml.in.h:299
msgid "Hewlett-Packard Internet Keyboard"
msgstr "Teclat Hewlett-Packard Internet"
-#: ../rules/base.xml.in.h:298
+#: ../rules/base.xml.in.h:300
msgid "Hewlett-Packard Mini 110 Notebook"
msgstr "Hewlett-Packard Mini 110 Notebook"
-#: ../rules/base.xml.in.h:299
+#: ../rules/base.xml.in.h:301
msgid "Hewlett-Packard Omnibook 500 FA"
msgstr "Hewlett-Packard Omnibook 500 FA"
-#: ../rules/base.xml.in.h:300
+#: ../rules/base.xml.in.h:302
msgid "Hewlett-Packard Omnibook 5xx"
msgstr "Hewlett-Packard Omnibook 5xx"
-#: ../rules/base.xml.in.h:301
+#: ../rules/base.xml.in.h:303
msgid "Hewlett-Packard Omnibook 6000/6100"
msgstr "Hewlett-Packard Omnibook 6000/6100"
-#: ../rules/base.xml.in.h:302
+#: ../rules/base.xml.in.h:304
msgid "Hewlett-Packard Omnibook XE3 GC"
msgstr "Hewlett-Packard Omnibook XE3 GC"
-#: ../rules/base.xml.in.h:303
+#: ../rules/base.xml.in.h:305
msgid "Hewlett-Packard Omnibook XE3 GF"
msgstr "Hewlett-Packard Omnibook XE3 GF"
-#: ../rules/base.xml.in.h:304
+#: ../rules/base.xml.in.h:306
msgid "Hewlett-Packard Omnibook XT1000"
msgstr "Hewlett-Packard Omnibook XT1000"
-#: ../rules/base.xml.in.h:305
+#: ../rules/base.xml.in.h:307
msgid "Hewlett-Packard Pavilion ZT11xx"
msgstr "Hewlett-Packard Pavilion ZT11xx"
-#: ../rules/base.xml.in.h:306
+#: ../rules/base.xml.in.h:308
msgid "Hewlett-Packard Pavilion dv5"
msgstr "Hewlett-Packard Pavilion dv5"
-#: ../rules/base.xml.in.h:307
+#: ../rules/base.xml.in.h:309
msgid "Hewlett-Packard SK-250x Multimedia Keyboard"
msgstr "Teclat Hewlett-Packard SK-250x Multimedia"
-#: ../rules/base.xml.in.h:308
+#: ../rules/base.xml.in.h:310
msgid "Hewlett-Packard nx9020"
msgstr "Hewlett-Packard nx9020"
-#: ../rules/base.xml.in.h:309
+#: ../rules/base.xml.in.h:311
msgid "Hexadecimal"
msgstr "Hexadecimal"
-#: ../rules/base.xml.in.h:310
+#: ../rules/base.xml.in.h:312
msgid "Hindi Bolnagri"
msgstr "Hindi Bolnagri"
-#: ../rules/base.xml.in.h:311
+#: ../rules/base.xml.in.h:313
msgid "Hindi Wx"
msgstr "Hindi Wx"
-#: ../rules/base.xml.in.h:312
+#: ../rules/base.xml.in.h:314
msgid "Homophonic"
msgstr "Homofònic"
-#: ../rules/base.xml.in.h:313
+#: ../rules/base.xml.in.h:315
msgid "Honeywell Euroboard"
msgstr "Honeywell Euroboard"
-#: ../rules/base.xml.in.h:314
+#: ../rules/base.xml.in.h:316
msgid "Hrv"
msgstr "Hrv"
-#: ../rules/base.xml.in.h:315
+#: ../rules/base.xml.in.h:317
msgid "Hun"
msgstr "Hun"
-#: ../rules/base.xml.in.h:316
+#: ../rules/base.xml.in.h:318
msgid "Hungary"
msgstr "Hongria"
-#: ../rules/base.xml.in.h:317
+#: ../rules/base.xml.in.h:319
msgid "Hyper is mapped to Win-keys"
msgstr "Hyper s'assigna a les tecles Win"
-#: ../rules/base.xml.in.h:318
+#: ../rules/base.xml.in.h:320
msgid "IBM (LST 1205-92)"
msgstr "IBM (LST 1205-92)"
-#: ../rules/base.xml.in.h:319
+#: ../rules/base.xml.in.h:321
msgid "IBM Rapid Access"
msgstr "IBM Rapid Access"
-#: ../rules/base.xml.in.h:320
+#: ../rules/base.xml.in.h:322
msgid "IBM Rapid Access II"
msgstr "IBM Rapid Access II"
-#: ../rules/base.xml.in.h:321
+#: ../rules/base.xml.in.h:323
msgid "IBM Space Saver"
msgstr "IBM Space Saver"
-#: ../rules/base.xml.in.h:322
+#: ../rules/base.xml.in.h:324
msgid "IBM ThinkPad 560Z/600/600E/A22E"
msgstr "IBM ThinkPad 560Z/600/600E/A22E"
-#: ../rules/base.xml.in.h:323
+#: ../rules/base.xml.in.h:325
msgid "IBM ThinkPad R60/T60/R61/T61"
msgstr "IBM ThinkPad R60/T60/R61/T61"
-#: ../rules/base.xml.in.h:324
+#: ../rules/base.xml.in.h:326
msgid "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
msgstr "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
-#: ../rules/base.xml.in.h:325
+#: ../rules/base.xml.in.h:327
msgid "ISO Alternate"
msgstr "Alternativa ISO"
-#: ../rules/base.xml.in.h:326
+#: ../rules/base.xml.in.h:328
msgid "Iceland"
msgstr "Islàndia"
-#: ../rules/base.xml.in.h:327
+#: ../rules/base.xml.in.h:329
msgid "Igbo"
msgstr "Igbo"
-#: ../rules/base.xml.in.h:328
+#: ../rules/base.xml.in.h:330
msgid "Include dead tilde"
msgstr "Inclou la titlla morta"
-#: ../rules/base.xml.in.h:329
+#: ../rules/base.xml.in.h:331
msgid "Ind"
msgstr "Ind"
-#: ../rules/base.xml.in.h:330
+#: ../rules/base.xml.in.h:332
msgid "India"
msgstr "Índia"
-#: ../rules/base.xml.in.h:331
+#: ../rules/base.xml.in.h:333
msgid "International (AltGr dead keys)"
msgstr "Internacional (tecles mortes AltGr)"
-#: ../rules/base.xml.in.h:332
+#: ../rules/base.xml.in.h:334
msgid "International (with dead keys)"
msgstr "Internacional (amb tecles mortes)"
-#: ../rules/base.xml.in.h:333
+#: ../rules/base.xml.in.h:335
msgid "Inuktitut"
msgstr "Inuktitut"
-#: ../rules/base.xml.in.h:334
+#: ../rules/base.xml.in.h:336 ../rules/base.extras.xml.in.h:8
msgid "Iran"
msgstr "Iran"
-#: ../rules/base.xml.in.h:335
+#: ../rules/base.xml.in.h:337
msgid "Iraq"
msgstr "Iraq"
-#: ../rules/base.xml.in.h:336
+#: ../rules/base.xml.in.h:338
msgid "Ireland"
msgstr "Irlanda"
-#: ../rules/base.xml.in.h:337
+#: ../rules/base.xml.in.h:339
msgid "Irl"
msgstr "Irl"
-#: ../rules/base.xml.in.h:338
+#: ../rules/base.xml.in.h:340
msgid "Irn"
msgstr "Irn"
-#: ../rules/base.xml.in.h:339
+#: ../rules/base.xml.in.h:341
msgid "Irq"
msgstr "Irq"
-#: ../rules/base.xml.in.h:340
+#: ../rules/base.xml.in.h:342
msgid "Isl"
msgstr "Isl"
-#: ../rules/base.xml.in.h:341
+#: ../rules/base.xml.in.h:343
msgid "Isr"
msgstr "Isr"
-#: ../rules/base.xml.in.h:342
+#: ../rules/base.xml.in.h:344
msgid "Israel"
msgstr "Israel"
-#: ../rules/base.xml.in.h:343
+#: ../rules/base.xml.in.h:345
msgid "Ita"
msgstr "Ita"
-#: ../rules/base.xml.in.h:344
+#: ../rules/base.xml.in.h:346
msgid "Italy"
msgstr "Itàlia"
-#: ../rules/base.xml.in.h:345
+#: ../rules/base.xml.in.h:347
msgid "Japan"
msgstr "Japó"
-#: ../rules/base.xml.in.h:346
+#: ../rules/base.xml.in.h:348
msgid "Japan (PC-98xx Series)"
msgstr "Japó (sèries PC-98xx)"
-#: ../rules/base.xml.in.h:347
+#: ../rules/base.xml.in.h:349
msgid "Japanese keyboard options"
msgstr "Opcions del teclat japonès"
-#: ../rules/base.xml.in.h:348
+#: ../rules/base.xml.in.h:350
msgid "Jpn"
msgstr "Jpn"
-#: ../rules/base.xml.in.h:349
+#: ../rules/base.xml.in.h:351
msgid "Kalmyk"
msgstr "Calmuc"
-#: ../rules/base.xml.in.h:350
+#: ../rules/base.xml.in.h:352
msgid "Kana"
msgstr "Kana"
-#: ../rules/base.xml.in.h:351
+#: ../rules/base.xml.in.h:353
msgid "Kana Lock key is locking"
msgstr "La tecla de bloqueig Kana està blocant"
-#: ../rules/base.xml.in.h:352
+#: ../rules/base.xml.in.h:354
msgid "Kannada"
msgstr "Kannada"
-#: ../rules/base.xml.in.h:353
+#: ../rules/base.xml.in.h:355
msgid "Kashubian"
msgstr "Caixubi"
-#: ../rules/base.xml.in.h:354
+#: ../rules/base.xml.in.h:356
msgid "Kaz"
msgstr "Kaz"
-#: ../rules/base.xml.in.h:355
+#: ../rules/base.xml.in.h:357
msgid "Kazakh with Russian"
msgstr "Kazakh amb rus"
-#: ../rules/base.xml.in.h:356
+#: ../rules/base.xml.in.h:358
msgid "Kazakhstan"
msgstr "Kazakhstan"
-#: ../rules/base.xml.in.h:357
+#: ../rules/base.xml.in.h:359
msgid "Ken"
msgstr "Ken"
-#: ../rules/base.xml.in.h:358
+#: ../rules/base.xml.in.h:360
msgid "Kenya"
msgstr "Kenya"
-#: ../rules/base.xml.in.h:359
+#: ../rules/base.xml.in.h:361
msgid "Key sequence to kill the X server"
msgstr "Seqüència de tecles per a matar el servidor X"
-#: ../rules/base.xml.in.h:360
+#: ../rules/base.xml.in.h:362
msgid "Key to choose 3rd level"
msgstr "Tecla per a seleccionar el 3r nivell"
-#: ../rules/base.xml.in.h:361
+#: ../rules/base.xml.in.h:363
msgid "Key to choose 5th level"
msgstr "Tecla per a seleccionar el 5è nivell"
-#: ../rules/base.xml.in.h:362
+#: ../rules/base.xml.in.h:364
msgid "Key(s) to change layout"
msgstr "Tecla(es) per a canviar la disposició"
-#: ../rules/base.xml.in.h:363
+#: ../rules/base.xml.in.h:365
msgid "Keytronic FlexPro"
msgstr "Keytronic FlexPro"
-#: ../rules/base.xml.in.h:364
+#: ../rules/base.xml.in.h:366
msgid "Kgz"
msgstr "Kgz"
-#: ../rules/base.xml.in.h:365
+#: ../rules/base.xml.in.h:367
msgid "Khm"
msgstr "Khm"
-#: ../rules/base.xml.in.h:366
+#: ../rules/base.xml.in.h:368
msgid "Kikuyu"
msgstr "Kikuyu"
-#: ../rules/base.xml.in.h:367
+#: ../rules/base.xml.in.h:369
+msgid "Kinesis"
+msgstr "Kinesis"
+
+#: ../rules/base.xml.in.h:370
msgid "Komi"
msgstr "Komi"
-#: ../rules/base.xml.in.h:368
+#: ../rules/base.xml.in.h:371
msgid "Kor"
msgstr "Kor"
-#: ../rules/base.xml.in.h:369
+#: ../rules/base.xml.in.h:372
msgid "Korea, Republic of"
msgstr "Corea, República de"
-#: ../rules/base.xml.in.h:370
+#: ../rules/base.xml.in.h:373
msgid "Ktunaxa"
msgstr "Kutenai (Ktunaxa)"
-#: ../rules/base.xml.in.h:371
+#: ../rules/base.xml.in.h:374
msgid "Kurdish, (F)"
msgstr "Kurd, (F)"
-#: ../rules/base.xml.in.h:372
+#: ../rules/base.xml.in.h:375
msgid "Kurdish, Arabic-Latin"
msgstr "Kurd, aràbic-llatí"
-#: ../rules/base.xml.in.h:373
+#: ../rules/base.xml.in.h:376
msgid "Kurdish, Latin Alt-Q"
msgstr "Kurd, llatí Alt-Q"
-#: ../rules/base.xml.in.h:374
+#: ../rules/base.xml.in.h:377
msgid "Kurdish, Latin Q"
msgstr "Kurd, llatí Q"
-#: ../rules/base.xml.in.h:375
+#: ../rules/base.xml.in.h:378
msgid "Kyrgyzstan"
msgstr "Kirguizistan"
-#: ../rules/base.xml.in.h:376
+#: ../rules/base.xml.in.h:379
msgid "LAm"
msgstr "LAm"
-#: ../rules/base.xml.in.h:377
+#: ../rules/base.xml.in.h:380
msgid "LEKP"
msgstr "LEKP"
-#: ../rules/base.xml.in.h:378
+#: ../rules/base.xml.in.h:381
msgid "LEKPa"
msgstr "LEKPa"
-#: ../rules/base.xml.in.h:379
+#: ../rules/base.xml.in.h:382
msgid "Lao"
msgstr "Laosià"
-#: ../rules/base.xml.in.h:380
+#: ../rules/base.xml.in.h:383
msgid "Laos"
msgstr "Laos"
-#: ../rules/base.xml.in.h:381
+#: ../rules/base.xml.in.h:384
msgid "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard"
msgstr "Teclat de portàtil Compaq (p.ex. Armada)"
-#: ../rules/base.xml.in.h:382
+#: ../rules/base.xml.in.h:385
msgid "Laptop/notebook Compaq (eg. Presario) Internet Keyboard"
msgstr "Teclat Internet de portàtil Compaq (p.ex. Presario)"
-#: ../rules/base.xml.in.h:383
+#: ../rules/base.xml.in.h:386
msgid "Laptop/notebook eMachines m68xx"
msgstr "Portàtil eMachines m68xx"
-#: ../rules/base.xml.in.h:384
+#: ../rules/base.xml.in.h:387
msgid "Latin"
msgstr "Llatí"
-#: ../rules/base.xml.in.h:385
+#: ../rules/base.xml.in.h:388
msgid "Latin American"
msgstr "Llatinoamericà"
-#: ../rules/base.xml.in.h:386
+#: ../rules/base.xml.in.h:389
msgid "Latin Unicode"
msgstr "Llatí Unicode"
-#: ../rules/base.xml.in.h:387
+#: ../rules/base.xml.in.h:390
msgid "Latin Unicode qwerty"
msgstr "Llatí Unicode qwerty"
-#: ../rules/base.xml.in.h:388
+#: ../rules/base.xml.in.h:391
msgid "Latin qwerty"
msgstr "Llatí qwerty"
-#: ../rules/base.xml.in.h:389
+#: ../rules/base.xml.in.h:392
msgid "Latin unicode"
msgstr "Llatí unicode"
-#: ../rules/base.xml.in.h:390
+#: ../rules/base.xml.in.h:393
msgid "Latin unicode qwerty"
msgstr "Llatí unicode qwerty"
-#: ../rules/base.xml.in.h:391
+#: ../rules/base.xml.in.h:394
msgid "Latin with guillemets"
msgstr "Llatí amb cometes angulars"
-#: ../rules/base.xml.in.h:392
+#: ../rules/base.xml.in.h:395
msgid "Latvia"
msgstr "Letònia"
-#: ../rules/base.xml.in.h:393
+#: ../rules/base.xml.in.h:396
msgid "Layout toggle on multiply/divide key"
msgstr "Commutació de disposició en la tecla de multiplicació/divisió"
-#: ../rules/base.xml.in.h:394
+#: ../rules/base.xml.in.h:397
msgid "Left Alt"
msgstr "Alt esquerra"
-#: ../rules/base.xml.in.h:395
+#: ../rules/base.xml.in.h:398
msgid "Left Alt (while pressed)"
msgstr "Alt esquerra (mentre està premuda)"
-#: ../rules/base.xml.in.h:396
+#: ../rules/base.xml.in.h:399
msgid "Left Alt is swapped with Left Win"
msgstr "Alt esquerra està intercanviada amb la tecla Win esquerra"
-#: ../rules/base.xml.in.h:397
+#: ../rules/base.xml.in.h:400
msgid "Left Ctrl"
msgstr "Ctrl esquerra"
-#: ../rules/base.xml.in.h:398
+#: ../rules/base.xml.in.h:401
msgid "Left Ctrl (to first layout), Right Ctrl (to last layout)"
msgstr "Ctrl esquerra (a la primera disposició), Ctrl dreta (a la darrera disposició)"
-#: ../rules/base.xml.in.h:399
+#: ../rules/base.xml.in.h:402
msgid "Left Ctrl+Left Shift"
msgstr "Ctrl esquerra + Maj esquerra"
-#: ../rules/base.xml.in.h:400
+#: ../rules/base.xml.in.h:403
msgid "Left Shift"
msgstr "Maj esquerra"
-#: ../rules/base.xml.in.h:401
+#: ../rules/base.xml.in.h:404
msgid "Left Win"
msgstr "Win esquerra"
-#: ../rules/base.xml.in.h:402
+#: ../rules/base.xml.in.h:405
msgid "Left Win (to first layout), Right Win/Menu (to last layout)"
msgstr "Win esquerra (a la primera disposició), Win/Menú dreta (a la darrera disposició)"
-#: ../rules/base.xml.in.h:403
+#: ../rules/base.xml.in.h:406
msgid "Left Win (while pressed)"
msgstr "Win esquerra (mentre està premuda)"
-#: ../rules/base.xml.in.h:404
+#: ../rules/base.xml.in.h:407
msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "Win esquerra selecciona el nivell 5è, bloqueja en prémer conjuntament amb un altre selector de nivell 5è"
-#: ../rules/base.xml.in.h:405
+#: ../rules/base.xml.in.h:408
msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "Win esquerra selecciona el nivell 5è, bloqueja en prémer conjuntament amb un altre selector de nivell 5è, una pulsació allibera el bloqueig"
-#: ../rules/base.xml.in.h:406
+#: ../rules/base.xml.in.h:409
msgid "Left hand"
msgstr "Esquerrà"
-#: ../rules/base.xml.in.h:407
+#: ../rules/base.xml.in.h:410
msgid "Left handed Dvorak"
msgstr "Dvorak esquerrà"
-#: ../rules/base.xml.in.h:408
+#: ../rules/base.xml.in.h:411
msgid "Legacy"
msgstr "Llegat"
-#: ../rules/base.xml.in.h:409
+#: ../rules/base.xml.in.h:412
msgid "Legacy Wang 724"
msgstr "Wang 724 llegat"
#. Actually, with KP_SEPARATOR, as the old keypad(comma)
-#: ../rules/base.xml.in.h:411
+#: ../rules/base.xml.in.h:414
msgid "Legacy key with comma"
msgstr "Tecla llegada amb coma"
-#: ../rules/base.xml.in.h:412
+#: ../rules/base.xml.in.h:415
msgid "Legacy key with dot"
msgstr "Tecla llegada amb punt"
-#: ../rules/base.xml.in.h:413
+#: ../rules/base.xml.in.h:416
msgid "Lithuania"
msgstr "Lituània"
-#: ../rules/base.xml.in.h:414
+#: ../rules/base.xml.in.h:417
msgid "Lka"
msgstr "Lka"
-#: ../rules/base.xml.in.h:415
+#: ../rules/base.xml.in.h:418
msgid "Logitech Access Keyboard"
msgstr "Teclat Logitech Access"
-#: ../rules/base.xml.in.h:416
+#: ../rules/base.xml.in.h:419
msgid "Logitech Cordless Desktop"
msgstr "Logitech Cordless Desktop"
-#: ../rules/base.xml.in.h:417
+#: ../rules/base.xml.in.h:420
msgid "Logitech Cordless Desktop (alternate option)"
msgstr "Logitech Cordless Desktop (opció alternativa)"
-#: ../rules/base.xml.in.h:418
+#: ../rules/base.xml.in.h:421
msgid "Logitech Cordless Desktop EX110"
msgstr "Logitech Cordless Desktop EX110"
-#: ../rules/base.xml.in.h:419
+#: ../rules/base.xml.in.h:422
msgid "Logitech Cordless Desktop LX-300"
msgstr "Logitech Cordless Desktop LX-300"
-#: ../rules/base.xml.in.h:420
+#: ../rules/base.xml.in.h:423
msgid "Logitech Cordless Desktop Navigator"
msgstr "Logitech Cordless Desktop Navigator"
-#: ../rules/base.xml.in.h:421
+#: ../rules/base.xml.in.h:424
msgid "Logitech Cordless Desktop Optical"
msgstr "Logitech Cordless Desktop Optical"
-#: ../rules/base.xml.in.h:422
+#: ../rules/base.xml.in.h:425
msgid "Logitech Cordless Desktop Pro (alternate option 2)"
msgstr "Logitech Cordless Desktop Pro (opció alternativa 2)"
-#: ../rules/base.xml.in.h:423
+#: ../rules/base.xml.in.h:426
msgid "Logitech Cordless Desktop iTouch"
msgstr "Logitech Cordless Desktop iTouch"
-#: ../rules/base.xml.in.h:424
+#: ../rules/base.xml.in.h:427
msgid "Logitech Cordless Freedom/Desktop Navigator"
msgstr "Logitech Cordless Freedom/Desktop Navigator"
-#: ../rules/base.xml.in.h:425
+#: ../rules/base.xml.in.h:428
msgid "Logitech G15 extra keys via G15daemon"
msgstr "Logitech G15 amb tecles extres via G15daemon"
-#: ../rules/base.xml.in.h:426
+#: ../rules/base.xml.in.h:429
msgid "Logitech Generic Keyboard"
msgstr "Teclat Logitech genèric"
-#: ../rules/base.xml.in.h:427
+#: ../rules/base.xml.in.h:430
msgid "Logitech Internet 350 Keyboard"
msgstr "Teclat Logitech Internet 350"
-#: ../rules/base.xml.in.h:428
+#: ../rules/base.xml.in.h:431
msgid "Logitech Internet Keyboard"
msgstr "Teclat Logitech Internet"
-#: ../rules/base.xml.in.h:429
+#: ../rules/base.xml.in.h:432
msgid "Logitech Internet Navigator Keyboard"
msgstr "Teclat Logitech Internet Navigator"
-#: ../rules/base.xml.in.h:430
+#: ../rules/base.xml.in.h:433
msgid "Logitech Media Elite Keyboard"
msgstr "Teclat Logitech Media Elite"
-#: ../rules/base.xml.in.h:431
+#: ../rules/base.xml.in.h:434
msgid "Logitech Ultra-X Cordless Media Desktop Keyboard"
msgstr "Teclat Logitech Ultra-X Cordless Media Desktop"
-#: ../rules/base.xml.in.h:432
+#: ../rules/base.xml.in.h:435
msgid "Logitech Ultra-X Keyboard"
msgstr "Teclat Logitech Ultra-X"
-#: ../rules/base.xml.in.h:433
+#: ../rules/base.xml.in.h:436
msgid "Logitech diNovo Edge Keyboard"
msgstr "Teclat Logitech diNovo Edge"
-#: ../rules/base.xml.in.h:434
+#: ../rules/base.xml.in.h:437
msgid "Logitech diNovo Keyboard"
msgstr "Teclat Logitech diNovo"
-#: ../rules/base.xml.in.h:435
+#: ../rules/base.xml.in.h:438
msgid "Logitech iTouch"
msgstr "Logitech iTouch"
-#: ../rules/base.xml.in.h:436
+#: ../rules/base.xml.in.h:439
msgid "Logitech iTouch Cordless Keyboard (model Y-RB6)"
msgstr "Teclat Logitech iTouch Cordless (model Y-RB6)"
-#: ../rules/base.xml.in.h:437
+#: ../rules/base.xml.in.h:440
msgid "Logitech iTouch Internet Navigator Keyboard SE"
msgstr "Teclat Logitech iTouch Internet Navigator SE"
-#: ../rules/base.xml.in.h:438
+#: ../rules/base.xml.in.h:441
msgid "Logitech iTouch Internet Navigator Keyboard SE (USB)"
msgstr "Teclat Logitech iTouch Internet Navigator SE (USB)"
-#: ../rules/base.xml.in.h:439
+#: ../rules/base.xml.in.h:442
msgid "Lower Sorbian"
msgstr "Baix sòrab"
-#: ../rules/base.xml.in.h:440
+#: ../rules/base.xml.in.h:443
msgid "Lower Sorbian (qwertz)"
msgstr "Baix sòrab (qwertz)"
-#: ../rules/base.xml.in.h:441
+#: ../rules/base.xml.in.h:444
msgid "Ltu"
msgstr "Ltu"
-#: ../rules/base.xml.in.h:442
+#: ../rules/base.xml.in.h:445
msgid "Lva"
msgstr "Lva"
-#: ../rules/base.xml.in.h:443
+#: ../rules/base.xml.in.h:446
msgid "MESS"
msgstr "MESS"
-#: ../rules/base.xml.in.h:444
+#: ../rules/base.xml.in.h:447
msgid "MNE"
msgstr "MNE"
-#: ../rules/base.xml.in.h:445
+#: ../rules/base.xml.in.h:448
msgid "MacBook/MacBook Pro"
msgstr "MacBook/MacBook Pro"
-#: ../rules/base.xml.in.h:446
+#: ../rules/base.xml.in.h:449
msgid "MacBook/MacBook Pro (Intl)"
msgstr "MacBook/MacBook Pro (Intl)"
-#: ../rules/base.xml.in.h:447
+#: ../rules/base.xml.in.h:450
msgid "Macedonia"
msgstr "Macedònia"
-#: ../rules/base.xml.in.h:448
+#: ../rules/base.xml.in.h:451
msgid "Macintosh"
msgstr "Macintosh"
-#: ../rules/base.xml.in.h:449
+#: ../rules/base.xml.in.h:452
+msgid "Macintosh (International)"
+msgstr "Macintosh (Internacional)"
+
+#: ../rules/base.xml.in.h:453
msgid "Macintosh Old"
msgstr "Macintosh antic"
-#: ../rules/base.xml.in.h:450
+#: ../rules/base.xml.in.h:454
msgid "Macintosh, Sun dead keys"
msgstr "Macintosh, tecles mortes de Sun"
-#: ../rules/base.xml.in.h:451
+#: ../rules/base.xml.in.h:455
msgid "Macintosh, eliminate dead keys"
msgstr "Macintosh, sense tecles mortes"
-#: ../rules/base.xml.in.h:452
-msgid "Make CapsLock an additional Backspace"
-msgstr "Converteix BloqMaj en un Retrocés addicional"
+#: ../rules/base.xml.in.h:456
+msgid "Make Caps Lock an additional Backspace"
+msgstr "Converteix Bloq Maj en un Retrocés addicional"
-#: ../rules/base.xml.in.h:453
-msgid "Make CapsLock an additional Ctrl"
-msgstr "Converteix BloqMaj en un Ctrl addicional"
+#: ../rules/base.xml.in.h:457
+msgid "Make Caps Lock an additional Ctrl"
+msgstr "Converteix Bloq Maj en un Ctrl addicional"
-#: ../rules/base.xml.in.h:454
-msgid "Make CapsLock an additional ESC"
-msgstr "Converteix BloqMaj en un Esc addicional"
+#: ../rules/base.xml.in.h:458
+msgid "Make Caps Lock an additional ESC"
+msgstr "Converteix Bloq Maj en un Esc addicional"
-#: ../rules/base.xml.in.h:455
-msgid "Make CapsLock an additional Hyper"
-msgstr "Converteix BloqMaj en un Hyper addicional"
+#: ../rules/base.xml.in.h:459
+msgid "Make Caps Lock an additional Hyper"
+msgstr "Converteix Bloq Maj en un Hyper addicional"
-#: ../rules/base.xml.in.h:456
-msgid "Make CapsLock an additional NumLock"
-msgstr "Converteix BloqMaj en un BloqNúm addicional"
+#: ../rules/base.xml.in.h:460
+msgid "Make Caps Lock an additional Num Lock"
+msgstr "Converteix Bloq Maj en un Bloq Núm addicional"
-#: ../rules/base.xml.in.h:457
-msgid "Make CapsLock an additional Super"
-msgstr "Converteix BloqMaj en un Super addicional"
+#: ../rules/base.xml.in.h:461
+msgid "Make Caps Lock an additional Super"
+msgstr "Converteix Bloq Maj en un Super addicional"
-#: ../rules/base.xml.in.h:458
+#: ../rules/base.xml.in.h:462
msgid "Malayalam"
msgstr "Malaiàlam"
-#: ../rules/base.xml.in.h:459
+#: ../rules/base.xml.in.h:463
msgid "Malayalam Lalitha"
msgstr "Malaiàlam Lalitha"
-#: ../rules/base.xml.in.h:460
+#: ../rules/base.xml.in.h:464
msgid "Maldives"
msgstr "Maldives"
-#: ../rules/base.xml.in.h:461
+#: ../rules/base.xml.in.h:465
msgid "Mali"
msgstr "Mali"
-#: ../rules/base.xml.in.h:462
+#: ../rules/base.xml.in.h:466
msgid "Malta"
msgstr "Malta"
-#: ../rules/base.xml.in.h:463
+#: ../rules/base.xml.in.h:467
msgid "Maltese keyboard with US layout"
msgstr "Teclat maltès amb disposició US"
-#: ../rules/base.xml.in.h:464
+#: ../rules/base.xml.in.h:468
msgid "Mao"
msgstr "Mao"
-#: ../rules/base.xml.in.h:465
+#: ../rules/base.xml.in.h:469
msgid "Maori"
msgstr "Maori"
-#: ../rules/base.xml.in.h:466
+#: ../rules/base.xml.in.h:470
msgid "Mdv"
msgstr "Mdv"
-#: ../rules/base.xml.in.h:467
+#: ../rules/base.xml.in.h:471
msgid "Memorex MX1998"
msgstr "Memorex MX1998"
-#: ../rules/base.xml.in.h:468
+#: ../rules/base.xml.in.h:472
msgid "Memorex MX2500 EZ-Access Keyboard"
msgstr "Teclat Memorex MX2500 EZ-Access"
-#: ../rules/base.xml.in.h:469
+#: ../rules/base.xml.in.h:473
msgid "Memorex MX2750"
msgstr "Memorex MX2750"
-#: ../rules/base.xml.in.h:470
+#: ../rules/base.xml.in.h:474
msgid "Menu"
msgstr "Menú"
-#: ../rules/base.xml.in.h:471
+#: ../rules/base.xml.in.h:475
msgid "Meta is mapped to Left Win"
msgstr "Meta s'assigna a la tecla Win esquerra"
-#: ../rules/base.xml.in.h:472
+#: ../rules/base.xml.in.h:476
msgid "Meta is mapped to Win keys"
msgstr "Meta s'assigna a les tecles Win"
-#: ../rules/base.xml.in.h:473
+#: ../rules/base.xml.in.h:477
msgid "Microsoft Comfort Curve Keyboard 2000"
msgstr "Microsoft Comfort Curve Keyboard 2000"
-#: ../rules/base.xml.in.h:474
+#: ../rules/base.xml.in.h:478
msgid "Microsoft Internet Keyboard"
msgstr "Teclat Microsoft Internet"
-#: ../rules/base.xml.in.h:475
+#: ../rules/base.xml.in.h:479
msgid "Microsoft Internet Keyboard Pro, Swedish"
msgstr "Microsoft Internet Keyboard Pro, Suec"
-#: ../rules/base.xml.in.h:476
+#: ../rules/base.xml.in.h:480
msgid "Microsoft Natural"
msgstr "Microsoft Natural"
-#: ../rules/base.xml.in.h:477
+#: ../rules/base.xml.in.h:481
msgid "Microsoft Natural Keyboard Elite"
msgstr "Teclat Microsoft Natural Elite"
-#: ../rules/base.xml.in.h:478
+#: ../rules/base.xml.in.h:482
msgid "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
msgstr "Teclat Microsoft Natural Pro / Teclat Microsoft Internet Pro"
-#: ../rules/base.xml.in.h:479
+#: ../rules/base.xml.in.h:483
msgid "Microsoft Natural Keyboard Pro OEM"
msgstr "Teclat Microsoft Natural Pro OEM"
-#: ../rules/base.xml.in.h:480
+#: ../rules/base.xml.in.h:484
msgid "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
msgstr "Teclat Microsoft Natural Pro USB / Teclat Microsoft Internet Pro"
-#: ../rules/base.xml.in.h:481
+#: ../rules/base.xml.in.h:485
msgid "Microsoft Natural Wireless Ergonomic Keyboard 7000"
msgstr "Microsoft Natural Wireless Ergonomic Keyboard 7000"
-#: ../rules/base.xml.in.h:482
+#: ../rules/base.xml.in.h:486
msgid "Microsoft Office Keyboard"
msgstr "Teclat Microsoft Office"
-#: ../rules/base.xml.in.h:483
+#: ../rules/base.xml.in.h:487
msgid "Microsoft Wireless Multimedia Keyboard 1.0A"
msgstr "Teclat Microsoft Wireless Multimedia 1.0A"
-#: ../rules/base.xml.in.h:484
+#: ../rules/base.xml.in.h:488
msgid "Miscellaneous compatibility options"
msgstr "Opcions de compatibilitat diverses"
-#: ../rules/base.xml.in.h:485
+#: ../rules/base.xml.in.h:489
msgid "Mkd"
msgstr "Mkd"
-#: ../rules/base.xml.in.h:486
+#: ../rules/base.xml.in.h:490
msgid "Mli"
msgstr "Mli"
-#: ../rules/base.xml.in.h:487
+#: ../rules/base.xml.in.h:491
msgid "Mlt"
msgstr "Mlt"
-#: ../rules/base.xml.in.h:488
+#: ../rules/base.xml.in.h:492
msgid "Mmr"
msgstr "Mmr"
-#: ../rules/base.xml.in.h:489
+#: ../rules/base.xml.in.h:493
msgid "Mng"
msgstr "Mng"
-#: ../rules/base.xml.in.h:490
+#: ../rules/base.xml.in.h:494
msgid "Mongolia"
msgstr "Mongòlia"
-#: ../rules/base.xml.in.h:491
+#: ../rules/base.xml.in.h:495
msgid "Montenegro"
msgstr "Montenegro"
-#: ../rules/base.xml.in.h:492
+#: ../rules/base.xml.in.h:496
msgid "Morocco"
msgstr "Marroc"
-#: ../rules/base.xml.in.h:493
+#: ../rules/base.xml.in.h:497
msgid "Multilingual"
msgstr "Multilingüe"
-#: ../rules/base.xml.in.h:494
+#: ../rules/base.xml.in.h:498
msgid "Multilingual, first part"
msgstr "Multilingüe, primera part"
-#: ../rules/base.xml.in.h:495
+#: ../rules/base.xml.in.h:499
msgid "Multilingual, second part"
msgstr "Multilingüe, segona part"
-#: ../rules/base.xml.in.h:496
+#: ../rules/base.xml.in.h:500
msgid "Myanmar"
msgstr "Myanmar"
-#: ../rules/base.xml.in.h:497
+#: ../rules/base.xml.in.h:501
msgid "NICOLA-F style Backspace"
msgstr "Retrocés estil NICOLA-F"
-#: ../rules/base.xml.in.h:498
+#: ../rules/base.xml.in.h:502
msgid "NLA"
msgstr "NLA"
-#: ../rules/base.xml.in.h:499
+#: ../rules/base.xml.in.h:503
msgid "Nativo"
msgstr "Nativo"
-#: ../rules/base.xml.in.h:500
+#: ../rules/base.xml.in.h:504
msgid "Nativo for Esperanto"
msgstr "Nativo per a l'Esperanto"
-#: ../rules/base.xml.in.h:501
+#: ../rules/base.xml.in.h:505
msgid "Nativo for USA keyboards"
msgstr "Nativo per als teclats EUA"
-#: ../rules/base.xml.in.h:502
+#: ../rules/base.xml.in.h:506
msgid "Neo 2"
msgstr "Neo 2"
-#: ../rules/base.xml.in.h:503
+#: ../rules/base.xml.in.h:507
msgid "Nepal"
msgstr "Nepal"
-#: ../rules/base.xml.in.h:504
+#: ../rules/base.xml.in.h:508
msgid "Netherlands"
msgstr "Països Baixos"
-#: ../rules/base.xml.in.h:505
+#: ../rules/base.xml.in.h:509
msgid "New phonetic"
msgstr "Fonètic nou"
-#: ../rules/base.xml.in.h:506
+#: ../rules/base.xml.in.h:510
msgid "Nga"
msgstr "Nga"
-#: ../rules/base.xml.in.h:507
+#: ../rules/base.xml.in.h:511
msgid "Nigeria"
msgstr "Nigèria"
-#: ../rules/base.xml.in.h:508
+#: ../rules/base.xml.in.h:512
msgid "Nld"
msgstr "Nld"
-#: ../rules/base.xml.in.h:509
+#: ../rules/base.xml.in.h:513
msgid "Non-breakable space character at fourth level"
msgstr "Caràcter d'espai sense salt al nivell quart"
-#: ../rules/base.xml.in.h:510
+#: ../rules/base.xml.in.h:514
msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level"
msgstr "Caràcter d'espai sense salt al nivell quart, i un caràcter d'espai fi sense salt al nivell sisè"
-#: ../rules/base.xml.in.h:511
+#: ../rules/base.xml.in.h:515
msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)"
msgstr "Caràcter d'espai sense salt al nivell quart, un caràcter d'espai fi sense salt al nivell sisè (via Ctrl+Maj)"
-#: ../rules/base.xml.in.h:512
+#: ../rules/base.xml.in.h:516
msgid "Non-breakable space character at second level"
msgstr "La tecla d'espai produeix un caràcter d'espai sense salt al nivell segon"
-#: ../rules/base.xml.in.h:513
+#: ../rules/base.xml.in.h:517
msgid "Non-breakable space character at third level"
msgstr "La tecla d'espai produeix un caràcter d'espai sense salt al nivell tercer"
-#: ../rules/base.xml.in.h:514
+#: ../rules/base.xml.in.h:518
msgid "Non-breakable space character at third level, nothing at fourth level"
msgstr "La tecla d'espai produeix un caràcter d'espai sense salt al nivell tercer, i res al nivell quart"
-#: ../rules/base.xml.in.h:515
+#: ../rules/base.xml.in.h:519
msgid "Non-breakable space character at third level, thin non-breakable space character at fourth level"
msgstr "La tecla d'espai produeix un caràcter d'espai sense salt al nivell tercer, i un caràcter d'espai fi sense salt al nivell quart"
-#: ../rules/base.xml.in.h:516
+#: ../rules/base.xml.in.h:520
msgid "Nor"
msgstr "Nor"
-#: ../rules/base.xml.in.h:517
+#: ../rules/base.xml.in.h:521
msgid "Northern Saami"
msgstr "Saami del nord"
-#: ../rules/base.xml.in.h:518
+#: ../rules/base.xml.in.h:522
msgid "Northern Saami, eliminate dead keys"
msgstr "Saami del nord, sense tecles mortes"
-#: ../rules/base.xml.in.h:519
+#: ../rules/base.xml.in.h:523
msgid "Northgate OmniKey 101"
msgstr "Northgate OmniKey 101"
-#: ../rules/base.xml.in.h:520
+#: ../rules/base.xml.in.h:524
msgid "Norway"
msgstr "Noruega"
-#: ../rules/base.xml.in.h:521
+#: ../rules/base.xml.in.h:525
msgid "Npl"
msgstr "Npl"
-#: ../rules/base.xml.in.h:522
-msgid "NumLock"
-msgstr "BloqNúm"
+#: ../rules/base.xml.in.h:526
+msgid "Num Lock"
+msgstr "Bloq Núm"
-#: ../rules/base.xml.in.h:523
+#: ../rules/base.xml.in.h:527
msgid "Numeric keypad delete key behaviour"
msgstr "Comportament de la tecla de supressió del teclat numèric"
-#: ../rules/base.xml.in.h:524
+#: ../rules/base.xml.in.h:528
msgid "Numeric keypad keys work as with Mac"
msgstr "Les tecles del teclat numèric funcionen com al Mac"
-#: ../rules/base.xml.in.h:525
+#: ../rules/base.xml.in.h:529
msgid "Numeric keypad layout selection"
msgstr "Selecció de la disposició del teclat numèric"
-#: ../rules/base.xml.in.h:526
+#: ../rules/base.xml.in.h:530
msgid "OADG 109A"
msgstr "OADG 109A"
-#: ../rules/base.xml.in.h:527
+#: ../rules/base.xml.in.h:531
msgid "OLPC"
msgstr "OLPC"
-#: ../rules/base.xml.in.h:528
+#: ../rules/base.xml.in.h:532
msgid "OLPC Dari"
msgstr "OLPC Dari"
-#: ../rules/base.xml.in.h:529
+#: ../rules/base.xml.in.h:533
msgid "OLPC Pashto"
msgstr "OLPC Paixtu"
-#: ../rules/base.xml.in.h:530
+#: ../rules/base.xml.in.h:534
msgid "OLPC Southern Uzbek"
msgstr "OLPC Uzbek del sud"
-#: ../rules/base.xml.in.h:531
+#: ../rules/base.xml.in.h:535
msgid "Occitan"
msgstr "Occità"
-#: ../rules/base.xml.in.h:532
+#: ../rules/base.xml.in.h:536
msgid "Ogham"
msgstr "Ogham"
-#: ../rules/base.xml.in.h:533
+#: ../rules/base.xml.in.h:537
msgid "Ogham IS434"
msgstr "Ogham IS434"
-#: ../rules/base.xml.in.h:534
+#: ../rules/base.xml.in.h:538
msgid "Oriya"
msgstr "Oriya"
-#: ../rules/base.xml.in.h:535
+#: ../rules/base.xml.in.h:539
msgid "Ortek MCK-800 MM/Internet keyboard"
msgstr "Teclat Ortek MCK-800 MM/Internet"
-#: ../rules/base.xml.in.h:536
+#: ../rules/base.xml.in.h:540
msgid "Ossetian"
msgstr "Osset"
-#: ../rules/base.xml.in.h:537
+#: ../rules/base.xml.in.h:541
msgid "Ossetian, Winkeys"
msgstr "Osset, tecles Win"
-#: ../rules/base.xml.in.h:538
+#: ../rules/base.xml.in.h:542
msgid "Ossetian, legacy"
msgstr "Osset, llegat"
-#: ../rules/base.xml.in.h:539
+#: ../rules/base.xml.in.h:543
msgid "PC-98xx Series"
msgstr "Sèries PC-98xx"
-#: ../rules/base.xml.in.h:540
+#: ../rules/base.xml.in.h:544
msgid "Pak"
msgstr "Pak"
-#: ../rules/base.xml.in.h:541
+#: ../rules/base.xml.in.h:545
msgid "Pakistan"
msgstr "Pakistan"
-#: ../rules/base.xml.in.h:542
+#: ../rules/base.xml.in.h:546
msgid "Pannonian Rusyn Homophonic"
msgstr "Rutè Pannònic homofònic"
-#: ../rules/base.xml.in.h:543
+#: ../rules/base.xml.in.h:547
msgid "Pashto"
msgstr "Paixtu"
-#: ../rules/base.xml.in.h:544
+#: ../rules/base.xml.in.h:548
msgid "Pattachote"
msgstr "Pattachote"
-#: ../rules/base.xml.in.h:545
+#: ../rules/base.xml.in.h:549
msgid "Pause"
msgstr "Pausa"
-#: ../rules/base.xml.in.h:546
+#: ../rules/base.xml.in.h:550
msgid "Persian, with Persian Keypad"
msgstr "Farsi, amb teclat farsi"
-#: ../rules/base.xml.in.h:547
+#: ../rules/base.xml.in.h:551
msgid "Phonetic"
msgstr "Fonètic"
-#: ../rules/base.xml.in.h:548
+#: ../rules/base.xml.in.h:552
msgid "Phonetic Winkeys"
msgstr "Tecles Win fonètiques"
-#: ../rules/base.xml.in.h:549
+#: ../rules/base.xml.in.h:553
msgid "Pol"
msgstr "Pol"
-#: ../rules/base.xml.in.h:550
+#: ../rules/base.xml.in.h:554
msgid "Poland"
msgstr "Polònia"
-#: ../rules/base.xml.in.h:551
+#: ../rules/base.xml.in.h:555
msgid "Polytonic"
msgstr "Politònic"
-#: ../rules/base.xml.in.h:552
+#: ../rules/base.xml.in.h:556
msgid "Portugal"
msgstr "Portugal"
-#: ../rules/base.xml.in.h:553
+#: ../rules/base.xml.in.h:557
msgid "Probhat"
msgstr "Probhat"
-#: ../rules/base.xml.in.h:554
+#: ../rules/base.xml.in.h:558
msgid "Programmer Dvorak"
msgstr "Dvorak de programador"
-#: ../rules/base.xml.in.h:555
+#: ../rules/base.xml.in.h:559
msgid "Propeller Voyager (KTEZ-1000)"
msgstr "Propeller Voyager (KTEZ-1000)"
-#: ../rules/base.xml.in.h:556
+#: ../rules/base.xml.in.h:560
msgid "Prt"
msgstr "Prt"
-#: ../rules/base.xml.in.h:557
+#: ../rules/base.xml.in.h:561
msgid "PrtSc"
msgstr "ImprPant"
-#: ../rules/base.xml.in.h:558
+#: ../rules/base.xml.in.h:562
msgid "QTronix Scorpius 98N+"
msgstr "QTronix Scorpius 98N+"
-#: ../rules/base.xml.in.h:559
+#: ../rules/base.xml.in.h:563
msgid "Right Alt"
msgstr "Alt dreta"
-#: ../rules/base.xml.in.h:560
+#: ../rules/base.xml.in.h:564
msgid "Right Alt (while pressed)"
msgstr "Alt dreta (mentre està premuda)"
-#: ../rules/base.xml.in.h:561
+#: ../rules/base.xml.in.h:565
msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "Alt dreta selecciona el nivell 5è, bloqueja en prémer conjuntament amb un altre selector de nivell 5è"
-#: ../rules/base.xml.in.h:562
+#: ../rules/base.xml.in.h:566
msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "Alt dreta selecciona el nivell 5è, bloqueja en prémer conjuntament amb un altre selector de nivell 5è, una pulsació allibera el bloqueig"
-#: ../rules/base.xml.in.h:563
+#: ../rules/base.xml.in.h:567
msgid "Right Alt key never chooses 3rd level"
msgstr "La tecla Alt dreta mai selecciona el 3r nivell"
-#: ../rules/base.xml.in.h:564
+#: ../rules/base.xml.in.h:568
msgid "Right Alt, Shift+Right Alt key is Multi_Key"
msgstr "Alt dreta, Maj+Alt dreta és la Multi_Key"
-#: ../rules/base.xml.in.h:565
+#: ../rules/base.xml.in.h:569
msgid "Right Ctrl"
msgstr "Ctrl dreta"
-#: ../rules/base.xml.in.h:566
+#: ../rules/base.xml.in.h:570
msgid "Right Ctrl (while pressed)"
msgstr "Ctrl dreta (mentre està premuda)"
-#: ../rules/base.xml.in.h:567
+#: ../rules/base.xml.in.h:571
msgid "Right Ctrl as Right Alt"
msgstr "Ctrl dreta com a Alt dreta"
-#: ../rules/base.xml.in.h:568
+#: ../rules/base.xml.in.h:572
msgid "Right Ctrl+Right Shift"
msgstr "Ctrl dreta+Maj dreta"
-#: ../rules/base.xml.in.h:569
+#: ../rules/base.xml.in.h:573
msgid "Right Shift"
msgstr "Maj dreta"
-#: ../rules/base.xml.in.h:570
+#: ../rules/base.xml.in.h:574
msgid "Right Win"
msgstr "Win dreta"
-#: ../rules/base.xml.in.h:571
+#: ../rules/base.xml.in.h:575
msgid "Right Win (while pressed)"
msgstr "Win dreta (mentre està premuda)"
-#: ../rules/base.xml.in.h:572
+#: ../rules/base.xml.in.h:576
msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "Win dreta selecciona el nivell 5è, bloqueja en prémer conjuntament amb un altre selector de nivell 5è"
-#: ../rules/base.xml.in.h:573
+#: ../rules/base.xml.in.h:577
msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "Win dreta selecciona el nivell 5è, bloqueja en prémer conjuntament amb un altre selector de nivell 5è, una pulsació allibera el bloqueig"
-#: ../rules/base.xml.in.h:574
+#: ../rules/base.xml.in.h:578
msgid "Right hand"
msgstr "Dretà"
-#: ../rules/base.xml.in.h:575
+#: ../rules/base.xml.in.h:579
msgid "Right handed Dvorak"
msgstr "Dvorak dretà"
-#: ../rules/base.xml.in.h:576
+#: ../rules/base.xml.in.h:580
msgid "Romania"
msgstr "Romania"
-#: ../rules/base.xml.in.h:577
+#: ../rules/base.xml.in.h:581
msgid "Romanian keyboard with German letters"
msgstr "Teclat romanès amb lletres alemanyes"
-#: ../rules/base.xml.in.h:578
+#: ../rules/base.xml.in.h:582
msgid "Romanian keyboard with German letters, eliminate dead keys"
msgstr "Teclat romanès amb lletres alemanyes, sense tecles mortes"
-#: ../rules/base.xml.in.h:579
+#: ../rules/base.xml.in.h:583
msgid "Rou"
msgstr "Rou"
-#: ../rules/base.xml.in.h:580
+#: ../rules/base.xml.in.h:584
msgid "Rus"
msgstr "Rus"
-#: ../rules/base.xml.in.h:581
+#: ../rules/base.xml.in.h:585
msgid "Russia"
msgstr "Rússia"
-#: ../rules/base.xml.in.h:582
+#: ../rules/base.xml.in.h:586
msgid "Russian"
msgstr "Rus"
-#: ../rules/base.xml.in.h:583
+#: ../rules/base.xml.in.h:587
msgid "Russian phonetic"
msgstr "Rus fonètic"
-#: ../rules/base.xml.in.h:584
+#: ../rules/base.xml.in.h:588
msgid "Russian phonetic Dvorak"
msgstr "Rus fonètic Dvorak"
-#: ../rules/base.xml.in.h:585
+#: ../rules/base.xml.in.h:589
msgid "Russian phonetic, eliminate dead keys"
msgstr "Rus fonètic, sense tecles mortes"
-#: ../rules/base.xml.in.h:586
+#: ../rules/base.xml.in.h:590
msgid "Russian with Kazakh"
msgstr "Rus amb Kazakh"
-#: ../rules/base.xml.in.h:587
+#: ../rules/base.xml.in.h:591
msgid "SILVERCREST Multimedia Wireless Keyboard"
msgstr "Teclat SILVERCREST Multimedia Wireless"
-#: ../rules/base.xml.in.h:588
+#: ../rules/base.xml.in.h:592
msgid "SK-1300"
msgstr "SK-1300"
-#: ../rules/base.xml.in.h:589
+#: ../rules/base.xml.in.h:593
msgid "SK-2500"
msgstr "SK-2500"
-#: ../rules/base.xml.in.h:590
+#: ../rules/base.xml.in.h:594
msgid "SK-6200"
msgstr "SK-6200"
-#: ../rules/base.xml.in.h:591
+#: ../rules/base.xml.in.h:595
msgid "SK-7100"
msgstr "SK-7100"
-#: ../rules/base.xml.in.h:592 ../rules/base.extras.xml.in.h:7
+#: ../rules/base.xml.in.h:596 ../rules/base.extras.xml.in.h:9
msgid "SRB"
msgstr "SRB"
-#: ../rules/base.xml.in.h:593
+#: ../rules/base.xml.in.h:597
msgid "SVEN Ergonomic 2500"
msgstr "SVEN Ergonomic 2500"
-#: ../rules/base.xml.in.h:594
+#: ../rules/base.xml.in.h:598
msgid "SVEN Slim 303"
msgstr "SVEN Slim 303"
-#: ../rules/base.xml.in.h:595
+#: ../rules/base.xml.in.h:599
msgid "Samsung SDM 4500P"
msgstr "Samsung SDM 4500P"
-#: ../rules/base.xml.in.h:596
+#: ../rules/base.xml.in.h:600
msgid "Samsung SDM 4510P"
msgstr "Samsung SDM 4510P"
-#: ../rules/base.xml.in.h:597
-msgid "ScrollLock"
-msgstr "BloqDespl"
+#: ../rules/base.xml.in.h:601
+msgid "Scroll Lock"
+msgstr "Bloq Despl"
-#: ../rules/base.xml.in.h:598
+#: ../rules/base.xml.in.h:602
msgid "Secwepemctsin"
msgstr "Secwepemctsin"
-#: ../rules/base.xml.in.h:599
+#: ../rules/base.xml.in.h:603
msgid "Semi-colon on third level"
msgstr "Punt i coma al tercer nivell"
-#: ../rules/base.xml.in.h:600
+#: ../rules/base.xml.in.h:604
msgid "Sen"
msgstr "Sen"
-#: ../rules/base.xml.in.h:601
+#: ../rules/base.xml.in.h:605
msgid "Senegal"
msgstr "Senegal"
-#: ../rules/base.xml.in.h:602 ../rules/base.extras.xml.in.h:8
+#: ../rules/base.xml.in.h:606 ../rules/base.extras.xml.in.h:10
msgid "Serbia"
msgstr "Sèrbia"
-#: ../rules/base.xml.in.h:603
+#: ../rules/base.xml.in.h:607
msgid "Serbian"
msgstr "Serbi"
-#: ../rules/base.xml.in.h:604
-msgid "Shift cancels CapsLock"
-msgstr "Maj cancel·la BloqMaj"
+#: ../rules/base.xml.in.h:608
+msgid "Shift cancels Caps Lock"
+msgstr "Maj cancel·la Bloq Maj"
-#: ../rules/base.xml.in.h:605
-msgid "Shift does not cancel NumLock, chooses 3rd level instead"
-msgstr "Maj no cancel·la BloqNúm, en el seu lloc selecciona el 3r nivell"
+#: ../rules/base.xml.in.h:609
+msgid "Shift does not cancel Num Lock, chooses 3rd level instead"
+msgstr "Maj no cancel·la Bloq Núm, en el seu lloc selecciona el 3r nivell"
-#: ../rules/base.xml.in.h:606
+#: ../rules/base.xml.in.h:610
msgid "Shift with numeric keypad keys works as in MS Windows"
msgstr "Maj amb el teclat numèric funciona com al MS Windows"
-#: ../rules/base.xml.in.h:607
-msgid "Shift+CapsLock"
-msgstr "Maj+BloqMaj"
+#: ../rules/base.xml.in.h:611
+msgid "Shift+Caps Lock"
+msgstr "Maj+Bloq Maj"
-#: ../rules/base.xml.in.h:608
+#: ../rules/base.xml.in.h:612
msgid "Simple"
msgstr "Senzill"
-#: ../rules/base.xml.in.h:609
+#: ../rules/base.xml.in.h:613
+msgid "Sindhi"
+msgstr "Sindhi"
+
+#: ../rules/base.xml.in.h:614
msgid "Slovakia"
msgstr "Eslovàquia"
-#: ../rules/base.xml.in.h:610
+#: ../rules/base.xml.in.h:615
msgid "Slovenia"
msgstr "Eslovènia"
-#: ../rules/base.xml.in.h:611
+#: ../rules/base.xml.in.h:616
msgid "South Africa"
msgstr "Sud-àfrica"
-#: ../rules/base.xml.in.h:612
+#: ../rules/base.xml.in.h:617
msgid "Southern Uzbek"
msgstr "Uzbek del sud"
-#: ../rules/base.xml.in.h:613
+#: ../rules/base.xml.in.h:618
msgid "Spain"
msgstr "Espanya"
-#: ../rules/base.xml.in.h:614
+#: ../rules/base.xml.in.h:619
msgid "Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server"
msgstr "Tecles especials (Ctrl+Alt+&lt;tecla&gt;) gestionades en un servidor"
-#: ../rules/base.xml.in.h:615
+#: ../rules/base.xml.in.h:620
msgid "Sri Lanka"
msgstr "Sri Lanka"
-#: ../rules/base.xml.in.h:616
+#: ../rules/base.xml.in.h:621
msgid "Standard"
msgstr "Estàndard"
-#: ../rules/base.xml.in.h:617
+#: ../rules/base.xml.in.h:622
msgid "Standard (Cedilla)"
msgstr "Estàndard (ce trencada)"
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:619
+#: ../rules/base.xml.in.h:624
msgid "Standard RSTU"
msgstr "Estàndard RSTU"
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:621
+#: ../rules/base.xml.in.h:626
msgid "Standard RSTU on Russian layout"
msgstr "Estàndard RSTU en una disposició russa"
-#: ../rules/base.xml.in.h:622
+#: ../rules/base.xml.in.h:627
msgid "Sun Type 5/6"
msgstr "Sun Type 5/6"
-#: ../rules/base.xml.in.h:623
+#: ../rules/base.xml.in.h:628
msgid "Sun dead keys"
msgstr "Tecles mortes de Sun"
-#: ../rules/base.xml.in.h:624
+#: ../rules/base.xml.in.h:629
msgid "Super Power Multimedia Keyboard"
msgstr "Teclat Super Power Multimedia"
-#: ../rules/base.xml.in.h:625
+#: ../rules/base.xml.in.h:630
msgid "Svdvorak"
msgstr "Svdvorak"
-#: ../rules/base.xml.in.h:626
+#: ../rules/base.xml.in.h:631
msgid "Svk"
msgstr "Svk"
-#: ../rules/base.xml.in.h:627
+#: ../rules/base.xml.in.h:632
msgid "Svn"
msgstr "Svn"
-#: ../rules/base.xml.in.h:628
-msgid "Swap Ctrl and CapsLock"
-msgstr "Intercanvia Ctrl i BloqMaj"
+#: ../rules/base.xml.in.h:633
+msgid "Swap Ctrl and Caps Lock"
+msgstr "Intercanvia Ctrl i Bloq Maj"
-#: ../rules/base.xml.in.h:629
-msgid "Swap ESC and CapsLock"
-msgstr "Intercanvia Esc i BloqMaj"
+#: ../rules/base.xml.in.h:634
+msgid "Swap ESC and Caps Lock"
+msgstr "Intercanvia Esc i Bloq Maj"
-#: ../rules/base.xml.in.h:630
+#: ../rules/base.xml.in.h:635
msgid "Swe"
msgstr "Swe"
-#: ../rules/base.xml.in.h:631
+#: ../rules/base.xml.in.h:636
msgid "Sweden"
msgstr "Suècia"
-#: ../rules/base.xml.in.h:632
+#: ../rules/base.xml.in.h:637
msgid "Switzerland"
msgstr "Suïssa"
-#: ../rules/base.xml.in.h:633
+#: ../rules/base.xml.in.h:638
msgid "Symplon PaceBook (tablet PC)"
msgstr "Symplon PaceBook (tablet PC)"
-#: ../rules/base.xml.in.h:634
+#: ../rules/base.xml.in.h:639
msgid "Syr"
msgstr "Syr"
-#: ../rules/base.xml.in.h:635
+#: ../rules/base.xml.in.h:640
msgid "Syria"
msgstr "Síria"
-#: ../rules/base.xml.in.h:636
+#: ../rules/base.xml.in.h:641
msgid "Syriac"
msgstr "Siri"
-#: ../rules/base.xml.in.h:637
+#: ../rules/base.xml.in.h:642
msgid "Syriac phonetic"
msgstr "Siri fonètic"
-#: ../rules/base.xml.in.h:638
+#: ../rules/base.xml.in.h:643
msgid "TIS-820.2538"
msgstr "TIS-820.2538"
-#: ../rules/base.xml.in.h:639
+#: ../rules/base.xml.in.h:644
msgid "Tajikistan"
msgstr "Tadjikistan"
-#: ../rules/base.xml.in.h:640
+#: ../rules/base.xml.in.h:645
msgid "Tamil"
msgstr "Tàmil"
-#: ../rules/base.xml.in.h:641
+#: ../rules/base.xml.in.h:646
msgid "Tamil Keyboard with Numerals"
msgstr "Teclat Tàmil amb numerals"
-#: ../rules/base.xml.in.h:642
+#: ../rules/base.xml.in.h:647
msgid "Tamil TAB Typewriter"
msgstr "Tàmil TAB Typewriter"
-#: ../rules/base.xml.in.h:643
+#: ../rules/base.xml.in.h:648
msgid "Tamil TSCII Typewriter"
msgstr "Tàmil TSCII Typewriter"
-#: ../rules/base.xml.in.h:644
+#: ../rules/base.xml.in.h:649
msgid "Tamil Unicode"
msgstr "Tàmil Unicode"
-#: ../rules/base.xml.in.h:645
+#: ../rules/base.xml.in.h:650
msgid "Tanzania"
msgstr "Tanzània"
-#: ../rules/base.xml.in.h:646
+#: ../rules/base.xml.in.h:651
msgid "Targa Visionary 811"
msgstr "Targa Visionary 811"
-#: ../rules/base.xml.in.h:647
+#: ../rules/base.xml.in.h:652
msgid "Tatar"
msgstr "Tàtar"
-#: ../rules/base.xml.in.h:648
+#: ../rules/base.xml.in.h:653
msgid "Telugu"
msgstr "Telugu"
-#: ../rules/base.xml.in.h:649
+#: ../rules/base.xml.in.h:654
msgid "Tha"
msgstr "Tha"
-#: ../rules/base.xml.in.h:650
+#: ../rules/base.xml.in.h:655
msgid "Thailand"
msgstr "Tailàndia"
-#: ../rules/base.xml.in.h:651
+#: ../rules/base.xml.in.h:656
msgid "Tibetan"
msgstr "Tibetà"
-#: ../rules/base.xml.in.h:652
+#: ../rules/base.xml.in.h:657
msgid "Tibetan (with ASCII numerals)"
msgstr "Tibetà (amb nombres ASCII)"
-#: ../rules/base.xml.in.h:653
+#: ../rules/base.xml.in.h:658
msgid "Tifinagh"
msgstr "Tifinagh"
-#: ../rules/base.xml.in.h:654
-msgid "Tifinagh Alternative"
+#: ../rules/base.xml.in.h:659
+msgid "Tifinagh alternative"
msgstr "Tifinagh alternativa"
-#: ../rules/base.xml.in.h:655
-msgid "Tifinagh Alternative Phonetic"
+#: ../rules/base.xml.in.h:660
+msgid "Tifinagh alternative phonetic"
msgstr "Tifinagh fonètic alternativa"
-#: ../rules/base.xml.in.h:656
-msgid "Tifinagh Extended"
+#: ../rules/base.xml.in.h:661
+msgid "Tifinagh extended"
msgstr "Tifinagh ampliada"
-#: ../rules/base.xml.in.h:657
-msgid "Tifinagh Extended Phonetic"
+#: ../rules/base.xml.in.h:662
+msgid "Tifinagh extended phonetic"
msgstr "Tifinagh fonètic ampliada"
-#: ../rules/base.xml.in.h:658
-msgid "Tifinagh Phonetic"
+#: ../rules/base.xml.in.h:663
+msgid "Tifinagh phonetic"
msgstr "Tifinagh fonètica"
-#: ../rules/base.xml.in.h:659
+#: ../rules/base.xml.in.h:664
msgid "Tilde (~) variant"
msgstr "Variant titlla (~)"
-#: ../rules/base.xml.in.h:660
+#: ../rules/base.xml.in.h:665
msgid "Tjk"
msgstr "Tjk"
-#: ../rules/base.xml.in.h:661
+#: ../rules/base.xml.in.h:666
msgid "Tkm"
msgstr "Tkm"
-#: ../rules/base.xml.in.h:662
+#: ../rules/base.xml.in.h:667
msgid "To the corresponding key in a Dvorak keyboard."
msgstr "A la tecla corresponent en un teclat Dvorak."
-#: ../rules/base.xml.in.h:663
+#: ../rules/base.xml.in.h:668
msgid "To the corresponding key in a Qwerty keyboard."
msgstr "A la tecla corresponent en un teclat Qwerty."
-#: ../rules/base.xml.in.h:664
+#: ../rules/base.xml.in.h:669
msgid "Toshiba Satellite S3000"
msgstr "Toshiba Satellite S3000"
-#: ../rules/base.xml.in.h:665
+#: ../rules/base.xml.in.h:670
msgid "Traditional phonetic"
msgstr "Fonètic tradicional"
-#: ../rules/base.xml.in.h:666
+#: ../rules/base.xml.in.h:671
msgid "Trust Direct Access Keyboard"
msgstr "Teclat Trust Direct Access"
-#: ../rules/base.xml.in.h:667
+#: ../rules/base.xml.in.h:672
msgid "Trust Slimline"
msgstr "Trust Slimline"
-#: ../rules/base.xml.in.h:668
+#: ../rules/base.xml.in.h:673
msgid "Trust Wireless Keyboard Classic"
msgstr "Teclat Trust Wireless Classic"
-#: ../rules/base.xml.in.h:669
+#: ../rules/base.xml.in.h:674
msgid "Tur"
msgstr "Tur"
-#: ../rules/base.xml.in.h:670
+#: ../rules/base.xml.in.h:675
msgid "Turkey"
msgstr "Turquia"
-#: ../rules/base.xml.in.h:671
+#: ../rules/base.xml.in.h:676
msgid "Turkmenistan"
msgstr "Turkmenistan"
-#: ../rules/base.xml.in.h:672
+#: ../rules/base.xml.in.h:677
msgid "TypeMatrix EZ-Reach 2020"
msgstr "TypeMatrix EZ-Reach 2020"
-#: ../rules/base.xml.in.h:673
+#: ../rules/base.xml.in.h:678
msgid "TypeMatrix EZ-Reach 2030 PS2"
msgstr "TypeMatrix EZ-Reach 2030 PS2"
-#: ../rules/base.xml.in.h:674
+#: ../rules/base.xml.in.h:679
msgid "TypeMatrix EZ-Reach 2030 USB"
msgstr "TypeMatrix EZ-Reach 2030 USB"
-#: ../rules/base.xml.in.h:675
+#: ../rules/base.xml.in.h:680
msgid "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)"
msgstr "TypeMatrix EZ-Reach 2030 USB (mode 102/105:EU)"
-#: ../rules/base.xml.in.h:676
+#: ../rules/base.xml.in.h:681
msgid "TypeMatrix EZ-Reach 2030 USB (106:JP mode)"
msgstr "TypeMatrix EZ-Reach 2030 USB (mode 106:JP)"
-#: ../rules/base.xml.in.h:677
+#: ../rules/base.xml.in.h:682
msgid "Typewriter"
msgstr "Màquina d'escriure"
-#: ../rules/base.xml.in.h:678
+#: ../rules/base.xml.in.h:683
msgid "Typewriter, legacy"
msgstr "Màquina d'escriure, llegat"
-#: ../rules/base.xml.in.h:679
+#: ../rules/base.xml.in.h:684
msgid "Tza"
msgstr "Tza"
-#: ../rules/base.xml.in.h:680
+#: ../rules/base.xml.in.h:685
msgid "UCW layout (accented letters only)"
msgstr "Disposició UCW (només lletres accentuades)"
-#: ../rules/base.xml.in.h:681
+#: ../rules/base.xml.in.h:686
msgid "US Dvorak with CZ UCW support"
msgstr "Dvorak EUA que permet CZ UCW"
-#: ../rules/base.xml.in.h:682
+#: ../rules/base.xml.in.h:687
msgid "US keyboard with Bosnian digraphs"
msgstr "Teclat US amb dígrafs bosnians"
-#: ../rules/base.xml.in.h:683
+#: ../rules/base.xml.in.h:688
msgid "US keyboard with Bosnian letters"
msgstr "Teclat US amb lletres bosnianes"
-#: ../rules/base.xml.in.h:684
+#: ../rules/base.xml.in.h:689
msgid "US keyboard with Croatian digraphs"
msgstr "Teclat US amb dígrafs croats"
-#: ../rules/base.xml.in.h:685
+#: ../rules/base.xml.in.h:690
msgid "US keyboard with Croatian letters"
msgstr "Teclat US amb lletres croates"
-#: ../rules/base.xml.in.h:686
+#: ../rules/base.xml.in.h:691
msgid "US keyboard with Estonian letters"
msgstr "Teclat US amb lletres estonianes"
-#: ../rules/base.xml.in.h:687
+#: ../rules/base.xml.in.h:692
msgid "US keyboard with Italian letters"
msgstr "Teclat US amb lletres italianes"
-#: ../rules/base.xml.in.h:688
+#: ../rules/base.xml.in.h:693
msgid "US keyboard with Lithuanian letters"
msgstr "Teclat US amb dígrafs lituans"
-#: ../rules/base.xml.in.h:689
+#: ../rules/base.xml.in.h:694
msgid "US keyboard with Slovenian letters"
msgstr "Teclat US amb lletres eslovenes"
-#: ../rules/base.xml.in.h:690 ../rules/base.extras.xml.in.h:9
+#: ../rules/base.xml.in.h:695 ../rules/base.extras.xml.in.h:11
msgid "USA"
msgstr "EUA"
-#: ../rules/base.xml.in.h:691
+#: ../rules/base.xml.in.h:696
msgid "Udmurt"
msgstr "Udmurt"
-#: ../rules/base.xml.in.h:692
+#: ../rules/base.xml.in.h:697
msgid "Ukr"
msgstr "Ukr"
-#: ../rules/base.xml.in.h:693
+#: ../rules/base.xml.in.h:698
msgid "Ukraine"
msgstr "Ucraïna"
-#: ../rules/base.xml.in.h:694
+#: ../rules/base.xml.in.h:699
msgid "Unicode additions (arrows and math operators)"
msgstr "Addicions Unicode (fletxes i operadors matemàtics)"
-#: ../rules/base.xml.in.h:695
+#: ../rules/base.xml.in.h:700
msgid "Unicode additions (arrows and math operators). Math operators on default level"
msgstr "Addicions Unicode (fletxes i operadors matemàtics). Els operadors matemàtics al nivell predeterminat"
-#: ../rules/base.xml.in.h:696
+#: ../rules/base.xml.in.h:701
msgid "UnicodeExpert"
msgstr "UnicodeExpert"
-#: ../rules/base.xml.in.h:697
+#: ../rules/base.xml.in.h:702
msgid "United Kingdom"
msgstr "Regne Unit"
-#: ../rules/base.xml.in.h:698
+#: ../rules/base.xml.in.h:703
msgid "Unitek KB-1925"
msgstr "Unitek KB-1925"
-#: ../rules/base.xml.in.h:699
+#: ../rules/base.xml.in.h:704
msgid "Urdu, Alternative phonetic"
msgstr "Urdú, fonètic alternatiu"
-#: ../rules/base.xml.in.h:700
+#: ../rules/base.xml.in.h:705
msgid "Urdu, Phonetic"
msgstr "Urdú, fonètic"
-#: ../rules/base.xml.in.h:701
+#: ../rules/base.xml.in.h:706
msgid "Urdu, Winkeys"
msgstr "Urdú, tecles Win"
-#: ../rules/base.xml.in.h:702
+#: ../rules/base.xml.in.h:707
msgid "Use Bosnian digraphs"
msgstr "Usa dígrafs bosnians"
-#: ../rules/base.xml.in.h:703
+#: ../rules/base.xml.in.h:708
msgid "Use Croatian digraphs"
msgstr "Usa dígrafs croats"
-#: ../rules/base.xml.in.h:704
+#: ../rules/base.xml.in.h:709
msgid "Use guillemets for quotes"
msgstr "Usa cometes angulars per les cometes"
-#: ../rules/base.xml.in.h:705
+#: ../rules/base.xml.in.h:710
msgid "Use keyboard LED to show alternative layout"
msgstr "Usa el LED del teclat per a mostrar la disposició alternativa"
-#: ../rules/base.xml.in.h:706
+#: ../rules/base.xml.in.h:711
msgid "Using space key to input non-breakable space character"
msgstr "Usa la tecla d'espai per a introduir un caràcter d'espai sense salt"
-#: ../rules/base.xml.in.h:707
+#: ../rules/base.xml.in.h:712
msgid "Usual space at any level"
msgstr "Espai normal en qualsevol nivell"
-#: ../rules/base.xml.in.h:708
+#: ../rules/base.xml.in.h:713
msgid "Uzb"
msgstr "Uzb"
-#: ../rules/base.xml.in.h:709
+#: ../rules/base.xml.in.h:714
msgid "Uzbekistan"
msgstr "Uzbekistan"
-#: ../rules/base.xml.in.h:710
+#: ../rules/base.xml.in.h:715
msgid "Vietnam"
msgstr "Vietnam"
-#: ../rules/base.xml.in.h:711
+#: ../rules/base.xml.in.h:716
msgid "ViewSonic KU-306 Internet Keyboard"
msgstr "Teclat ViewSonic KU-306 Internet"
-#: ../rules/base.xml.in.h:712
+#: ../rules/base.xml.in.h:717
msgid "Vnm"
msgstr "Vnm"
-#: ../rules/base.xml.in.h:713
+#: ../rules/base.xml.in.h:718
msgid "Wang 724 keypad with unicode additions (arrows and math operators)"
msgstr "Teclat numèric Wang 724 amb addicions Unicode (fletxes i operadors matemàtics)"
-#: ../rules/base.xml.in.h:714
+#: ../rules/base.xml.in.h:719
msgid "Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level"
msgstr "Teclat numèric Wang 724 amb addicions Unicode (fletxes i operadors matemàtics). Els operadors matemàtics en el nivell per defecte"
-#: ../rules/base.xml.in.h:715
+#: ../rules/base.xml.in.h:720
msgid "Wang model 724 azerty"
msgstr "Wang model 724 azerty"
-#: ../rules/base.xml.in.h:716
+#: ../rules/base.xml.in.h:721
msgid "Western"
msgstr "Occidental"
-#: ../rules/base.xml.in.h:717
+#: ../rules/base.xml.in.h:722
msgid "Winbook Model XP5"
msgstr "Winbook Model XP5"
-#: ../rules/base.xml.in.h:718
+#: ../rules/base.xml.in.h:723
msgid "Winkeys"
msgstr "Tecles Win"
-#: ../rules/base.xml.in.h:719
+#: ../rules/base.xml.in.h:724
msgid "With &lt;\\|&gt; key"
msgstr "Amb la tecla &lt;\\|&gt;"
-#: ../rules/base.xml.in.h:720
+#: ../rules/base.xml.in.h:725
msgid "With EuroSign on 5"
msgstr "Amb el signe de l'euro al 5"
-#: ../rules/base.xml.in.h:721
+#: ../rules/base.xml.in.h:726
msgid "With guillemets"
msgstr "Amb cometes angulars"
-#: ../rules/base.xml.in.h:722
+#: ../rules/base.xml.in.h:727
msgid "Yahoo! Internet Keyboard"
msgstr "Teclat Yahoo! Internet"
-#: ../rules/base.xml.in.h:723
+#: ../rules/base.xml.in.h:728
msgid "Yakut"
msgstr "Iacut"
-#: ../rules/base.xml.in.h:724
+#: ../rules/base.xml.in.h:729
msgid "Yoruba"
msgstr "Ioruba"
-#: ../rules/base.xml.in.h:725
+#: ../rules/base.xml.in.h:730
msgid "Z and ZHE swapped"
msgstr "Z i ZHE intercanviades"
-#: ../rules/base.xml.in.h:726
+#: ../rules/base.xml.in.h:731
msgid "Zaf"
msgstr "Zaf"
-#: ../rules/base.xml.in.h:727
+#: ../rules/base.xml.in.h:732
msgid "Zero-width non-joiner character at second level"
msgstr "Caràcter separador d'amplada zero al nivell segon"
-#: ../rules/base.xml.in.h:728
+#: ../rules/base.xml.in.h:733
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level"
msgstr "Caràcter separador d'amplada zero al nivell segon, i un caràcter d'espai sense salt al nivell tercer"
-#: ../rules/base.xml.in.h:729
+#: ../rules/base.xml.in.h:734
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level"
msgstr "Caràcter separador d'amplada zero al nivell segon, un caràcter d'espai sense salt al nivell tercer, i res al nivell quart"
-#: ../rules/base.xml.in.h:730
+#: ../rules/base.xml.in.h:735
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level"
msgstr "Caràcter separador d'amplada zero al nivell segon, un caràcter d'espai sense salt al nivell tercer, i un caràcter d'espai fi sense salt al nivell quart"
-#: ../rules/base.xml.in.h:731
+#: ../rules/base.xml.in.h:736
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level"
msgstr "Caràcter separador d'amplada zero al nivell segon, un caràcter d'espai sense salt al nivell tercer, i un enllaç d'amplada zero al nivell quart"
-#: ../rules/base.xml.in.h:732
+#: ../rules/base.xml.in.h:737
msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level"
msgstr "Caràcter separador d'amplada zero al nivell segon, un caràcter d'enllaç d'amplada zero al nivell tercer"
-#: ../rules/base.xml.in.h:733
+#: ../rules/base.xml.in.h:738
msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level"
msgstr "Caràcter separador d'amplada zero al nivell segon, un caràcter d'enllaç d'amplada zero al nivell tercer, i un caràcter d'espai sense salt al nivell quart"
-#: ../rules/base.xml.in.h:734
+#: ../rules/base.xml.in.h:739
msgid "Zero-width non-joiner character at third level, zero-width joiner at fourth level"
msgstr "Caràcter separador d'amplada zero al nivell tercer, un enllaç d'amplada zero al nivell quart"
-#: ../rules/base.xml.in.h:735
+#: ../rules/base.xml.in.h:740
msgid "azerty"
msgstr "azerty"
-#: ../rules/base.xml.in.h:736
+#: ../rules/base.xml.in.h:741
msgid "azerty/digits"
msgstr "azerty/dígits"
-#: ../rules/base.xml.in.h:737
+#: ../rules/base.xml.in.h:742
msgid "digits"
msgstr "dígits"
-#: ../rules/base.xml.in.h:738
+#: ../rules/base.xml.in.h:743
msgid "displaced semicolon and quote (obsolete)"
msgstr "punt i coma i cometa desplaçats (obsolet)"
-#: ../rules/base.xml.in.h:739
+#: ../rules/base.xml.in.h:744
msgid "lyx"
msgstr "lyx"
-#: ../rules/base.xml.in.h:740
+#: ../rules/base.xml.in.h:745
msgid "qwerty"
msgstr "qwerty"
-#: ../rules/base.xml.in.h:741
+#: ../rules/base.xml.in.h:746
msgid "qwerty, extended Backslash"
msgstr "qwerty, barra inversa ampliada"
-#: ../rules/base.xml.in.h:742
+#: ../rules/base.xml.in.h:747
msgid "qwerty/digits"
msgstr "qwerty/dígits"
-#: ../rules/base.xml.in.h:743
+#: ../rules/base.xml.in.h:748
msgid "qwertz"
msgstr "qwertz"
@@ -2984,30 +3004,37 @@ msgid "Atsina"
msgstr "Atsina"
#: ../rules/base.extras.xml.in.h:3
+msgid "Avestan"
+msgstr "Avestan"
+
+#: ../rules/base.extras.xml.in.h:4
msgid "Combining accents instead of dead keys"
msgstr "Combinació d'accents en lloc de tecles mortes"
-#: ../rules/base.extras.xml.in.h:4
+#: ../rules/base.extras.xml.in.h:5
msgid "Couer D'alene Salish"
msgstr "Couer D'alene Salish"
-#: ../rules/base.extras.xml.in.h:5
+#: ../rules/base.extras.xml.in.h:6
msgid "International (AltGr Unicode combining)"
msgstr "Internacional (combinació Unicode AltGr)"
-#: ../rules/base.extras.xml.in.h:6
+#: ../rules/base.extras.xml.in.h:7
msgid "International (AltGr Unicode combining, alternative)"
msgstr "Internacional (combinació Unicode AltGr, alternativa)"
+#~ msgid "CapsLock"
+#~ msgstr "BloqMaj"
+
+#~ msgid "ScrollLock"
+#~ msgstr "BloqDespl"
+
#~ msgid "ACPI Standard"
#~ msgstr "ACPI estàndard"
#~ msgid "Bhu"
#~ msgstr "Bhu"
-#~ msgid "Caps Lock"
-#~ msgstr "Bloq Majús"
-
#~ msgid "DRC"
#~ msgstr "DRC"
@@ -3029,9 +3056,6 @@ msgstr "Internacional (combinació Unicode AltGr, alternativa)"
#~ msgid "Nep"
#~ msgstr "Nep"
-#~ msgid "Scroll Lock"
-#~ msgstr "Bloq Despl"
-
#~ msgid "SrL"
#~ msgstr "SrL"
diff --git a/xorg-server/xkeyboard-config/po/cs.po b/xorg-server/xkeyboard-config/po/cs.po
index 82ec5b3cd..c3b666abc 100644
--- a/xorg-server/xkeyboard-config/po/cs.po
+++ b/xorg-server/xkeyboard-config/po/cs.po
@@ -1,2799 +1,2998 @@
-# Translation of xkeyboard-config to Czech.
-# Copyright (C) 2007, 2008, 2009, 2010 the author(s) of xkeyboard-config.
-# This file is distributed under the same license as the xkeyboard-config package.
-# Michal Bukovjan <bukm@centrum.cz>, 2003.
-# Petr Kovar <pknbe@volny.cz>, 2007, 2008, 2009, 2010.
-msgid ""
-msgstr ""
-"Project-Id-Version: xkeyboard-config-1.8\n"
-"Report-Msgid-Bugs-To: svu@users.sourceforge.net\n"
-"POT-Creation-Date: 2010-01-16 18:08+0000\n"
-"PO-Revision-Date: 2010-01-17 22:52+0100\n"
-"Last-Translator: Petr Kovar <pknbe@volny.cz>\n"
-"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-"X-Generator: Lokalize 1.0\n"
-
-#: ../rules/base.xml.in.h:1
-msgid "(F)"
-msgstr "(F)"
-
-#: ../rules/base.xml.in.h:2
-msgid "(Legacy) Alternative"
-msgstr "(Zděděné) alternativní"
-
-#: ../rules/base.xml.in.h:3
-msgid "(Legacy) Alternative, Sun dead keys"
-msgstr "(Zděděné) alternativní, mrtvé klávesy Sun"
-
-#: ../rules/base.xml.in.h:4
-msgid "(Legacy) Alternative, eliminate dead keys"
-msgstr "(Zděděné) alternativní, vyloučit mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:5
-msgid "101/104 key Compatible"
-msgstr "101/104klávesové, kompatibilní"
-
-#: ../rules/base.xml.in.h:6
-msgid "101/qwerty/comma/Dead keys"
-msgstr "101/qwerty/čárka/mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:7
-msgid "101/qwerty/comma/Eliminate dead keys"
-msgstr "101/qwerty/čárka/vyloučit mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:8
-msgid "101/qwerty/dot/Dead keys"
-msgstr "101/qwerty/tečka/mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:9
-msgid "101/qwerty/dot/Eliminate dead keys"
-msgstr "101/qwerty/tečka/vyloučit mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:10
-msgid "101/qwertz/comma/Dead keys"
-msgstr "101/qwertz/čárka/mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:11
-msgid "101/qwertz/comma/Eliminate dead keys"
-msgstr "101/qwertz/čárka/vyloučit mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:12
-msgid "101/qwertz/dot/Dead keys"
-msgstr "101/qwertz/tečka/mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:13
-msgid "101/qwertz/dot/Eliminate dead keys"
-msgstr "101/qwertz/tečka/vyloučit mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:14
-msgid "102/qwerty/comma/Dead keys"
-msgstr "102/qwerty/čárka/mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:15
-msgid "102/qwerty/comma/Eliminate dead keys"
-msgstr "102/qwerty/čárka/vyloučit mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:16
-msgid "102/qwerty/dot/Dead keys"
-msgstr "102/qwerty/tečka/mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:17
-msgid "102/qwerty/dot/Eliminate dead keys"
-msgstr "102/qwerty/tečka/vyloučit mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:18
-msgid "102/qwertz/comma/Dead keys"
-msgstr "102/qwertz/čárka/mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:19
-msgid "102/qwertz/comma/Eliminate dead keys"
-msgstr "102/qwertz/čárka/vyloučit mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:20
-msgid "102/qwertz/dot/Dead keys"
-msgstr "102/qwertz/tečka/mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:21
-msgid "102/qwertz/dot/Eliminate dead keys"
-msgstr "102/qwertz/tečka/vyloučit mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:22
-msgid "2"
-msgstr "2"
-
-#: ../rules/base.xml.in.h:23
-msgid "4"
-msgstr "4"
-
-#: ../rules/base.xml.in.h:24
-msgid "5"
-msgstr "5"
-
-#: ../rules/base.xml.in.h:25
-msgid "A4Tech KB-21"
-msgstr "A4Tech KB-21"
-
-#: ../rules/base.xml.in.h:26
-msgid "A4Tech KBS-8"
-msgstr "A4Tech KBS-8"
-
-#: ../rules/base.xml.in.h:27
-msgid "A4Tech Wireless Desktop RFKB-23"
-msgstr "A4Tech Wireless Desktop RFKB-23"
-
-#: ../rules/base.xml.in.h:28
-msgid "ACPI Standard"
-msgstr "Standard ACPI"
-
-#: ../rules/base.xml.in.h:29
-msgid "ATM/phone-style"
-msgstr "ATM/telefonní typ"
-
-#: ../rules/base.xml.in.h:30
-msgid "Acer AirKey V"
-msgstr "Acer AirKey V"
-
-#: ../rules/base.xml.in.h:31
-msgid "Acer C300"
-msgstr "Acer C300"
-
-#: ../rules/base.xml.in.h:32
-msgid "Acer Ferrari 4000"
-msgstr "Acer Ferrari 4000"
-
-#: ../rules/base.xml.in.h:33
-msgid "Acer Laptop"
-msgstr "Acer Laptop"
-
-#: ../rules/base.xml.in.h:34
-msgid "Add the standard behavior to Menu key"
-msgstr "Přidá standardní chování ke klávese Menu"
-
-#: ../rules/base.xml.in.h:35
-msgid "Adding Esperanto circumflexes (supersigno)"
-msgstr "Přidává průtažný přízvuk v esperantu (supersigno)"
-
-#: ../rules/base.xml.in.h:36
-msgid "Adding EuroSign to certain keys"
-msgstr "Přidává znak eura k určitým klávesám"
-
-#: ../rules/base.xml.in.h:37
-msgid "Advance Scorpius KI"
-msgstr "Advance Scorpius KI"
-
-#: ../rules/base.xml.in.h:38
-msgid "Afg"
-msgstr "AFG"
-
-#: ../rules/base.xml.in.h:39
-msgid "Afghanistan"
-msgstr "Afghánistán"
-
-#: ../rules/base.xml.in.h:40
-msgid "Akan"
-msgstr "Akan"
-
-#: ../rules/base.xml.in.h:41
-msgid "Alb"
-msgstr "ALB"
-
-#: ../rules/base.xml.in.h:42
-msgid "Albania"
-msgstr "Albánie"
-
-#: ../rules/base.xml.in.h:43
-msgid "Alt and Meta are on Alt keys"
-msgstr "Alt a Meta na klávesách Alt"
-
-#: ../rules/base.xml.in.h:44
-msgid "Alt is mapped to Right Win, Super to Menu"
-msgstr "Alt je přiřazena k pravé klávese Win a Super k Menu"
-
-#: ../rules/base.xml.in.h:45
-msgid "Alt+CapsLock"
-msgstr "Alt+Caps Lock"
-
-#: ../rules/base.xml.in.h:46
-msgid "Alt+Ctrl"
-msgstr "Alt+Ctrl"
-
-#: ../rules/base.xml.in.h:47
-msgid "Alt+Shift"
-msgstr "Alt+Shift"
-
-#: ../rules/base.xml.in.h:48
-msgid "Alt+Space"
-msgstr "Alt+Mezerník"
-
-#: ../rules/base.xml.in.h:49
-msgid "Alt-Q"
-msgstr "Alt-Q"
-
-#: ../rules/base.xml.in.h:50
-msgid "Alt/Win key behavior"
-msgstr "Chování klávesy Alt/Win"
-
-#: ../rules/base.xml.in.h:51
-msgid "Alternative"
-msgstr "Alternativní"
-
-#: ../rules/base.xml.in.h:52
-msgid "Alternative Eastern"
-msgstr "Alternativní východní"
-
-#: ../rules/base.xml.in.h:53
-msgid "Alternative Phonetic"
-msgstr "Alternativní fonetické"
-
-#: ../rules/base.xml.in.h:54
-msgid "Alternative international (former us_intl)"
-msgstr "Alternativní mezinárodní (bývalé us_intl)"
-
-#: ../rules/base.xml.in.h:55
-msgid "Alternative, Sun dead keys"
-msgstr "Alternativní, mrtvé klávesy Sun"
-
-#: ../rules/base.xml.in.h:56
-msgid "Alternative, eliminate dead keys"
-msgstr "Alternativní, vyloučit mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:57
-msgid "Alternative, latin-9 only"
-msgstr "Alternativní, pouze Latin-9"
-
-#: ../rules/base.xml.in.h:58
-msgid "And"
-msgstr "AND"
-
-#: ../rules/base.xml.in.h:59
-msgid "Andorra"
-msgstr "Andorra"
-
-#: ../rules/base.xml.in.h:60
-msgid "Any Alt key"
-msgstr "Libovolná klávesa Alt"
-
-#: ../rules/base.xml.in.h:61
-msgid "Any Win key"
-msgstr "Libovolná klávesa Win"
-
-#: ../rules/base.xml.in.h:62
-msgid "Any Win key (while pressed)"
-msgstr "Libovolná klávesa Win (při stisknutí)"
-
-#: ../rules/base.xml.in.h:63
-msgid "Apostrophe (') variant"
-msgstr "Varianta s apostrofem (')"
-
-#: ../rules/base.xml.in.h:64
-msgid "Apple"
-msgstr "Apple"
-
-#: ../rules/base.xml.in.h:65
-msgid "Apple Laptop"
-msgstr "Apple Laptop"
-
-#: ../rules/base.xml.in.h:66
-msgid "Ara"
-msgstr "ARA"
-
-#: ../rules/base.xml.in.h:67
-msgid "Arabic"
-msgstr "Arabské"
-
-#: ../rules/base.xml.in.h:68
-msgid "Arm"
-msgstr "ARM"
-
-#: ../rules/base.xml.in.h:69
-msgid "Armenia"
-msgstr "Arménie"
-
-#: ../rules/base.xml.in.h:70
-msgid "Asturian variant with bottom-dot H and bottom-dot L"
-msgstr "Asturská varianta s H s tečkou pod a L s tečkou pod"
-
-#: ../rules/base.xml.in.h:71
-msgid "Asus Laptop"
-msgstr "Asus Laptop"
-
-#: ../rules/base.xml.in.h:72
-msgid "At bottom left"
-msgstr "Vlevo dole"
-
-#: ../rules/base.xml.in.h:73
-msgid "At left of 'A'"
-msgstr "Nalevo od \"A\""
-
-#: ../rules/base.xml.in.h:74
-msgid "Aze"
-msgstr "AZE"
-
-#: ../rules/base.xml.in.h:75
-msgid "Azerbaijan"
-msgstr "Ázerbájdžán"
-
-#: ../rules/base.xml.in.h:76
-msgid "Azona RF2300 wireless Internet Keyboard"
-msgstr "Azona RF2300 Internet Keyboard, bezdrátová"
-
-#: ../rules/base.xml.in.h:77
-msgid "BTC 5090"
-msgstr "BTC 5090"
-
-#: ../rules/base.xml.in.h:78
-msgid "BTC 5113RF Multimedia"
-msgstr "BTC 5113RF Multimedia"
-
-#: ../rules/base.xml.in.h:79
-msgid "BTC 5126T"
-msgstr "BTC 5126T"
-
-#: ../rules/base.xml.in.h:80
-msgid "BTC 6301URF"
-msgstr "BTC 6301URF"
-
-#: ../rules/base.xml.in.h:81
-msgid "BTC 9000"
-msgstr "BTC 9000"
-
-#: ../rules/base.xml.in.h:82
-msgid "BTC 9000A"
-msgstr "BTC 9000A"
-
-#: ../rules/base.xml.in.h:83
-msgid "BTC 9001AH"
-msgstr "BTC 9001AH"
-
-#: ../rules/base.xml.in.h:84
-msgid "BTC 9019U"
-msgstr "BTC 9019U"
-
-#: ../rules/base.xml.in.h:85
-msgid "BTC 9116U Mini Wireless Internet and Gaming"
-msgstr "BTC 9116U Mini Wireless Internet and Gaming"
-
-#: ../rules/base.xml.in.h:86
-msgid "Ban"
-msgstr "BAN"
-
-#: ../rules/base.xml.in.h:87
-msgid "Bangladesh"
-msgstr "Bangladéš"
-
-#: ../rules/base.xml.in.h:88
-msgid "Bashkirian"
-msgstr "Baškirské"
-
-#: ../rules/base.xml.in.h:89
-msgid "Bel"
-msgstr "BEL"
-
-#: ../rules/base.xml.in.h:90
-msgid "Belarus"
-msgstr "Bělorusko"
-
-#: ../rules/base.xml.in.h:91
-msgid "Belgium"
-msgstr "Belgie"
-
-#: ../rules/base.xml.in.h:92
-msgid "BenQ X-Touch"
-msgstr "BenQ X-Touch"
-
-#: ../rules/base.xml.in.h:93
-msgid "BenQ X-Touch 730"
-msgstr "BenQ X-Touch 730"
-
-#: ../rules/base.xml.in.h:94
-msgid "BenQ X-Touch 800"
-msgstr "BenQ X-Touch 800"
-
-#: ../rules/base.xml.in.h:95
-msgid "Bengali"
-msgstr "Bengálské"
-
-#: ../rules/base.xml.in.h:96
-msgid "Bengali Probhat"
-msgstr "Bengálské Probhat"
-
-#: ../rules/base.xml.in.h:97
-msgid "Bepo, ergonomic, Dvorak way"
-msgstr "Bepo, ergonomické, typ Dvorak"
-
-#: ../rules/base.xml.in.h:98
-msgid "Bepo, ergonomic, Dvorak way, latin-9 only"
-msgstr "Bepo, ergonomické, typ Dvorak, pouze Latin-9"
-
-#: ../rules/base.xml.in.h:99
-msgid "Bgr"
-msgstr "BGR"
-
-#: ../rules/base.xml.in.h:100
-msgid "Bhu"
-msgstr "BHU"
-
-#: ../rules/base.xml.in.h:101
-msgid "Bhutan"
-msgstr "Bhútán"
-
-#: ../rules/base.xml.in.h:102
-msgid "Biblical Hebrew (Tiro)"
-msgstr "Biblická hebrejština (Tiro)"
-
-#: ../rules/base.xml.in.h:103
-msgid "Bih"
-msgstr "BIH"
-
-#: ../rules/base.xml.in.h:104
-msgid "Blr"
-msgstr "BLR"
-
-#: ../rules/base.xml.in.h:105
-msgid "Bosnia and Herzegovina"
-msgstr "Bosna a Hercegovina"
-
-#: ../rules/base.xml.in.h:106
-msgid "Both Alt keys together"
-msgstr "Obě klávesy Alt dohromady"
-
-#: ../rules/base.xml.in.h:107
-msgid "Both Ctrl keys together"
-msgstr "Obě klávesy Ctrl dohromady"
-
-#: ../rules/base.xml.in.h:108
-msgid "Both Shift keys together"
-msgstr "Obě klávesy Shift dohromady"
-
-#: ../rules/base.xml.in.h:109
-msgid "Bra"
-msgstr "BRA"
-
-#: ../rules/base.xml.in.h:110
-msgid "Braille"
-msgstr "Braillovo písmo"
-
-#: ../rules/base.xml.in.h:111
-msgid "Brazil"
-msgstr "Brazílie"
-
-#: ../rules/base.xml.in.h:112
-msgid "Breton"
-msgstr "Bretonské"
-
-#: ../rules/base.xml.in.h:113
-msgid "Brl"
-msgstr "BRL"
-
-#: ../rules/base.xml.in.h:114
-msgid "Brother Internet Keyboard"
-msgstr "Brother Internet Keyboard"
-
-#: ../rules/base.xml.in.h:115
-msgid "Buckwalter"
-msgstr "Buckwalter"
-
-#: ../rules/base.xml.in.h:116
-msgid "Bulgaria"
-msgstr "Bulharsko"
-
-#: ../rules/base.xml.in.h:117
-msgid "CRULP"
-msgstr "CRULP"
-
-#: ../rules/base.xml.in.h:118
-msgid "Cambodia"
-msgstr "Kambodža"
-
-#: ../rules/base.xml.in.h:119
-msgid "Can"
-msgstr "CAN"
-
-#: ../rules/base.xml.in.h:120
-msgid "Canada"
-msgstr "Kanada"
-
-#: ../rules/base.xml.in.h:121
-msgid "Caps Lock"
-msgstr "Caps Lock"
-
-#: ../rules/base.xml.in.h:122
-msgid "CapsLock"
-msgstr "Caps Lock"
-
-#: ../rules/base.xml.in.h:123
-msgid "CapsLock (to first layout), Shift+CapsLock (to last layout)"
-msgstr "Caps Lock (na první rozložení), Shift+Caps Lock (na poslední rozložení)"
-
-#: ../rules/base.xml.in.h:124
-msgid "CapsLock (while pressed), Alt+CapsLock does the original capslock action"
-msgstr "Caps Lock (při stisknutí), Alt+Caps Lock provádí původní akci Caps Lock"
-
-#: ../rules/base.xml.in.h:125
-msgid "CapsLock acts as Shift with locking. Shift \"pauses\" CapsLock"
-msgstr "Caps Lock funguje jako Shift s uzamčením. Shift přerušuje Caps Lock."
-
-#: ../rules/base.xml.in.h:126
-msgid "CapsLock acts as Shift with locking. Shift doesn't affect CapsLock"
-msgstr "Caps Lock funguje jako Shift s uzamčením. Shift neovlivňuje Caps Lock."
-
-#: ../rules/base.xml.in.h:127
-msgid "CapsLock is disabled"
-msgstr "Klávesa Caps Lock je vypnuta"
-
-#: ../rules/base.xml.in.h:128
-msgid "CapsLock key behavior"
-msgstr "Chování klávesy Caps Lock"
-
-#: ../rules/base.xml.in.h:129
-msgid "CapsLock toggles Shift so all keys are affected"
-msgstr "Caps Lock přepne Shift, takže budou dotčeny všechny klávesy"
-
-#: ../rules/base.xml.in.h:130
-msgid "CapsLock toggles normal capitalization of alphabetic characters"
-msgstr "Caps Lock přepne běžný převod abecedních znaků na verzálky"
-
-#: ../rules/base.xml.in.h:131
-msgid "CapsLock uses internal capitalization. Shift \"pauses\" CapsLock"
-msgstr "Caps Lock používá vnitřní převod na verzálky. Shift přerušuje Caps Lock."
-
-#: ../rules/base.xml.in.h:132
-msgid "CapsLock uses internal capitalization. Shift doesn't affect CapsLock"
-msgstr "Caps Lock používá vnitřní převod na verzálky. Shift neovlivňuje Caps Lock."
-
-#: ../rules/base.xml.in.h:133
-msgid "Catalan variant with middle-dot L"
-msgstr "Katalánská varianta s ela geminada"
-
-#: ../rules/base.xml.in.h:134
-msgid "Cedilla"
-msgstr "Cédille"
-
-#: ../rules/base.xml.in.h:135
-msgid "Che"
-msgstr "CHE"
-
-#: ../rules/base.xml.in.h:136
-msgid "Cherokee"
-msgstr "Čerokí"
-
-#: ../rules/base.xml.in.h:137
-msgid "Cherry B.UNLIMITED"
-msgstr "Cherry B.UNLIMITED"
-
-#: ../rules/base.xml.in.h:138
-msgid "Cherry Blue Line CyBo@rd"
-msgstr "Cherry Blue Line CyBo@rd"
-
-#: ../rules/base.xml.in.h:139
-msgid "Cherry Blue Line CyBo@rd (alternate option)"
-msgstr "Cherry Blue Line CyBo@rd (alternativní volba)"
-
-#: ../rules/base.xml.in.h:140
-msgid "Cherry CyBo@rd USB-Hub"
-msgstr "Cherry CyBo@rd USB-Hub"
-
-#: ../rules/base.xml.in.h:141
-msgid "Cherry CyMotion Expert"
-msgstr "Cherry CyMotion Expert"
-
-#: ../rules/base.xml.in.h:142
-msgid "Cherry CyMotion Master Linux"
-msgstr "Cherry CyMotion Master Linux"
-
-#: ../rules/base.xml.in.h:143
-msgid "Cherry CyMotion Master XPress"
-msgstr "Cherry CyMotion Master XPress"
-
-#: ../rules/base.xml.in.h:144
-msgid "Chicony Internet Keyboard"
-msgstr "Chicony Internet Keyboard"
-
-#: ../rules/base.xml.in.h:145
-msgid "Chicony KB-9885"
-msgstr "Chicony KB-9885"
-
-#: ../rules/base.xml.in.h:146
-msgid "Chicony KU-0108"
-msgstr "Chicony KU-0108"
-
-#: ../rules/base.xml.in.h:147
-msgid "Chicony KU-0420"
-msgstr "Chicony KU-0420"
-
-#: ../rules/base.xml.in.h:148
-msgid "China"
-msgstr "Čína"
-
-#: ../rules/base.xml.in.h:149
-msgid "Chuvash"
-msgstr "Čuvašské"
-
-#: ../rules/base.xml.in.h:150
-msgid "Chuvash Latin"
-msgstr "Čuvašské latinské"
-
-#: ../rules/base.xml.in.h:151
-msgid "Classic"
-msgstr "Klasické"
-
-#: ../rules/base.xml.in.h:152
-msgid "Classic Dvorak"
-msgstr "Klasické Dvorak"
-
-#: ../rules/base.xml.in.h:153
-msgid "Classmate PC"
-msgstr "Classmate PC"
-
-#: ../rules/base.xml.in.h:154
-msgid "CloGaelach"
-msgstr "CloGaelach"
-
-#: ../rules/base.xml.in.h:155
-msgid "Colemak"
-msgstr "Colemak"
-
-#: ../rules/base.xml.in.h:156
-msgid "Compaq Easy Access Keyboard"
-msgstr "Compaq Easy Access Keyboard"
-
-#: ../rules/base.xml.in.h:157
-msgid "Compaq Internet Keyboard (13 keys)"
-msgstr "Compaq Internet Keyboard (13 kláves)"
-
-#: ../rules/base.xml.in.h:158
-msgid "Compaq Internet Keyboard (18 keys)"
-msgstr "Compaq Internet Keyboard (18 kláves)"
-
-#: ../rules/base.xml.in.h:159
-msgid "Compaq Internet Keyboard (7 keys)"
-msgstr "Compaq Internet Keyboard (7 kláves)"
-
-#: ../rules/base.xml.in.h:160
-msgid "Compaq iPaq Keyboard"
-msgstr "Compaq iPaq Keyboard"
-
-#: ../rules/base.xml.in.h:161
-msgid "Compose key position"
-msgstr "Umístění klávesy Compose"
-
-#: ../rules/base.xml.in.h:162
-msgid "Congo, Democratic Republic of the"
-msgstr "Konžská demokratická republika"
-
-#: ../rules/base.xml.in.h:163
-msgid "Control + Alt + Backspace"
-msgstr "Ctrl + Alt + Backspace"
-
-#: ../rules/base.xml.in.h:164
-msgid "Control is mapped to Alt keys, Alt is mapped to Win keys"
-msgstr "Ctrl je přiřazena ke klávesám Alt, Alt je přiřazena ke klávesám Win"
-
-#: ../rules/base.xml.in.h:165
-msgid "Control is mapped to Win keys (and the usual Ctrl keys)"
-msgstr "Ctrl je přiřazena ke klávesám Win (a obvyklým klávesám Ctrl)"
-
-#: ../rules/base.xml.in.h:166
-msgid "Creative Desktop Wireless 7000"
-msgstr "Creative Desktop Wireless 7000"
-
-#: ../rules/base.xml.in.h:167
-msgid "Crimean Tatar (Dobruca-1 Q)"
-msgstr "Krymskotatarské (Dobruca-1 Q)"
-
-#: ../rules/base.xml.in.h:168
-msgid "Crimean Tatar (Dobruca-2 Q)"
-msgstr "Krymskotatarské (Dobruca-2 Q)"
-
-#: ../rules/base.xml.in.h:169
-msgid "Crimean Tatar (Turkish Alt-Q)"
-msgstr "Krymskotatarské (turecké Alt-Q)"
-
-#: ../rules/base.xml.in.h:170
-msgid "Crimean Tatar (Turkish F)"
-msgstr "Krymskotatarské (turecké F)"
-
-#: ../rules/base.xml.in.h:171
-msgid "Crimean Tatar (Turkish Q)"
-msgstr "Krymskotatarské (turecké Q)"
-
-#: ../rules/base.xml.in.h:172
-msgid "Croatia"
-msgstr "Chorvatsko"
-
-#: ../rules/base.xml.in.h:173
-msgid "Ctrl key position"
-msgstr "Umístění klávesy Ctrl"
-
-#: ../rules/base.xml.in.h:174
-msgid "Ctrl+Shift"
-msgstr "Ctrl+Shift"
-
-#: ../rules/base.xml.in.h:175
-msgid "Cyrillic"
-msgstr "Cyrilice"
-
-#: ../rules/base.xml.in.h:176
-msgid "Cyrillic with guillemets"
-msgstr "Cyrilice s francouzskými uvozovkami"
-
-#: ../rules/base.xml.in.h:177
-msgid "Cyrillic, Z and ZHE swapped"
-msgstr "Cyrilice, prohozené Z a Ž"
-
-#: ../rules/base.xml.in.h:178
-msgid "Cze"
-msgstr "CZE"
-
-#: ../rules/base.xml.in.h:179
-msgid "Czechia"
-msgstr "Česko"
-
-#: ../rules/base.xml.in.h:180
-msgid "DOS"
-msgstr "DOS"
-
-#: ../rules/base.xml.in.h:181
-msgid "DRC"
-msgstr "DRC"
-
-#: ../rules/base.xml.in.h:182
-msgid "DTK2000"
-msgstr "DTK2000"
-
-#: ../rules/base.xml.in.h:183
-msgid "Dan"
-msgstr "DAN"
-
-#: ../rules/base.xml.in.h:184
-msgid "Dead acute"
-msgstr "Mrtvá čárka"
-
-#: ../rules/base.xml.in.h:185
-msgid "Dead grave acute"
-msgstr "Mrtvá opačná čárka (gravis)"
-
-#: ../rules/base.xml.in.h:186
-msgid "Default numeric keypad keys"
-msgstr "Výchozí numerická klávesnice"
-
-#: ../rules/base.xml.in.h:187
-msgid "Dell"
-msgstr "Dell"
-
-#: ../rules/base.xml.in.h:188
-msgid "Dell 101-key PC"
-msgstr "Dell PC 101klávesové"
-
-#: ../rules/base.xml.in.h:189
-msgid "Dell Laptop/notebook Inspiron 6xxx/8xxx"
-msgstr "Notebook Dell Inspiron 6xxx/8xxx"
-
-#: ../rules/base.xml.in.h:190
-msgid "Dell Laptop/notebook Precision M series"
-msgstr "Notebook Dell řady Precision M"
-
-#: ../rules/base.xml.in.h:191
-msgid "Dell Latitude series laptop"
-msgstr "Notebook řady Dell Latitude"
-
-#: ../rules/base.xml.in.h:192
-msgid "Dell Precision M65"
-msgstr "Dell Precision M65"
-
-#: ../rules/base.xml.in.h:193
-msgid "Dell SK-8125"
-msgstr "Dell SK-8125"
-
-#: ../rules/base.xml.in.h:194
-msgid "Dell SK-8135"
-msgstr "Dell SK-8135"
-
-#: ../rules/base.xml.in.h:195
-msgid "Dell USB Multimedia Keyboard"
-msgstr "Dell USB Multimedia Keyboard"
-
-#: ../rules/base.xml.in.h:196
-msgid "Denmark"
-msgstr "Dánsko"
-
-#: ../rules/base.xml.in.h:197
-msgid "Deu"
-msgstr "DEU"
-
-#: ../rules/base.xml.in.h:198
-msgid "Dexxa Wireless Desktop Keyboard"
-msgstr "Dexxa Wireless Desktop Keyboard"
-
-#: ../rules/base.xml.in.h:199
-msgid "Diamond 9801 / 9802 series"
-msgstr "Řada Diamond 9801 / 9802"
-
-#: ../rules/base.xml.in.h:200
-msgid "Dvorak"
-msgstr "Dvorak"
-
-#: ../rules/base.xml.in.h:201
-msgid "Dvorak (UK Punctuation)"
-msgstr "Dvorak (britská interpunkce)"
-
-#: ../rules/base.xml.in.h:202
-msgid "Dvorak international"
-msgstr "Dvorak mezinárodní"
-
-#: ../rules/base.xml.in.h:203
-msgid "Dvorak, Polish quotes on key 1"
-msgstr "Dvorak, polské uvozovky na klávese 1"
-
-#: ../rules/base.xml.in.h:204
-msgid "Dvorak, Polish quotes on quotemark key"
-msgstr "Dvorak, polské uvozovky na klávese uvozovky"
-
-#: ../rules/base.xml.in.h:205
-msgid "E"
-msgstr "E"
-
-#: ../rules/base.xml.in.h:206
-msgid "Eastern"
-msgstr "Východní"
-
-#: ../rules/base.xml.in.h:207
-msgid "Eliminate dead keys"
-msgstr "Vyloučit mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:208
-msgid "Enable extra typographic characters"
-msgstr "Povolit přídavné znaky hladké sazby"
-
-#: ../rules/base.xml.in.h:209
-msgid "English"
-msgstr "Anglické"
-
-#: ../rules/base.xml.in.h:210
-msgid "Ennyah DKB-1008"
-msgstr "Ennyah DKB-1008"
-
-#: ../rules/base.xml.in.h:211
-msgid "Enter on keypad"
-msgstr "Enter na numerické klávesnici"
-
-#: ../rules/base.xml.in.h:212
-msgid "Epo"
-msgstr "EPO"
-
-#: ../rules/base.xml.in.h:213
-msgid "Ergonomic"
-msgstr "Ergonomické"
-
-#: ../rules/base.xml.in.h:214
-msgid "Esp"
-msgstr "ESP"
-
-#: ../rules/base.xml.in.h:215
-msgid "Esperanto"
-msgstr "Esperanto"
-
-#: ../rules/base.xml.in.h:216
-msgid "Est"
-msgstr "EST"
-
-#: ../rules/base.xml.in.h:217
-msgid "Estonia"
-msgstr "Estonsko"
-
-#: ../rules/base.xml.in.h:218
-msgid "Eth"
-msgstr "ETH"
-
-#: ../rules/base.xml.in.h:219
-msgid "Ethiopia"
-msgstr "Etiopie"
-
-#: ../rules/base.xml.in.h:220
-msgid "Evdev-managed keyboard"
-msgstr "Klávesnice spravovaná pomocí Evdev"
-
-#: ../rules/base.xml.in.h:221
-msgid "Everex STEPnote"
-msgstr "Everex STEPnote"
-
-#: ../rules/base.xml.in.h:222
-msgid "Ewe"
-msgstr "Ewe"
-
-#: ../rules/base.xml.in.h:223
-msgid "Extended"
-msgstr "Rozšířené"
-
-#: ../rules/base.xml.in.h:224
-msgid "Extended - Winkeys"
-msgstr "Rozšířené - klávesy Win"
-
-#: ../rules/base.xml.in.h:225
-msgid "Extended Backslash"
-msgstr "Rozšířená klávesa zpětného lomítka"
-
-#: ../rules/base.xml.in.h:226
-msgid "F-letter (F) variant"
-msgstr "Varianta se znakem F"
-
-#: ../rules/base.xml.in.h:227
-msgid "FL90"
-msgstr "FL90"
-
-#: ../rules/base.xml.in.h:228
-msgid "Fao"
-msgstr "FAO"
-
-#: ../rules/base.xml.in.h:229
-msgid "Faroe Islands"
-msgstr "Faerské ostrovy"
-
-#: ../rules/base.xml.in.h:230
-msgid "Fin"
-msgstr "FIN"
-
-#: ../rules/base.xml.in.h:231
-msgid "Finland"
-msgstr "Finsko"
-
-#. This assumes the KP_ abstract symbols are actually useful for some apps
-#. The description needs to be rewritten
-#: ../rules/base.xml.in.h:234
-msgid "Four-level key with abstract separators"
-msgstr "Klávesa čtvrté úrovně s abstraktními oddělovači"
-
-#: ../rules/base.xml.in.h:235
-msgid "Four-level key with comma"
-msgstr "Klávesa čtvrté úrovně s čárkou"
-
-#: ../rules/base.xml.in.h:236
-msgid "Four-level key with dot"
-msgstr "Klávesa čtvrté úrovně s tečkou"
-
-#: ../rules/base.xml.in.h:237
-msgid "Four-level key with dot, latin-9 restriction"
-msgstr "Klávesa čtvrté úrovně s tečkou, omezení Latin-9"
-
-#: ../rules/base.xml.in.h:238
-msgid "Four-level key with momayyez"
-msgstr "Klávesa čtvrté úrovně se znakem momajjez"
-
-#: ../rules/base.xml.in.h:239
-msgid "Fra"
-msgstr "FRA"
-
-#: ../rules/base.xml.in.h:240
-msgid "France"
-msgstr "Francie"
-
-#: ../rules/base.xml.in.h:241
-msgid "French"
-msgstr "Francouzské"
-
-#: ../rules/base.xml.in.h:242
-msgid "French (Macintosh)"
-msgstr "Francouzské (Macintosh)"
-
-#: ../rules/base.xml.in.h:243
-msgid "French (legacy)"
-msgstr "Francouzské (zděděné)"
-
-#: ../rules/base.xml.in.h:244
-msgid "French Dvorak"
-msgstr "Francouzské Dvorak"
-
-#: ../rules/base.xml.in.h:245
-msgid "French, Sun dead keys"
-msgstr "Francouzské, mrtvé klávesy Sun"
-
-#: ../rules/base.xml.in.h:246
-msgid "French, eliminate dead keys"
-msgstr "Francouzské, vyloučit mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:247
-msgid "Fujitsu-Siemens Computers AMILO laptop"
-msgstr "Notebook Fujitsu-Siemens Computers AMILO"
-
-#: ../rules/base.xml.in.h:248
-msgid "Fula"
-msgstr "Fula"
-
-#: ../rules/base.xml.in.h:249
-msgid "GBr"
-msgstr "GBR"
-
-#: ../rules/base.xml.in.h:250
-msgid "Ga"
-msgstr "GA"
-
-#: ../rules/base.xml.in.h:251
-msgid "Generic 101-key PC"
-msgstr "Obecné PC 101klávesové"
-
-#: ../rules/base.xml.in.h:252
-msgid "Generic 102-key (Intl) PC"
-msgstr "Obecné PC 102klávesové (mez.)"
-
-#: ../rules/base.xml.in.h:253
-msgid "Generic 104-key PC"
-msgstr "Obecné PC 104klávesové"
-
-#: ../rules/base.xml.in.h:254
-msgid "Generic 105-key (Intl) PC"
-msgstr "Obecné PC 105klávesové (mez.)"
-
-#: ../rules/base.xml.in.h:255
-msgid "Genius Comfy KB-12e"
-msgstr "Genius Comfy KB-12e"
-
-#: ../rules/base.xml.in.h:256
-msgid "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
-msgstr "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
-
-#: ../rules/base.xml.in.h:257
-msgid "Genius Comfy KB-21e-Scroll"
-msgstr "Genius Comfy KB-21e-Scroll"
-
-#: ../rules/base.xml.in.h:258
-msgid "Genius KB-19e NB"
-msgstr "Genius KB-19e NB"
-
-#: ../rules/base.xml.in.h:259
-msgid "Genius KKB-2050HS"
-msgstr "Genius KKB-2050HS"
-
-#: ../rules/base.xml.in.h:260
-msgid "Geo"
-msgstr "GEO"
-
-#: ../rules/base.xml.in.h:261
-msgid "Georgia"
-msgstr "Gruzie"
-
-#: ../rules/base.xml.in.h:262
-msgid "Georgian"
-msgstr "Gruzínské"
-
-#: ../rules/base.xml.in.h:263
-msgid "Georgian AZERTY Tskapo"
-msgstr "Gruzínské AZERTY Tskapo"
-
-#: ../rules/base.xml.in.h:264
-msgid "German (Macintosh)"
-msgstr "Německé (Macintosh)"
-
-#: ../rules/base.xml.in.h:265
-msgid "German, Sun dead keys"
-msgstr "Německé, mrtvé klávesy Sun"
-
-#: ../rules/base.xml.in.h:266
-msgid "German, eliminate dead keys"
-msgstr "Německé, vyloučit mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:267
-msgid "Germany"
-msgstr "Německo"
-
-#: ../rules/base.xml.in.h:268
-msgid "Gha"
-msgstr "GHA"
-
-#: ../rules/base.xml.in.h:269
-msgid "Ghana"
-msgstr "Ghana"
-
-#: ../rules/base.xml.in.h:270
-msgid "Gre"
-msgstr "GRE"
-
-#: ../rules/base.xml.in.h:271
-msgid "Greece"
-msgstr "Řecko"
-
-#: ../rules/base.xml.in.h:272
-msgid "Group toggle on multiply/divide key"
-msgstr "Přepínání skupiny klávesou násobení/dělení"
-
-#: ../rules/base.xml.in.h:273
-msgid "Gui"
-msgstr "GUI"
-
-#: ../rules/base.xml.in.h:274
-msgid "Guinea"
-msgstr "Guinea"
-
-#: ../rules/base.xml.in.h:275
-msgid "Gujarati"
-msgstr "Gudžarátské"
-
-#: ../rules/base.xml.in.h:276
-msgid "Gurmukhi"
-msgstr "Gurmuchské"
-
-#: ../rules/base.xml.in.h:277
-msgid "Gurmukhi Jhelum"
-msgstr "Gurmuchské (Jhelum)"
-
-#: ../rules/base.xml.in.h:278
-msgid "Gyration"
-msgstr "Gyration"
-
-#: ../rules/base.xml.in.h:279
-msgid "Happy Hacking Keyboard"
-msgstr "Happy Hacking Keyboard"
-
-#: ../rules/base.xml.in.h:280
-msgid "Happy Hacking Keyboard for Mac"
-msgstr "Happy Hacking Keyboard for Mac"
-
-#: ../rules/base.xml.in.h:281
-msgid "Hausa"
-msgstr "Hausa"
-
-#: ../rules/base.xml.in.h:282
-msgid "Hewlett-Packard Internet Keyboard"
-msgstr "Hewlett-Packard Internet Keyboard"
-
-#: ../rules/base.xml.in.h:283
-msgid "Hewlett-Packard Mini 110 Notebook"
-msgstr "Hewlett-Packard Mini 110 Notebook"
-
-#: ../rules/base.xml.in.h:284
-msgid "Hewlett-Packard Omnibook 500 FA"
-msgstr "Hewlett-Packard Omnibook 500 FA"
-
-#: ../rules/base.xml.in.h:285
-msgid "Hewlett-Packard Omnibook 5xx"
-msgstr "Hewlett-Packard Omnibook 5xx"
-
-#: ../rules/base.xml.in.h:286
-msgid "Hewlett-Packard Omnibook 6000/6100"
-msgstr "Hewlett-Packard Omnibook 6000/6100"
-
-#: ../rules/base.xml.in.h:287
-msgid "Hewlett-Packard Omnibook XE3 GC"
-msgstr "Hewlett-Packard Omnibook XE3 GC"
-
-#: ../rules/base.xml.in.h:288
-msgid "Hewlett-Packard Omnibook XE3 GF"
-msgstr "Hewlett-Packard Omnibook XE3 GF"
-
-#: ../rules/base.xml.in.h:289
-msgid "Hewlett-Packard Omnibook XT1000"
-msgstr "Hewlett-Packard Omnibook XT1000"
-
-#: ../rules/base.xml.in.h:290
-msgid "Hewlett-Packard Pavilion ZT11xx"
-msgstr "Hewlett-Packard Pavilion ZT11xx"
-
-#: ../rules/base.xml.in.h:291
-msgid "Hewlett-Packard Pavilion dv5"
-msgstr "Hewlett-Packard Pavilion dv5"
-
-#: ../rules/base.xml.in.h:292
-msgid "Hewlett-Packard SK-250x Multimedia Keyboard"
-msgstr "Hewlett-Packard SK-250x Multimedia Keyboard"
-
-#: ../rules/base.xml.in.h:293
-msgid "Hewlett-Packard nx9020"
-msgstr "Hewlett-Packard nx9020"
-
-#: ../rules/base.xml.in.h:294
-msgid "Hexadecimal"
-msgstr "Hexadecimální"
-
-#: ../rules/base.xml.in.h:295
-msgid "Hindi Bolnagri"
-msgstr "Hindské bolnagri"
-
-#: ../rules/base.xml.in.h:296
-msgid "Hindi Wx"
-msgstr "Hindské Wx"
-
-#: ../rules/base.xml.in.h:297
-msgid "Homophonic"
-msgstr "Stejně znějící"
-
-#: ../rules/base.xml.in.h:298
-msgid "Honeywell Euroboard"
-msgstr "Honeywell Euroboard"
-
-#: ../rules/base.xml.in.h:299
-msgid "Hrv"
-msgstr "HRV"
-
-#: ../rules/base.xml.in.h:300
-msgid "Hun"
-msgstr "HUN"
-
-#: ../rules/base.xml.in.h:301
-msgid "Hungary"
-msgstr "Maďarsko"
-
-#: ../rules/base.xml.in.h:302
-msgid "Hyper is mapped to Win-keys"
-msgstr "Hyper je přiřazena ke klávesám Win"
-
-#: ../rules/base.xml.in.h:303
-msgid "IBM (LST 1205-92)"
-msgstr "IBM (LST 1205-92)"
-
-#: ../rules/base.xml.in.h:304
-msgid "IBM Rapid Access"
-msgstr "IBM Rapid Access"
-
-#: ../rules/base.xml.in.h:305
-msgid "IBM Rapid Access II"
-msgstr "IBM Rapid Access II"
-
-#: ../rules/base.xml.in.h:306
-msgid "IBM Space Saver"
-msgstr "IBM Space Saver"
-
-#: ../rules/base.xml.in.h:307
-msgid "IBM ThinkPad 560Z/600/600E/A22E"
-msgstr "IBM ThinkPad 560Z/600/600E/A22E"
-
-#: ../rules/base.xml.in.h:308
-msgid "IBM ThinkPad R60/T60/R61/T61"
-msgstr "IBM ThinkPad R60/T60/R61/T61"
-
-#: ../rules/base.xml.in.h:309
-msgid "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
-msgstr "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
-
-#: ../rules/base.xml.in.h:310
-msgid "ISO Alternate"
-msgstr "ISO alternativní"
-
-#: ../rules/base.xml.in.h:311
-msgid "Iceland"
-msgstr "Island"
-
-#: ../rules/base.xml.in.h:312
-msgid "Igbo"
-msgstr "Igbo"
-
-#: ../rules/base.xml.in.h:313
-msgid "Include dead tilde"
-msgstr "Zahrnout mrtvou klávesu vlnovky"
-
-#: ../rules/base.xml.in.h:314
-msgid "Ind"
-msgstr "IND"
-
-#: ../rules/base.xml.in.h:315
-msgid "India"
-msgstr "Indie"
-
-#: ../rules/base.xml.in.h:316
-msgid "International (AltGr dead keys)"
-msgstr "Mezinárodní (mrtvé klávesy AltGr)"
-
-#: ../rules/base.xml.in.h:317
-msgid "International (with dead keys)"
-msgstr "Mezinárodní (s mrtvými klávesami)"
-
-#: ../rules/base.xml.in.h:318
-msgid "Inuktitut"
-msgstr "Inuktitut"
-
-#: ../rules/base.xml.in.h:319
-msgid "Iran"
-msgstr "Írán"
-
-#: ../rules/base.xml.in.h:320
-msgid "Iraq"
-msgstr "Irák"
-
-#: ../rules/base.xml.in.h:321
-msgid "Ireland"
-msgstr "Irsko"
-
-#: ../rules/base.xml.in.h:322
-msgid "Irl"
-msgstr "IRL"
-
-#: ../rules/base.xml.in.h:323
-msgid "Irn"
-msgstr "IRN"
-
-#: ../rules/base.xml.in.h:324
-msgid "Irq"
-msgstr "IRQ"
-
-#: ../rules/base.xml.in.h:325
-msgid "Isl"
-msgstr "ISL"
-
-#: ../rules/base.xml.in.h:326
-msgid "Isr"
-msgstr "ISR"
-
-#: ../rules/base.xml.in.h:327
-msgid "Israel"
-msgstr "Izrael"
-
-#: ../rules/base.xml.in.h:328
-msgid "Ita"
-msgstr "ITA"
-
-#: ../rules/base.xml.in.h:329
-msgid "Italy"
-msgstr "Itálie"
-
-#: ../rules/base.xml.in.h:330
-msgid "Japan"
-msgstr "Japonsko"
-
-#: ../rules/base.xml.in.h:331
-msgid "Japan (PC-98xx Series)"
-msgstr "Japonsko (řada PC-98xx)"
-
-#: ../rules/base.xml.in.h:332
-msgid "Japanese keyboard options"
-msgstr "Volby japonské klávesnice"
-
-#: ../rules/base.xml.in.h:333
-msgid "Jpn"
-msgstr "JPN"
-
-#: ../rules/base.xml.in.h:334
-msgid "Kalmyk"
-msgstr "Kalmycké"
-
-#: ../rules/base.xml.in.h:335
-msgid "Kana"
-msgstr "Kana"
-
-#: ../rules/base.xml.in.h:336
-msgid "Kana Lock key is locking"
-msgstr "Klávesa Kana Lock uzamyká"
-
-#: ../rules/base.xml.in.h:337
-msgid "Kannada"
-msgstr "Kannadské"
-
-#: ../rules/base.xml.in.h:338
-msgid "Kashubian"
-msgstr "Kašubské"
-
-#: ../rules/base.xml.in.h:339
-msgid "Kaz"
-msgstr "KAZ"
-
-#: ../rules/base.xml.in.h:340
-msgid "Kazakh with Russian"
-msgstr "Kazašská s ruštinou"
-
-#: ../rules/base.xml.in.h:341
-msgid "Kazakhstan"
-msgstr "Kazachstán"
-
-#: ../rules/base.xml.in.h:342
-msgid "Key sequence to kill the X server"
-msgstr "Pořadí kláves zabíjející server X"
-
-#: ../rules/base.xml.in.h:343
-msgid "Key to choose 3rd level"
-msgstr "Klávesa umožňující výběr 3. úrovně"
-
-#: ../rules/base.xml.in.h:344
-msgid "Key(s) to change layout"
-msgstr "Klávesa měnící rozložení"
-
-#: ../rules/base.xml.in.h:345
-msgid "Keytronic FlexPro"
-msgstr "Keytronic FlexPro"
-
-#: ../rules/base.xml.in.h:346
-msgid "Kgz"
-msgstr "KGZ"
-
-#: ../rules/base.xml.in.h:347
-msgid "Khm"
-msgstr "KHM"
-
-#: ../rules/base.xml.in.h:348
-msgid "Komi"
-msgstr "Komi"
-
-#: ../rules/base.xml.in.h:349
-msgid "Kor"
-msgstr "KOR"
-
-#: ../rules/base.xml.in.h:350
-msgid "Korea, Republic of"
-msgstr "Korejská republika"
-
-#: ../rules/base.xml.in.h:351
-msgid "Ktunaxa"
-msgstr "Ktunaxa"
-
-#: ../rules/base.xml.in.h:352
-msgid "Kurdish, (F)"
-msgstr "Kurdské, (F)"
-
-#: ../rules/base.xml.in.h:353
-msgid "Kurdish, Arabic-Latin"
-msgstr "Kurdské, arabsko-latinské"
-
-#: ../rules/base.xml.in.h:354
-msgid "Kurdish, Latin Alt-Q"
-msgstr "Kurdské, latinské Alt-Q"
-
-#: ../rules/base.xml.in.h:355
-msgid "Kurdish, Latin Q"
-msgstr "Kurdské, latinské Q"
-
-#: ../rules/base.xml.in.h:356
-msgid "Kyrgyzstan"
-msgstr "Kyrgyzstán"
-
-#: ../rules/base.xml.in.h:357
-msgid "LAm"
-msgstr "LAm"
-
-#: ../rules/base.xml.in.h:358
-msgid "LEKP"
-msgstr "LEKP"
-
-#: ../rules/base.xml.in.h:359
-msgid "LEKPa"
-msgstr "LEKPa"
-
-#: ../rules/base.xml.in.h:360
-msgid "Lao"
-msgstr "LAO"
-
-#: ../rules/base.xml.in.h:361
-msgid "Laos"
-msgstr "Laos"
-
-#: ../rules/base.xml.in.h:362
-msgid "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard"
-msgstr "Laptop Keyboard pro notebook Compaq (např. Armada)"
-
-#: ../rules/base.xml.in.h:363
-msgid "Laptop/notebook Compaq (eg. Presario) Internet Keyboard"
-msgstr "Internet Keyboard pro notebook Compaq (např. Presario)"
-
-#: ../rules/base.xml.in.h:364
-msgid "Laptop/notebook eMachines m68xx"
-msgstr "Notebook eMachines m68xx"
-
-#: ../rules/base.xml.in.h:365
-msgid "Latin"
-msgstr "Latinské"
-
-#: ../rules/base.xml.in.h:366
-msgid "Latin American"
-msgstr "Latinskoamerické"
-
-#: ../rules/base.xml.in.h:367
-msgid "Latin Unicode"
-msgstr "Latinské Unicode"
-
-#: ../rules/base.xml.in.h:368
-msgid "Latin Unicode qwerty"
-msgstr "Latinské Unicode qwerty"
-
-#: ../rules/base.xml.in.h:369
-msgid "Latin qwerty"
-msgstr "Latinské qwerty"
-
-#: ../rules/base.xml.in.h:370
-msgid "Latin unicode"
-msgstr "Latinské Unicode"
-
-#: ../rules/base.xml.in.h:371
-msgid "Latin unicode qwerty"
-msgstr "Latinské Unicode qwerty"
-
-#: ../rules/base.xml.in.h:372
-msgid "Latin with guillemets"
-msgstr "Latinské s francouzskými uvozovkami"
-
-#: ../rules/base.xml.in.h:373
-msgid "Latvia"
-msgstr "Lotyšsko"
-
-#: ../rules/base.xml.in.h:374
-msgid "Lav"
-msgstr "LAV"
-
-#: ../rules/base.xml.in.h:375
-msgid "Left Alt"
-msgstr "Levá klávesa Alt"
-
-#: ../rules/base.xml.in.h:376
-msgid "Left Alt (while pressed)"
-msgstr "Levá klávesa Alt (při stisknutí)"
-
-#: ../rules/base.xml.in.h:377
-msgid "Left Alt is swapped with Left Win"
-msgstr "Levá klávesa Alt je prohozena s levou klávesou Win"
-
-#: ../rules/base.xml.in.h:378
-msgid "Left Ctrl"
-msgstr "Levá klávesa Ctrl"
-
-#: ../rules/base.xml.in.h:379
-msgid "Left Ctrl (to first layout), Right Ctrl (to last layout)"
-msgstr "Levá klávesa Ctrl (na první rozložení), pravá klávesa Ctrl (na poslední rozložení)"
-
-#: ../rules/base.xml.in.h:380
-msgid "Left Ctrl+Left Shift"
-msgstr "Levá klávesa Ctrl + levá klávesa Shift"
-
-#: ../rules/base.xml.in.h:381
-msgid "Left Shift"
-msgstr "Levá klávesa Shift"
-
-#: ../rules/base.xml.in.h:382
-msgid "Left Win"
-msgstr "Levá klávesa Win"
-
-#: ../rules/base.xml.in.h:383
-msgid "Left Win (to first layout), Right Win/Menu (to last layout)"
-msgstr "Levá klávesa Win (na první rozložení), pravá klávesa Win/Menu (na poslední rozložení)"
-
-#: ../rules/base.xml.in.h:384
-msgid "Left Win (while pressed)"
-msgstr "Levá klávesa Win (při stisknutí)"
-
-#: ../rules/base.xml.in.h:385
-msgid "Left hand"
-msgstr "Levoruké"
-
-#: ../rules/base.xml.in.h:386
-msgid "Left handed Dvorak"
-msgstr "Levoruké Dvorak"
-
-#: ../rules/base.xml.in.h:387
-msgid "Legacy"
-msgstr "Zděděné"
-
-#: ../rules/base.xml.in.h:388
-msgid "Legacy Wang 724"
-msgstr "Zděděná Wang 724"
-
-#. Actually, with KP_SEPARATOR, as the old keypad(comma)
-#: ../rules/base.xml.in.h:390
-msgid "Legacy key with comma"
-msgstr "Zděděná klávesa s čárkou"
-
-#: ../rules/base.xml.in.h:391
-msgid "Legacy key with dot"
-msgstr "Zděděná klávesa s tečkou"
-
-#: ../rules/base.xml.in.h:392
-msgid "Less-than/Greater-than"
-msgstr "Menší než/větší než"
-
-#: ../rules/base.xml.in.h:393
-msgid "Lithuania"
-msgstr "Litva"
-
-#: ../rules/base.xml.in.h:394
-msgid "Logitech Access Keyboard"
-msgstr "Logitech Access Keyboard"
-
-#: ../rules/base.xml.in.h:395
-msgid "Logitech Cordless Desktop"
-msgstr "Logitech Cordless Desktop"
-
-#: ../rules/base.xml.in.h:396
-msgid "Logitech Cordless Desktop (alternate option)"
-msgstr "Logitech Cordless Desktop (alternativní volba)"
-
-#: ../rules/base.xml.in.h:397
-msgid "Logitech Cordless Desktop EX110"
-msgstr "Logitech Cordless Desktop EX110"
-
-#: ../rules/base.xml.in.h:398
-msgid "Logitech Cordless Desktop LX-300"
-msgstr "Logitech Cordless Desktop LX-300"
-
-#: ../rules/base.xml.in.h:399
-msgid "Logitech Cordless Desktop Navigator"
-msgstr "Logitech Cordless Desktop Navigator"
-
-#: ../rules/base.xml.in.h:400
-msgid "Logitech Cordless Desktop Optical"
-msgstr "Logitech Cordless Desktop Optical"
-
-#: ../rules/base.xml.in.h:401
-msgid "Logitech Cordless Desktop Pro (alternate option 2)"
-msgstr "Logitech Cordless Desktop Pro (alternativní volba 2)"
-
-#: ../rules/base.xml.in.h:402
-msgid "Logitech Cordless Desktop iTouch"
-msgstr "Logitech Cordless Desktop iTouch"
-
-#: ../rules/base.xml.in.h:403
-msgid "Logitech Cordless Freedom/Desktop Navigator"
-msgstr "Logitech Cordless Freedom/Desktop Navigator"
-
-#: ../rules/base.xml.in.h:404
-msgid "Logitech G15 extra keys via G15daemon"
-msgstr "Přídavné klávesy Logitech G15 pomocí G15daemon"
-
-#: ../rules/base.xml.in.h:405
-msgid "Logitech Generic Keyboard"
-msgstr "Logitech Generic Keyboard"
-
-#: ../rules/base.xml.in.h:406
-msgid "Logitech Internet 350 Keyboard"
-msgstr "Logitech Internet 350 Keyboard"
-
-#: ../rules/base.xml.in.h:407
-msgid "Logitech Internet Keyboard"
-msgstr "Logitech Internet Keyboard"
-
-#: ../rules/base.xml.in.h:408
-msgid "Logitech Internet Navigator Keyboard"
-msgstr "Logitech Internet Navigator Keyboard"
-
-#: ../rules/base.xml.in.h:409
-msgid "Logitech Media Elite Keyboard"
-msgstr "Logitech Media Elite Keyboard"
-
-#: ../rules/base.xml.in.h:410
-msgid "Logitech Ultra-X Cordless Media Desktop Keyboard"
-msgstr "Logitech Ultra-X Cordless Media Desktop Keyboard"
-
-#: ../rules/base.xml.in.h:411
-msgid "Logitech Ultra-X Keyboard"
-msgstr "Logitech Ultra-X Keyboard"
-
-#: ../rules/base.xml.in.h:412
-msgid "Logitech diNovo Edge Keyboard"
-msgstr "Logitech diNovo Edge Keyboard"
-
-#: ../rules/base.xml.in.h:413
-msgid "Logitech diNovo Keyboard"
-msgstr "Logitech diNovo Keyboard"
-
-#: ../rules/base.xml.in.h:414
-msgid "Logitech iTouch"
-msgstr "Logitech iTouch"
-
-#: ../rules/base.xml.in.h:415
-msgid "Logitech iTouch Cordless Keyboard (model Y-RB6)"
-msgstr "Logitech iTouch Cordless Keyboard (model Y-RB6)"
-
-#: ../rules/base.xml.in.h:416
-msgid "Logitech iTouch Internet Navigator Keyboard SE"
-msgstr "Logitech iTouch Internet Navigator Keyboard SE"
-
-#: ../rules/base.xml.in.h:417
-msgid "Logitech iTouch Internet Navigator Keyboard SE (USB)"
-msgstr "Logitech iTouch Internet Navigator Keyboard SE (USB)"
-
-#: ../rules/base.xml.in.h:418
-msgid "Lower Sorbian"
-msgstr "Dolnolužické"
-
-#: ../rules/base.xml.in.h:419
-msgid "Lower Sorbian (qwertz)"
-msgstr "Dolnolužické (qwertz)"
-
-#: ../rules/base.xml.in.h:420
-msgid "Ltu"
-msgstr "LTU"
-
-#: ../rules/base.xml.in.h:421
-msgid "MESS"
-msgstr "MESS"
-
-#: ../rules/base.xml.in.h:422
-msgid "MNE"
-msgstr "MNE"
-
-#: ../rules/base.xml.in.h:423
-msgid "MacBook/MacBook Pro"
-msgstr "MacBook/MacBook Pro"
-
-#: ../rules/base.xml.in.h:424
-msgid "MacBook/MacBook Pro (Intl)"
-msgstr "MacBook/MacBook Pro (mez.)"
-
-#: ../rules/base.xml.in.h:425
-msgid "Macedonia"
-msgstr "Makedonie"
-
-#: ../rules/base.xml.in.h:426
-msgid "Macintosh"
-msgstr "Macintosh"
-
-#: ../rules/base.xml.in.h:427
-msgid "Macintosh Old"
-msgstr "Macintosh staré"
-
-#: ../rules/base.xml.in.h:428
-msgid "Macintosh, Sun dead keys"
-msgstr "Macintosh, mrtvé klávesy Sun"
-
-#: ../rules/base.xml.in.h:429
-msgid "Macintosh, eliminate dead keys"
-msgstr "Macintosh, vyloučit mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:430
-msgid "Make CapsLock an additional Backspace"
-msgstr "Vytvořit z klávesy Caps Lock další Backspace"
-
-#: ../rules/base.xml.in.h:431
-msgid "Make CapsLock an additional Ctrl"
-msgstr "Vytvořit z klávesy Caps Lock další Ctrl"
-
-#: ../rules/base.xml.in.h:432
-msgid "Make CapsLock an additional ESC"
-msgstr "Vytvořit z klávesy Caps Lock další Esc"
-
-#: ../rules/base.xml.in.h:433
-msgid "Make CapsLock an additional Hyper"
-msgstr "Vytvořit z klávesy Caps Lock další Hyper"
-
-#: ../rules/base.xml.in.h:434
-msgid "Make CapsLock an additional NumLock"
-msgstr "Vytvořit z klávesy Caps Lock další Num Lock"
-
-#: ../rules/base.xml.in.h:435
-msgid "Make CapsLock an additional Super"
-msgstr "Vytvořit z klávesy Caps Lock další Super"
-
-#: ../rules/base.xml.in.h:436
-msgid "Mal"
-msgstr "MAL"
-
-#: ../rules/base.xml.in.h:437
-msgid "Malayalam"
-msgstr "Malajálamské"
-
-#: ../rules/base.xml.in.h:438
-msgid "Malayalam Lalitha"
-msgstr "Malajálamské lalitha"
-
-#: ../rules/base.xml.in.h:439
-msgid "Maldives"
-msgstr "Maledivy"
-
-#: ../rules/base.xml.in.h:440
-msgid "Malta"
-msgstr "Malta"
-
-#: ../rules/base.xml.in.h:441
-msgid "Maltese keyboard with US layout"
-msgstr "Maltézská klávesnice s americkým rozložením"
-
-#: ../rules/base.xml.in.h:442
-msgid "Mao"
-msgstr "MAO"
-
-#: ../rules/base.xml.in.h:443
-msgid "Maori"
-msgstr "Maorské"
-
-#: ../rules/base.xml.in.h:444
-msgid "Memorex MX1998"
-msgstr "Memorex MX1998"
-
-#: ../rules/base.xml.in.h:445
-msgid "Memorex MX2500 EZ-Access Keyboard"
-msgstr "Memorex MX2500 EZ-Access Keyboard"
-
-#: ../rules/base.xml.in.h:446
-msgid "Memorex MX2750"
-msgstr "Memorex MX2750"
-
-#: ../rules/base.xml.in.h:447
-msgid "Menu"
-msgstr "Menu"
-
-#: ../rules/base.xml.in.h:448
-msgid "Meta is mapped to Left Win"
-msgstr "Meta je přiřazena k levé klávese Win"
-
-#: ../rules/base.xml.in.h:449
-msgid "Meta is mapped to Win keys"
-msgstr "Meta je přiřazena ke klávesám Win"
-
-#: ../rules/base.xml.in.h:450
-msgid "Microsoft Comfort Curve Keyboard 2000"
-msgstr "Microsoft Comfort Curve Keyboard 2000"
-
-#: ../rules/base.xml.in.h:451
-msgid "Microsoft Internet Keyboard"
-msgstr "Microsoft Internet Keyboard"
-
-#: ../rules/base.xml.in.h:452
-msgid "Microsoft Internet Keyboard Pro, Swedish"
-msgstr "Microsoft Internet Keyboard Pro, švédská"
-
-#: ../rules/base.xml.in.h:453
-msgid "Microsoft Natural"
-msgstr "Microsoft Natural"
-
-#: ../rules/base.xml.in.h:454
-msgid "Microsoft Natural Keyboard Elite"
-msgstr "Microsoft Natural Keyboard Elite"
-
-#: ../rules/base.xml.in.h:455
-msgid "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
-msgstr "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
-
-#: ../rules/base.xml.in.h:456
-msgid "Microsoft Natural Keyboard Pro OEM"
-msgstr "Microsoft Natural Keyboard Pro OEM"
-
-#: ../rules/base.xml.in.h:457
-msgid "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
-msgstr "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
-
-#: ../rules/base.xml.in.h:458
-msgid "Microsoft Natural Wireless Ergonomic Keyboard 7000"
-msgstr "Microsoft Natural Wireless Ergonomic Keyboard 7000"
-
-#: ../rules/base.xml.in.h:459
-msgid "Microsoft Office Keyboard"
-msgstr "Microsoft Office Keyboard"
-
-#: ../rules/base.xml.in.h:460
-msgid "Microsoft Wireless Multimedia Keyboard 1.0A"
-msgstr "Microsoft Wireless Multimedia Keyboard 1.0A"
-
-#: ../rules/base.xml.in.h:461
-msgid "Miscellaneous compatibility options"
-msgstr "Dodatečné volby kompatibility"
-
-#: ../rules/base.xml.in.h:462
-msgid "Mkd"
-msgstr "MKD"
-
-#: ../rules/base.xml.in.h:463
-msgid "Mlt"
-msgstr "MLT"
-
-#: ../rules/base.xml.in.h:464
-msgid "Mmr"
-msgstr "MMR"
-
-#: ../rules/base.xml.in.h:465
-msgid "Mng"
-msgstr "MNG"
-
-#: ../rules/base.xml.in.h:466
-msgid "Mongolia"
-msgstr "Mongolsko"
-
-#: ../rules/base.xml.in.h:467
-msgid "Montenegro"
-msgstr "Černá Hora"
-
-#: ../rules/base.xml.in.h:468
-msgid "Morocco"
-msgstr "Maroko"
-
-#: ../rules/base.xml.in.h:469
-msgid "Multilingual"
-msgstr "Vícejazyčné"
-
-#: ../rules/base.xml.in.h:470
-msgid "Multilingual, first part"
-msgstr "Vícejazyčné, první část"
-
-#: ../rules/base.xml.in.h:471
-msgid "Multilingual, second part"
-msgstr "Vícejazyčné, druhá část"
-
-#: ../rules/base.xml.in.h:472
-msgid "Myanmar"
-msgstr "Barma"
-
-#: ../rules/base.xml.in.h:473
-msgid "NICOLA-F style Backspace"
-msgstr "Backspace typu NICOLA-F"
-
-#: ../rules/base.xml.in.h:474
-msgid "NLA"
-msgstr "NLA"
-
-#: ../rules/base.xml.in.h:475
-msgid "Nativo"
-msgstr "Nativo"
-
-#: ../rules/base.xml.in.h:476
-msgid "Nativo for Esperanto"
-msgstr "Nativo pro esperanto"
-
-#: ../rules/base.xml.in.h:477
-msgid "Nativo for USA keyboards"
-msgstr "Nativo pro americké klávesnice"
-
-#: ../rules/base.xml.in.h:478
-msgid "Neo 2"
-msgstr "Neo 2"
-
-#: ../rules/base.xml.in.h:479
-msgid "Nep"
-msgstr "NEP"
-
-#: ../rules/base.xml.in.h:480
-msgid "Nepal"
-msgstr "Nepál"
-
-#: ../rules/base.xml.in.h:481
-msgid "Netherlands"
-msgstr "Nizozemsko"
-
-#: ../rules/base.xml.in.h:482
-msgid "New phonetic"
-msgstr "Nové fonetické"
-
-#: ../rules/base.xml.in.h:483
-msgid "Nig"
-msgstr "NIG"
-
-#: ../rules/base.xml.in.h:484
-msgid "Nigeria"
-msgstr "Nigérie"
-
-#: ../rules/base.xml.in.h:485
-msgid "Nld"
-msgstr "NLD"
-
-#: ../rules/base.xml.in.h:486
-msgid "Non-breakable space character at fourth level"
-msgstr "Na čtvrté úrovni znak nedělitelné mezery"
-
-#: ../rules/base.xml.in.h:487
-msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level"
-msgstr "Na čtvrté úrovni znak nedělitelné mezery, tenká nedělitelná mezera na šesté úrovni"
-
-#: ../rules/base.xml.in.h:488
-msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)"
-msgstr "Na čtvrté úrovni znak nedělitelné mezery, tenká nedělitelná mezera na šesté úrovni (přes Ctrl+Shift)"
-
-#: ../rules/base.xml.in.h:489
-msgid "Non-breakable space character at second level"
-msgstr "Na druhé úrovni znak nedělitelné mezery"
-
-#: ../rules/base.xml.in.h:490
-msgid "Non-breakable space character at third level"
-msgstr "Na třetí úrovni znak nedělitelné mezery"
-
-#: ../rules/base.xml.in.h:491
-msgid "Non-breakable space character at third level, nothing at fourth level"
-msgstr "Na třetí úrovni znak nedělitelné mezery, nic na úrovni čtvrté"
-
-#: ../rules/base.xml.in.h:492
-msgid "Non-breakable space character at third level, thin non-breakable space character at fourth level"
-msgstr "Na třetí úrovni znak nedělitelné mezery, tenká nedělitelná mezera na čtvrté úrovni"
-
-#: ../rules/base.xml.in.h:493
-msgid "Nor"
-msgstr "NOR"
-
-#: ../rules/base.xml.in.h:494
-msgid "Northern Saami"
-msgstr "Severolaponské"
-
-#: ../rules/base.xml.in.h:495
-msgid "Northern Saami, eliminate dead keys"
-msgstr "Severolaponské, vyloučit mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:496
-msgid "Northgate OmniKey 101"
-msgstr "Northgate OmniKey 101"
-
-#: ../rules/base.xml.in.h:497
-msgid "Norway"
-msgstr "Norsko"
-
-#: ../rules/base.xml.in.h:498
-msgid "NumLock"
-msgstr "Num Lock"
-
-#: ../rules/base.xml.in.h:499
-msgid "Numeric keypad delete key behaviour"
-msgstr "Chování klávesy Delete na numerické klávesnici"
-
-#: ../rules/base.xml.in.h:500
-msgid "Numeric keypad keys work as with Mac"
-msgstr "Klávesy numerické klávesnice fungují stejně jako u počítače Mac"
-
-#: ../rules/base.xml.in.h:501
-msgid "Numeric keypad layout selection"
-msgstr "Výběr rozložení numerické klávesnice"
-
-#: ../rules/base.xml.in.h:502
-msgid "OADG 109A"
-msgstr "OADG 109A"
-
-#: ../rules/base.xml.in.h:503
-msgid "OLPC"
-msgstr "OLPC"
-
-#: ../rules/base.xml.in.h:504
-msgid "OLPC Dari"
-msgstr "OLPC, darí"
-
-#: ../rules/base.xml.in.h:505
-msgid "OLPC Pashto"
-msgstr "OLPC, paštó"
-
-#: ../rules/base.xml.in.h:506
-msgid "OLPC Southern Uzbek"
-msgstr "OLPC, jihouzbecké"
-
-#: ../rules/base.xml.in.h:507
-msgid "Occitan"
-msgstr "Okcitánské"
-
-#: ../rules/base.xml.in.h:508
-msgid "Ogham"
-msgstr "Ogam"
-
-#: ../rules/base.xml.in.h:509
-msgid "Ogham IS434"
-msgstr "Ogham IS434"
-
-#: ../rules/base.xml.in.h:510
-msgid "Oriya"
-msgstr "Urijské"
-
-#: ../rules/base.xml.in.h:511
-msgid "Ortek MCK-800 MM/Internet keyboard"
-msgstr "Internet keyboard pro Ortek MCK-800 MM"
-
-#: ../rules/base.xml.in.h:512
-msgid "Ossetian"
-msgstr "Osetinské"
-
-#: ../rules/base.xml.in.h:513
-msgid "Ossetian, Winkeys"
-msgstr "Osetinské, klávesy Win"
-
-#: ../rules/base.xml.in.h:514
-msgid "Ossetian, legacy"
-msgstr "Osetinské, zděděné"
-
-#: ../rules/base.xml.in.h:515
-msgid "PC-98xx Series"
-msgstr "Řada PC-98xx"
-
-#: ../rules/base.xml.in.h:516
-msgid "Pak"
-msgstr "PAK"
-
-#: ../rules/base.xml.in.h:517
-msgid "Pakistan"
-msgstr "Pákistán"
-
-#: ../rules/base.xml.in.h:518
-msgid "Pashto"
-msgstr "Paštské"
-
-#: ../rules/base.xml.in.h:519
-msgid "Pattachote"
-msgstr "Pattachote"
-
-#: ../rules/base.xml.in.h:520
-msgid "Persian, with Persian Keypad"
-msgstr "Perské, s perskou numerickou klávesnicí"
-
-#: ../rules/base.xml.in.h:521
-msgid "Phonetic"
-msgstr "Fonetické"
-
-#: ../rules/base.xml.in.h:522
-msgid "Phonetic Winkeys"
-msgstr "Fonetické klávesy Win"
-
-#: ../rules/base.xml.in.h:523
-msgid "Pol"
-msgstr "POL"
-
-#: ../rules/base.xml.in.h:524
-msgid "Poland"
-msgstr "Polsko"
-
-#: ../rules/base.xml.in.h:525
-msgid "Polytonic"
-msgstr "Polytonické"
-
-#: ../rules/base.xml.in.h:526
-msgid "Portugal"
-msgstr "Portugalsko"
-
-#: ../rules/base.xml.in.h:527
-msgid "Probhat"
-msgstr "Prt"
-
-#: ../rules/base.xml.in.h:528
-msgid "Programmer Dvorak"
-msgstr "Programátorské Dvorak"
-
-#: ../rules/base.xml.in.h:529
-msgid "Propeller Voyager (KTEZ-1000)"
-msgstr "Propeller Voyager (KTEZ-1000)"
-
-#: ../rules/base.xml.in.h:530
-msgid "Prt"
-msgstr "PRT"
-
-#: ../rules/base.xml.in.h:531
-msgid "QTronix Scorpius 98N+"
-msgstr "QTronix Scorpius 98N+"
-
-#: ../rules/base.xml.in.h:532
-msgid "Right Alt"
-msgstr "Pravá klávesa Alt"
-
-#: ../rules/base.xml.in.h:533
-msgid "Right Alt (while pressed)"
-msgstr "Pravá klávesa Alt (při stisknutí)"
-
-#: ../rules/base.xml.in.h:534
-msgid "Right Alt key never chooses 3rd level"
-msgstr "Pravá klávesa Alt nikdy neumožní výběr 3. úrovně"
-
-#: ../rules/base.xml.in.h:535
-msgid "Right Alt, Shift+Right Alt key is Multi_Key"
-msgstr "Pravá klávesa Alt, Shift a pravá klávesa Alt je Multi_Key"
-
-#: ../rules/base.xml.in.h:536
-msgid "Right Ctrl"
-msgstr "Pravá klávesa Ctrl"
-
-#: ../rules/base.xml.in.h:537
-msgid "Right Ctrl (while pressed)"
-msgstr "Pravá klávesa Ctrl (při stisknutí)"
-
-#: ../rules/base.xml.in.h:538
-msgid "Right Ctrl as Right Alt"
-msgstr "Pravá klávesa Ctrl funguje jako pravá klávesa Alt"
-
-#: ../rules/base.xml.in.h:539
-msgid "Right Ctrl+Right Shift"
-msgstr "Pravá klávesa Ctrl + pravá klávesa Shift"
-
-#: ../rules/base.xml.in.h:540
-msgid "Right Shift"
-msgstr "Pravá klávesa Shift"
-
-#: ../rules/base.xml.in.h:541
-msgid "Right Win"
-msgstr "Pravá klávesa Win"
-
-#: ../rules/base.xml.in.h:542
-msgid "Right Win (while pressed)"
-msgstr "Pravá klávesa Win (při stisknutí)"
-
-#: ../rules/base.xml.in.h:543
-msgid "Right hand"
-msgstr "Pravoruké"
-
-#: ../rules/base.xml.in.h:544
-msgid "Right handed Dvorak"
-msgstr "Pravoruké Dvorak"
-
-#: ../rules/base.xml.in.h:545
-msgid "Romania"
-msgstr "Rumunsko"
-
-#: ../rules/base.xml.in.h:546
-msgid "Romanian keyboard with German letters"
-msgstr "Rumunská klávesnice s německými znaky"
-
-#: ../rules/base.xml.in.h:547
-msgid "Romanian keyboard with German letters, eliminate dead keys"
-msgstr "Rumunská klávesnice s německými znaky, vyloučit mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:548
-msgid "Rou"
-msgstr "ROU"
-
-#: ../rules/base.xml.in.h:549
-msgid "Rus"
-msgstr "RUS"
-
-#: ../rules/base.xml.in.h:550
-msgid "Russia"
-msgstr "Rusko"
-
-#: ../rules/base.xml.in.h:551
-msgid "Russian"
-msgstr "Ruské"
-
-#: ../rules/base.xml.in.h:552
-msgid "Russian phonetic"
-msgstr "Ruské fonetické"
-
-#: ../rules/base.xml.in.h:553
-msgid "Russian phonetic Dvorak"
-msgstr "Ruské fonetické Dvorak"
-
-#: ../rules/base.xml.in.h:554
-msgid "Russian phonetic, eliminate dead keys"
-msgstr "Ruské fonetické, vyloučit mrtvé klávesy"
-
-#: ../rules/base.xml.in.h:555
-msgid "Russian with Kazakh"
-msgstr "Ruská s kazaštinou"
-
-#: ../rules/base.xml.in.h:556
-msgid "SILVERCREST Multimedia Wireless Keyboard"
-msgstr "SILVERCREST Multimedia Wireless Keyboard"
-
-#: ../rules/base.xml.in.h:557
-msgid "SK-1300"
-msgstr "SK-1300"
-
-#: ../rules/base.xml.in.h:558
-msgid "SK-2500"
-msgstr "SK-2500"
-
-#: ../rules/base.xml.in.h:559
-msgid "SK-6200"
-msgstr "SK-6200"
-
-#: ../rules/base.xml.in.h:560
-msgid "SK-7100"
-msgstr "SK-7100"
-
-#: ../rules/base.xml.in.h:561 ../rules/base.extras.xml.in.h:7
-msgid "SRB"
-msgstr "SRB"
-
-#: ../rules/base.xml.in.h:562
-msgid "SVEN Ergonomic 2500"
-msgstr "SVEN Ergonomic 2500"
-
-#: ../rules/base.xml.in.h:563
-msgid "SVEN Slim 303"
-msgstr "SVEN Slim 303"
-
-#: ../rules/base.xml.in.h:564
-msgid "Samsung SDM 4500P"
-msgstr "Samsung SDM 4500P"
-
-#: ../rules/base.xml.in.h:565
-msgid "Samsung SDM 4510P"
-msgstr "Samsung SDM 4510P"
-
-#: ../rules/base.xml.in.h:566
-msgid "Scroll Lock"
-msgstr "Scroll Lock"
-
-#: ../rules/base.xml.in.h:567
-msgid "ScrollLock"
-msgstr "Scroll Lock"
-
-#: ../rules/base.xml.in.h:568
-msgid "Secwepemctsin"
-msgstr "Secwepemctsin"
-
-#: ../rules/base.xml.in.h:569
-msgid "Semi-colon on third level"
-msgstr "Středník na třetí úrovni"
-
-#: ../rules/base.xml.in.h:570 ../rules/base.extras.xml.in.h:8
-msgid "Serbia"
-msgstr "Srbsko"
-
-#: ../rules/base.xml.in.h:571
-msgid "Shift cancels CapsLock"
-msgstr "Shift ruší Caps Lock"
-
-#: ../rules/base.xml.in.h:572
-msgid "Shift does not cancel NumLock, chooses 3d level instead"
-msgstr "Shift neruší Num Lock, namísto toho vybírá 3. úroveň"
-
-#: ../rules/base.xml.in.h:573
-msgid "Shift with numeric keypad keys works as in MS Windows"
-msgstr "Shift s numerickými klávesami funguje jako v MS Windows"
-
-#: ../rules/base.xml.in.h:574
-msgid "Shift+CapsLock"
-msgstr "Shift+Caps Lock"
-
-#: ../rules/base.xml.in.h:575
-msgid "Simple"
-msgstr "Jednoduché"
-
-#: ../rules/base.xml.in.h:576
-msgid "Slovakia"
-msgstr "Slovensko"
-
-#: ../rules/base.xml.in.h:577
-msgid "Slovenia"
-msgstr "Slovinsko"
-
-#: ../rules/base.xml.in.h:578
-msgid "South Africa"
-msgstr "Jižní Afrika"
-
-#: ../rules/base.xml.in.h:579
-msgid "Southern Uzbek"
-msgstr "Jihouzbecké"
-
-#: ../rules/base.xml.in.h:580
-msgid "Spain"
-msgstr "Španělsko"
-
-#: ../rules/base.xml.in.h:581
-msgid "Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server"
-msgstr "Speciální klávesy (Ctrl+Alt+&lt;klávesa&gt;) zpracovány v serveru"
-
-#: ../rules/base.xml.in.h:582
-msgid "SrL"
-msgstr "SRL"
-
-#: ../rules/base.xml.in.h:583
-msgid "Sri Lanka"
-msgstr "Srí Lanka"
-
-#: ../rules/base.xml.in.h:584
-msgid "Standard"
-msgstr "Standardní"
-
-#: ../rules/base.xml.in.h:585
-msgid "Standard (Cedilla)"
-msgstr "Standardní (cédille)"
-
-#. RSTU 2019-91
-#: ../rules/base.xml.in.h:587
-msgid "Standard RSTU"
-msgstr "Standardní RSTU"
-
-#. RSTU 2019-91
-#: ../rules/base.xml.in.h:589
-msgid "Standard RSTU on Russian layout"
-msgstr "Standardní RSTU s ruským rozložením"
-
-#: ../rules/base.xml.in.h:590
-msgid "Sun Type 5/6"
-msgstr "Sun Type 5/6"
-
-#: ../rules/base.xml.in.h:591
-msgid "Sun dead keys"
-msgstr "Mrtvé klávesy Sun"
-
-#: ../rules/base.xml.in.h:592
-msgid "Super Power Multimedia Keyboard"
-msgstr "Super Power Multimedia Keyboard"
-
-#: ../rules/base.xml.in.h:593
-msgid "Svdvorak"
-msgstr "Svdvorak"
-
-#: ../rules/base.xml.in.h:594
-msgid "Svk"
-msgstr "SVK"
-
-#: ../rules/base.xml.in.h:595
-msgid "Svn"
-msgstr "SVN"
-
-#: ../rules/base.xml.in.h:596
-msgid "Swap Ctrl and CapsLock"
-msgstr "Zaměnit Ctrl a Caps Lock"
-
-#: ../rules/base.xml.in.h:597
-msgid "Swap ESC and CapsLock"
-msgstr "Zaměnit Esc a Caps Lock"
-
-#: ../rules/base.xml.in.h:598
-msgid "Swe"
-msgstr "SWE"
-
-#: ../rules/base.xml.in.h:599
-msgid "Sweden"
-msgstr "Švédsko"
-
-#: ../rules/base.xml.in.h:600
-msgid "Switzerland"
-msgstr "Švýcarsko"
-
-#: ../rules/base.xml.in.h:601
-msgid "Symplon PaceBook (tablet PC)"
-msgstr "Symplon PaceBook (tablet PC)"
-
-#: ../rules/base.xml.in.h:602
-msgid "Syr"
-msgstr "SYR"
-
-#: ../rules/base.xml.in.h:603
-msgid "Syria"
-msgstr "Sýrie"
-
-#: ../rules/base.xml.in.h:604
-msgid "Syriac"
-msgstr "Syrské"
-
-#: ../rules/base.xml.in.h:605
-msgid "Syriac phonetic"
-msgstr "Syrské fonetické"
-
-#: ../rules/base.xml.in.h:606
-msgid "TIS-820.2538"
-msgstr "TIS-820.2538"
-
-#: ../rules/base.xml.in.h:607
-msgid "Tajikistan"
-msgstr "Tádžikistán"
-
-#: ../rules/base.xml.in.h:608
-msgid "Tamil"
-msgstr "Tamilské"
-
-#: ../rules/base.xml.in.h:609
-msgid "Tamil TAB Typewriter"
-msgstr "Tamil TAB Typewriter"
-
-#: ../rules/base.xml.in.h:610
-msgid "Tamil TSCII Typewriter"
-msgstr "Tamil TSCII Typewriter"
-
-#: ../rules/base.xml.in.h:611
-msgid "Tamil Unicode"
-msgstr "Tamilské Unicode"
-
-#: ../rules/base.xml.in.h:612
-msgid "Targa Visionary 811"
-msgstr "Targa Visionary 811"
-
-#: ../rules/base.xml.in.h:613
-msgid "Tatar"
-msgstr "Tatarské"
-
-#: ../rules/base.xml.in.h:614
-msgid "Telugu"
-msgstr "Tegulské"
-
-#: ../rules/base.xml.in.h:615
-msgid "Tha"
-msgstr "THA"
-
-#: ../rules/base.xml.in.h:616
-msgid "Thailand"
-msgstr "Thajsko"
-
-#: ../rules/base.xml.in.h:617
-msgid "Tibetan"
-msgstr "Tibetské"
-
-#: ../rules/base.xml.in.h:618
-msgid "Tibetan (with ASCII numerals)"
-msgstr "Tibetské (s číslicemi ASCII)"
-
-#: ../rules/base.xml.in.h:619
-msgid "Tifinagh"
-msgstr "Tifinagh"
-
-#: ../rules/base.xml.in.h:620
-msgid "Tifinagh Alternative"
-msgstr "Tifinagh, alternativní"
-
-#: ../rules/base.xml.in.h:621
-msgid "Tifinagh Alternative Phonetic"
-msgstr "Tifinagh, alternativní fonetické"
-
-#: ../rules/base.xml.in.h:622
-msgid "Tifinagh Extended"
-msgstr "Tifinagh, rozšířené"
-
-#: ../rules/base.xml.in.h:623
-msgid "Tifinagh Extended Phonetic"
-msgstr "Tifinagh, rozšířené fonetické"
-
-#: ../rules/base.xml.in.h:624
-msgid "Tifinagh Phonetic"
-msgstr "Tifinagh, fonetické"
-
-#: ../rules/base.xml.in.h:625
-msgid "Tilde (~) variant"
-msgstr "Varianta s vlnovkou (~)"
-
-#: ../rules/base.xml.in.h:626
-msgid "Tjk"
-msgstr "TJK"
-
-#: ../rules/base.xml.in.h:627
-msgid "To the corresponding key in a Dvorak keyboard."
-msgstr "K odpovídající klávese na klávesnici Dvorak."
-
-#: ../rules/base.xml.in.h:628
-msgid "To the corresponding key in a Qwerty keyboard."
-msgstr "K odpovídající klávese na klávesnici Qwerty."
-
-#: ../rules/base.xml.in.h:629
-msgid "Toshiba Satellite S3000"
-msgstr "Toshiba Satellite S3000"
-
-#: ../rules/base.xml.in.h:630
-msgid "Traditional phonetic"
-msgstr "Tradiční fonetické"
-
-#: ../rules/base.xml.in.h:631
-msgid "Trust Direct Access Keyboard"
-msgstr "Trust Direct Access Keyboard"
-
-#: ../rules/base.xml.in.h:632
-msgid "Trust Slimline"
-msgstr "Trust Slimline"
-
-#: ../rules/base.xml.in.h:633
-msgid "Trust Wireless Keyboard Classic"
-msgstr "Trust Wireless Keyboard Classic"
-
-#: ../rules/base.xml.in.h:634
-msgid "Tur"
-msgstr "TUR"
-
-#: ../rules/base.xml.in.h:635
-msgid "Turkey"
-msgstr "Turecko"
-
-#: ../rules/base.xml.in.h:636
-msgid "Turkmenistan"
-msgstr "Turkmenistán"
-
-#: ../rules/base.xml.in.h:637
-msgid "Typewriter"
-msgstr "Psací stroj"
-
-#: ../rules/base.xml.in.h:638
-msgid "Typewriter, legacy"
-msgstr "Psací stroj, zděděné"
-
-#: ../rules/base.xml.in.h:639
-msgid "UCW layout (accented letters only)"
-msgstr "Rozložení UCW (pouze znaky s diakritikou)"
-
-#: ../rules/base.xml.in.h:640
-msgid "US keyboard with Bosnian digraphs"
-msgstr "Americká klávesnice s bosenskými spřežkami"
-
-#: ../rules/base.xml.in.h:641
-msgid "US keyboard with Bosnian letters"
-msgstr "Americká klávesnice s bosenskými znaky"
-
-#: ../rules/base.xml.in.h:642
-msgid "US keyboard with Croatian digraphs"
-msgstr "Americká klávesnice s chorvatskými spřežkami"
-
-#: ../rules/base.xml.in.h:643
-msgid "US keyboard with Croatian letters"
-msgstr "Americká klávesnice s chorvatskými znaky"
-
-#: ../rules/base.xml.in.h:644
-msgid "US keyboard with Estonian letters"
-msgstr "Americká klávesnice s estonskými znaky"
-
-#: ../rules/base.xml.in.h:645
-msgid "US keyboard with Italian letters"
-msgstr "Americká klávesnice s italskými znaky"
-
-#: ../rules/base.xml.in.h:646
-msgid "US keyboard with Lithuanian letters"
-msgstr "Americká klávesnice s litevskými znaky"
-
-#: ../rules/base.xml.in.h:647
-msgid "US keyboard with Slovenian letters"
-msgstr "Americká klávesnice se slovinskými znaky"
-
-#: ../rules/base.xml.in.h:648 ../rules/base.extras.xml.in.h:9
-msgid "USA"
-msgstr "USA"
-
-#: ../rules/base.xml.in.h:649
-msgid "Udmurt"
-msgstr "Udmurtské"
-
-#: ../rules/base.xml.in.h:650
-msgid "Ukr"
-msgstr "UKR"
-
-#: ../rules/base.xml.in.h:651
-msgid "Ukraine"
-msgstr "Ukrajina"
-
-#: ../rules/base.xml.in.h:652
-msgid "Unicode additions (arrows and math operators)"
-msgstr "Doplňky Unicode (šipky a matematické operátory)"
-
-#: ../rules/base.xml.in.h:653
-msgid "Unicode additions (arrows and math operators). Math operators on default level"
-msgstr "Doplňky Unicode (šipky a matematické operátory). Matematické operátory na výchozí úrovni."
-
-#: ../rules/base.xml.in.h:654
-msgid "UnicodeExpert"
-msgstr "UnicodeExpert"
-
-#: ../rules/base.xml.in.h:655
-msgid "United Kingdom"
-msgstr "Spojené království"
-
-#: ../rules/base.xml.in.h:656
-msgid "Unitek KB-1925"
-msgstr "Unitek KB-1925"
-
-#: ../rules/base.xml.in.h:657
-msgid "Urdu, Alternative phonetic"
-msgstr "Urdské, alternativní fonetické"
-
-#: ../rules/base.xml.in.h:658
-msgid "Urdu, Phonetic"
-msgstr "Urdské, fonetické"
-
-#: ../rules/base.xml.in.h:659
-msgid "Urdu, Winkeys"
-msgstr "Urdské, klávesy Win"
-
-#: ../rules/base.xml.in.h:660
-msgid "Use Bosnian digraphs"
-msgstr "Používat bosenské spřežky"
-
-#: ../rules/base.xml.in.h:661
-msgid "Use Croatian digraphs"
-msgstr "Používat chorvatské spřežky"
-
-#: ../rules/base.xml.in.h:662
-msgid "Use guillemets for quotes"
-msgstr "Používat francouzské uvozovky"
-
-#: ../rules/base.xml.in.h:663
-msgid "Use keyboard LED to show alternative layout"
-msgstr "Použít LED klávesnice k zobrazení alternativního rozložení"
-
-#: ../rules/base.xml.in.h:664
-msgid "Using space key to input non-breakable space character"
-msgstr "Používání mezerníku k zadávání znaku nedělitelné mezery"
-
-#: ../rules/base.xml.in.h:665
-msgid "Usual space at any level"
-msgstr "Na jakékoliv úrovni znak běžné mezery"
-
-#: ../rules/base.xml.in.h:666
-msgid "Uzb"
-msgstr "UZB"
-
-#: ../rules/base.xml.in.h:667
-msgid "Uzbekistan"
-msgstr "Uzbekistán"
-
-#: ../rules/base.xml.in.h:668
-msgid "Vietnam"
-msgstr "Vietnam"
-
-#: ../rules/base.xml.in.h:669
-msgid "ViewSonic KU-306 Internet Keyboard"
-msgstr "ViewSonic KU-306 Internet Keyboard"
-
-#: ../rules/base.xml.in.h:670
-msgid "Vnm"
-msgstr "VNM"
-
-#: ../rules/base.xml.in.h:671
-msgid "Wang 724 keypad with unicode additions (arrows and math operators)"
-msgstr "Numerická klávesnice Wang 724 s doplňky Unicode (šipky a matematické operátory)"
-
-#: ../rules/base.xml.in.h:672
-msgid "Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level"
-msgstr "Numerická klávesnice Wang 724 s doplňky Unicode (šipky a matematické operátory). Matematické operátory na výchozí úrovni."
-
-#: ../rules/base.xml.in.h:673
-msgid "Wang model 724 azerty"
-msgstr "Wang, model 724 azerty"
-
-#: ../rules/base.xml.in.h:674
-msgid "Western"
-msgstr "Západní"
-
-#: ../rules/base.xml.in.h:675
-msgid "Winbook Model XP5"
-msgstr "Winbook Model XP5"
-
-#: ../rules/base.xml.in.h:676
-msgid "Winkeys"
-msgstr "Klávesy Win"
-
-#: ../rules/base.xml.in.h:677
-msgid "With &lt;\\|&gt; key"
-msgstr "S klávesou &lt;\\|&gt;"
-
-#: ../rules/base.xml.in.h:678
-msgid "With EuroSign on 5"
-msgstr "Se znakem eura na klávese 5"
-
-#: ../rules/base.xml.in.h:679
-msgid "With guillemets"
-msgstr "S francouzskými uvozovkami"
-
-#: ../rules/base.xml.in.h:680
-msgid "Yahoo! Internet Keyboard"
-msgstr "Yahoo! Internet Keyboard"
-
-#: ../rules/base.xml.in.h:681
-msgid "Yakut"
-msgstr "jakutské"
-
-#: ../rules/base.xml.in.h:682
-msgid "Yoruba"
-msgstr "Jorubské"
-
-#: ../rules/base.xml.in.h:683
-msgid "Z and ZHE swapped"
-msgstr "Prohozené Z a Ž"
-
-#: ../rules/base.xml.in.h:684
-msgid "Zar"
-msgstr "ZAR"
-
-#: ../rules/base.xml.in.h:685
-msgid "azerty"
-msgstr "azerty"
-
-#: ../rules/base.xml.in.h:686
-msgid "azerty/digits"
-msgstr "azerty/číslice"
-
-#: ../rules/base.xml.in.h:687
-msgid "digits"
-msgstr "číslice"
-
-#: ../rules/base.xml.in.h:688
-msgid "displaced semicolon and quote (obsolete)"
-msgstr "posunutý středník a uvozovka (zastaralé)"
-
-#: ../rules/base.xml.in.h:689
-msgid "lyx"
-msgstr "lyx"
-
-#: ../rules/base.xml.in.h:690
-msgid "qwerty"
-msgstr "qwerty"
-
-#: ../rules/base.xml.in.h:691
-msgid "qwerty, extended Backslash"
-msgstr "qwerty, rozšířená klávesa zpětného lomítka"
-
-#: ../rules/base.xml.in.h:692
-msgid "qwerty/digits"
-msgstr "qwerty/číslice"
-
-#: ../rules/base.xml.in.h:693
-msgid "qwertz"
-msgstr "qwertz"
-
-#: ../rules/base.extras.xml.in.h:1
-msgid "APL"
-msgstr "APL"
-
-#: ../rules/base.extras.xml.in.h:2
-msgid "Atsina"
-msgstr "Atsina"
-
-#: ../rules/base.extras.xml.in.h:3
-msgid "Combining accents instead of dead keys"
-msgstr "Místo mrtvých kláves kombinovaná diakritika"
-
-#: ../rules/base.extras.xml.in.h:4
-msgid "Couer D'alene Salish"
-msgstr "Salishské (Coeur d'Alene)"
-
-#: ../rules/base.extras.xml.in.h:5
-msgid "International (AltGr Unicode combining)"
-msgstr "Mezinárodní (AltGr kombinované Unicode)"
-
-#: ../rules/base.extras.xml.in.h:6
-msgid "International (AltGr Unicode combining, alternative)"
-msgstr "Mezinárodní (AltGr kombinované Unicode, alternativní)"
+# Translation of xkeyboard-config to Czech.
+# Copyright (C) 2007, 2008, 2009, 2010 the author(s) of xkeyboard-config.
+# This file is distributed under the same license as the xkeyboard-config package.
+# Michal Bukovjan <bukm@centrum.cz>, 2003.
+# Petr Kovar <pknbe@volny.cz>, 2007, 2008, 2009, 2010.
+msgid ""
+msgstr ""
+"Project-Id-Version: xkeyboard-config-1.9\n"
+"Report-Msgid-Bugs-To: svu@users.sourceforge.net\n"
+"POT-Creation-Date: 2010-05-11 21:34+0100\n"
+"PO-Revision-Date: 2010-07-11 19:44+0200\n"
+"Last-Translator: Petr Kovar <pknbe@volny.cz>\n"
+"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#: ../rules/base.xml.in.h:1
+msgid "&lt;Less/Greater&gt;"
+msgstr "&lt;Menší než/větší než&gt;"
+
+#: ../rules/base.xml.in.h:2
+msgid "&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr "&lt;Menší než/Větší než&gt; vybírá 5. úroveň, uzamyká při stisknutí společně s jinou výběrovou klávesou 5. úrovně"
+
+#: ../rules/base.xml.in.h:3
+msgid "&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr "&lt;Menší než/Větší než&gt; vybírá 5. úroveň, uzamyká při stisknutí společně s jinou výběrovou klávesou 5. úrovně, jedno stisknutí ruší uzamčení"
+
+#: ../rules/base.xml.in.h:4
+msgid "(F)"
+msgstr "(F)"
+
+#: ../rules/base.xml.in.h:5
+msgid "(Legacy) Alternative"
+msgstr "(Zděděné) alternativní"
+
+#: ../rules/base.xml.in.h:6
+msgid "(Legacy) Alternative, Sun dead keys"
+msgstr "(Zděděné) alternativní, mrtvé klávesy Sun"
+
+#: ../rules/base.xml.in.h:7
+msgid "(Legacy) Alternative, eliminate dead keys"
+msgstr "(Zděděné) alternativní, vyloučit mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:8
+msgid "101/104 key Compatible"
+msgstr "101/104klávesové, kompatibilní"
+
+#: ../rules/base.xml.in.h:9
+msgid "101/qwerty/comma/Dead keys"
+msgstr "101/qwerty/čárka/mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:10
+msgid "101/qwerty/comma/Eliminate dead keys"
+msgstr "101/qwerty/čárka/vyloučit mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:11
+msgid "101/qwerty/dot/Dead keys"
+msgstr "101/qwerty/tečka/mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:12
+msgid "101/qwerty/dot/Eliminate dead keys"
+msgstr "101/qwerty/tečka/vyloučit mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:13
+msgid "101/qwertz/comma/Dead keys"
+msgstr "101/qwertz/čárka/mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:14
+msgid "101/qwertz/comma/Eliminate dead keys"
+msgstr "101/qwertz/čárka/vyloučit mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:15
+msgid "101/qwertz/dot/Dead keys"
+msgstr "101/qwertz/tečka/mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:16
+msgid "101/qwertz/dot/Eliminate dead keys"
+msgstr "101/qwertz/tečka/vyloučit mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:17
+msgid "102/qwerty/comma/Dead keys"
+msgstr "102/qwerty/čárka/mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:18
+msgid "102/qwerty/comma/Eliminate dead keys"
+msgstr "102/qwerty/čárka/vyloučit mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:19
+msgid "102/qwerty/dot/Dead keys"
+msgstr "102/qwerty/tečka/mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:20
+msgid "102/qwerty/dot/Eliminate dead keys"
+msgstr "102/qwerty/tečka/vyloučit mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:21
+msgid "102/qwertz/comma/Dead keys"
+msgstr "102/qwertz/čárka/mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:22
+msgid "102/qwertz/comma/Eliminate dead keys"
+msgstr "102/qwertz/čárka/vyloučit mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:23
+msgid "102/qwertz/dot/Dead keys"
+msgstr "102/qwertz/tečka/mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:24
+msgid "102/qwertz/dot/Eliminate dead keys"
+msgstr "102/qwertz/tečka/vyloučit mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:25
+msgid "2"
+msgstr "2"
+
+#: ../rules/base.xml.in.h:26
+msgid "4"
+msgstr "4"
+
+#: ../rules/base.xml.in.h:27
+msgid "5"
+msgstr "5"
+
+#: ../rules/base.xml.in.h:28
+msgid "A4Tech KB-21"
+msgstr "A4Tech KB-21"
+
+#: ../rules/base.xml.in.h:29
+msgid "A4Tech KBS-8"
+msgstr "A4Tech KBS-8"
+
+#: ../rules/base.xml.in.h:30
+msgid "A4Tech Wireless Desktop RFKB-23"
+msgstr "A4Tech Wireless Desktop RFKB-23"
+
+#: ../rules/base.xml.in.h:31
+msgid "ATM/phone-style"
+msgstr "ATM/telefonní typ"
+
+#: ../rules/base.xml.in.h:32
+msgid "Acer AirKey V"
+msgstr "Acer AirKey V"
+
+#: ../rules/base.xml.in.h:33
+msgid "Acer C300"
+msgstr "Acer C300"
+
+#: ../rules/base.xml.in.h:34
+msgid "Acer Ferrari 4000"
+msgstr "Acer Ferrari 4000"
+
+#: ../rules/base.xml.in.h:35
+msgid "Acer Laptop"
+msgstr "Acer Laptop"
+
+#: ../rules/base.xml.in.h:36
+msgid "Add the standard behavior to Menu key"
+msgstr "Přidá standardní chování ke klávese Menu"
+
+#: ../rules/base.xml.in.h:37
+msgid "Adding Esperanto circumflexes (supersigno)"
+msgstr "Přidává průtažný přízvuk v esperantu (supersigno)"
+
+#: ../rules/base.xml.in.h:38
+msgid "Adding EuroSign to certain keys"
+msgstr "Přidává znak eura k určitým klávesám"
+
+#: ../rules/base.xml.in.h:39
+msgid "Advance Scorpius KI"
+msgstr "Advance Scorpius KI"
+
+#: ../rules/base.xml.in.h:40
+msgid "Afg"
+msgstr "AFG"
+
+#: ../rules/base.xml.in.h:41
+msgid "Afghanistan"
+msgstr "Afghánistán"
+
+#: ../rules/base.xml.in.h:42
+msgid "Akan"
+msgstr "Akan"
+
+#: ../rules/base.xml.in.h:43
+msgid "Alb"
+msgstr "ALB"
+
+#: ../rules/base.xml.in.h:44
+msgid "Albania"
+msgstr "Albánie"
+
+#: ../rules/base.xml.in.h:45
+msgid "Alt and Meta are on Alt keys"
+msgstr "Alt a Meta na klávesách Alt"
+
+#: ../rules/base.xml.in.h:46
+msgid "Alt is mapped to Right Win, Super to Menu"
+msgstr "Alt je přiřazena k pravé klávese Win a Super k Menu"
+
+#: ../rules/base.xml.in.h:47
+msgid "Alt+CapsLock"
+msgstr "Alt+Caps Lock"
+
+#: ../rules/base.xml.in.h:48
+msgid "Alt+Ctrl"
+msgstr "Alt+Ctrl"
+
+#: ../rules/base.xml.in.h:49
+msgid "Alt+Shift"
+msgstr "Alt+Shift"
+
+#: ../rules/base.xml.in.h:50
+msgid "Alt+Space"
+msgstr "Alt+Mezerník"
+
+#: ../rules/base.xml.in.h:51
+msgid "Alt-Q"
+msgstr "Alt-Q"
+
+#: ../rules/base.xml.in.h:52
+msgid "Alt/Win key behavior"
+msgstr "Chování klávesy Alt/Win"
+
+#: ../rules/base.xml.in.h:53
+msgid "Alternative"
+msgstr "Alternativní"
+
+#: ../rules/base.xml.in.h:54
+msgid "Alternative Eastern"
+msgstr "Alternativní východní"
+
+#: ../rules/base.xml.in.h:55
+msgid "Alternative Phonetic"
+msgstr "Alternativní fonetické"
+
+#: ../rules/base.xml.in.h:56
+msgid "Alternative international"
+msgstr "Alternativní mezinárodní"
+
+#: ../rules/base.xml.in.h:57
+msgid "Alternative, Sun dead keys"
+msgstr "Alternativní, mrtvé klávesy Sun"
+
+#: ../rules/base.xml.in.h:58
+msgid "Alternative, eliminate dead keys"
+msgstr "Alternativní, vyloučit mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:59
+msgid "Alternative, latin-9 only"
+msgstr "Alternativní, pouze Latin-9"
+
+#: ../rules/base.xml.in.h:60
+msgid "And"
+msgstr "AND"
+
+#: ../rules/base.xml.in.h:61
+msgid "Andorra"
+msgstr "Andorra"
+
+#: ../rules/base.xml.in.h:62
+msgid "Any Alt key"
+msgstr "Libovolná klávesa Alt"
+
+#: ../rules/base.xml.in.h:63
+msgid "Any Win key"
+msgstr "Libovolná klávesa Win"
+
+#: ../rules/base.xml.in.h:64
+msgid "Any Win key (while pressed)"
+msgstr "Libovolná klávesa Win (při stisknutí)"
+
+#: ../rules/base.xml.in.h:65
+msgid "Apostrophe (') variant"
+msgstr "Varianta s apostrofem (')"
+
+#: ../rules/base.xml.in.h:66
+msgid "Apple"
+msgstr "Apple"
+
+#: ../rules/base.xml.in.h:67
+msgid "Apple Aluminium Keyboard (ANSI)"
+msgstr "Apple Aluminium Keyboard (ANSI)"
+
+#: ../rules/base.xml.in.h:68
+msgid "Apple Aluminium Keyboard (ISO)"
+msgstr "Apple Aluminium Keyboard (ISO)"
+
+#: ../rules/base.xml.in.h:69
+msgid "Apple Aluminium Keyboard (JIS)"
+msgstr "Apple Aluminium Keyboard (JIS)"
+
+#: ../rules/base.xml.in.h:70
+msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll_Lock, Pause, NumLock)"
+msgstr "Apple Aluminium Keyboard: emulovat klávesy PC (Print, Scroll_Lock, Pause, NumLock)"
+
+#: ../rules/base.xml.in.h:71
+msgid "Apple Laptop"
+msgstr "Apple Laptop"
+
+#: ../rules/base.xml.in.h:72
+msgid "Ara"
+msgstr "ARA"
+
+#: ../rules/base.xml.in.h:73
+msgid "Arabic"
+msgstr "Arabské"
+
+#: ../rules/base.xml.in.h:74
+msgid "Arm"
+msgstr "ARM"
+
+#: ../rules/base.xml.in.h:75
+msgid "Armenia"
+msgstr "Arménie"
+
+#: ../rules/base.xml.in.h:76
+msgid "Asturian variant with bottom-dot H and bottom-dot L"
+msgstr "Asturská varianta s H s tečkou pod a L s tečkou pod"
+
+#: ../rules/base.xml.in.h:77
+msgid "Asus Laptop"
+msgstr "Asus Laptop"
+
+#: ../rules/base.xml.in.h:78
+msgid "At bottom left"
+msgstr "Vlevo dole"
+
+#: ../rules/base.xml.in.h:79
+msgid "At left of 'A'"
+msgstr "Nalevo od \"A\""
+
+#: ../rules/base.xml.in.h:80
+msgid "Avatime"
+msgstr "Avatime"
+
+#: ../rules/base.xml.in.h:81
+msgid "Aze"
+msgstr "AZE"
+
+#: ../rules/base.xml.in.h:82
+msgid "Azerbaijan"
+msgstr "Ázerbájdžán"
+
+#: ../rules/base.xml.in.h:83
+msgid "Azona RF2300 wireless Internet Keyboard"
+msgstr "Azona RF2300 Internet Keyboard, bezdrátová"
+
+#: ../rules/base.xml.in.h:84
+msgid "BTC 5090"
+msgstr "BTC 5090"
+
+#: ../rules/base.xml.in.h:85
+msgid "BTC 5113RF Multimedia"
+msgstr "BTC 5113RF Multimedia"
+
+#: ../rules/base.xml.in.h:86
+msgid "BTC 5126T"
+msgstr "BTC 5126T"
+
+#: ../rules/base.xml.in.h:87
+msgid "BTC 6301URF"
+msgstr "BTC 6301URF"
+
+#: ../rules/base.xml.in.h:88
+msgid "BTC 9000"
+msgstr "BTC 9000"
+
+#: ../rules/base.xml.in.h:89
+msgid "BTC 9000A"
+msgstr "BTC 9000A"
+
+#: ../rules/base.xml.in.h:90
+msgid "BTC 9001AH"
+msgstr "BTC 9001AH"
+
+#: ../rules/base.xml.in.h:91
+msgid "BTC 9019U"
+msgstr "BTC 9019U"
+
+#: ../rules/base.xml.in.h:92
+msgid "BTC 9116U Mini Wireless Internet and Gaming"
+msgstr "BTC 9116U Mini Wireless Internet and Gaming"
+
+#: ../rules/base.xml.in.h:93
+msgid "Backslash"
+msgstr "Zpětné lomítko"
+
+#: ../rules/base.xml.in.h:94
+msgid "Bangladesh"
+msgstr "Bangladéš"
+
+#: ../rules/base.xml.in.h:95
+msgid "Bashkirian"
+msgstr "Baškirské"
+
+#: ../rules/base.xml.in.h:96
+msgid "Bel"
+msgstr "BEL"
+
+#: ../rules/base.xml.in.h:97
+msgid "Belarus"
+msgstr "Bělorusko"
+
+#: ../rules/base.xml.in.h:98
+msgid "Belgium"
+msgstr "Belgie"
+
+#: ../rules/base.xml.in.h:99
+msgid "BenQ X-Touch"
+msgstr "BenQ X-Touch"
+
+#: ../rules/base.xml.in.h:100
+msgid "BenQ X-Touch 730"
+msgstr "BenQ X-Touch 730"
+
+#: ../rules/base.xml.in.h:101
+msgid "BenQ X-Touch 800"
+msgstr "BenQ X-Touch 800"
+
+#: ../rules/base.xml.in.h:102
+msgid "Bengali"
+msgstr "Bengálské"
+
+#: ../rules/base.xml.in.h:103
+msgid "Bengali Probhat"
+msgstr "Bengálské Probhat"
+
+#: ../rules/base.xml.in.h:104
+msgid "Bepo, ergonomic, Dvorak way"
+msgstr "Bepo, ergonomické, typ Dvorak"
+
+#: ../rules/base.xml.in.h:105
+msgid "Bepo, ergonomic, Dvorak way, latin-9 only"
+msgstr "Bepo, ergonomické, typ Dvorak, pouze Latin-9"
+
+#: ../rules/base.xml.in.h:106
+msgid "Bgd"
+msgstr "BGD"
+
+#: ../rules/base.xml.in.h:107
+msgid "Bgr"
+msgstr "BGR"
+
+#: ../rules/base.xml.in.h:108
+msgid "Bhutan"
+msgstr "Bhútán"
+
+#: ../rules/base.xml.in.h:109
+msgid "Biblical Hebrew (Tiro)"
+msgstr "Biblická hebrejština (Tiro)"
+
+#: ../rules/base.xml.in.h:110
+msgid "Bih"
+msgstr "BIH"
+
+#: ../rules/base.xml.in.h:111
+msgid "Blr"
+msgstr "BLR"
+
+#: ../rules/base.xml.in.h:112
+msgid "Bosnia and Herzegovina"
+msgstr "Bosna a Hercegovina"
+
+#: ../rules/base.xml.in.h:113
+msgid "Both Alt keys together"
+msgstr "Obě klávesy Alt dohromady"
+
+#: ../rules/base.xml.in.h:114
+msgid "Both Ctrl keys together"
+msgstr "Obě klávesy Ctrl dohromady"
+
+#: ../rules/base.xml.in.h:115
+msgid "Both Shift keys together"
+msgstr "Obě klávesy Shift dohromady"
+
+#: ../rules/base.xml.in.h:116
+msgid "Both Shift-Keys together toggle CapsLock"
+msgstr "Obě klávesy Shift dohromady přepnou Caps Lock"
+
+#: ../rules/base.xml.in.h:117
+msgid "Botswana"
+msgstr "Botswana"
+
+#: ../rules/base.xml.in.h:118
+msgid "Bra"
+msgstr "BRA"
+
+#: ../rules/base.xml.in.h:119
+msgid "Braille"
+msgstr "Braillovo písmo"
+
+#: ../rules/base.xml.in.h:120
+msgid "Brazil"
+msgstr "Brazílie"
+
+#: ../rules/base.xml.in.h:121
+msgid "Breton"
+msgstr "Bretonské"
+
+#: ../rules/base.xml.in.h:122
+msgid "Brl"
+msgstr "BRL"
+
+#: ../rules/base.xml.in.h:123
+msgid "Brother Internet Keyboard"
+msgstr "Brother Internet Keyboard"
+
+#: ../rules/base.xml.in.h:124
+msgid "Btn"
+msgstr "BTN"
+
+#: ../rules/base.xml.in.h:125
+msgid "Buckwalter"
+msgstr "Buckwalter"
+
+#: ../rules/base.xml.in.h:126
+msgid "Bulgaria"
+msgstr "Bulharsko"
+
+#: ../rules/base.xml.in.h:127
+msgid "Bwa"
+msgstr "BWA"
+
+#: ../rules/base.xml.in.h:128
+msgid "COD"
+msgstr "COD"
+
+#: ../rules/base.xml.in.h:129
+msgid "CRULP"
+msgstr "CRULP"
+
+#: ../rules/base.xml.in.h:130
+msgid "Cambodia"
+msgstr "Kambodža"
+
+#: ../rules/base.xml.in.h:131
+msgid "Can"
+msgstr "CAN"
+
+#: ../rules/base.xml.in.h:132
+msgid "Canada"
+msgstr "Kanada"
+
+#: ../rules/base.xml.in.h:133
+msgid "CapsLock"
+msgstr "Caps Lock"
+
+#: ../rules/base.xml.in.h:134
+msgid "CapsLock (to first layout), Shift+CapsLock (to last layout)"
+msgstr "Caps Lock (na první rozložení), Shift+Caps Lock (na poslední rozložení)"
+
+#: ../rules/base.xml.in.h:135
+msgid "CapsLock (while pressed), Alt+CapsLock does the original capslock action"
+msgstr "Caps Lock (při stisknutí), Alt+Caps Lock provádí původní akci Caps Lock"
+
+#: ../rules/base.xml.in.h:136
+msgid "CapsLock acts as Shift with locking. Shift \"pauses\" CapsLock"
+msgstr "Caps Lock funguje jako Shift s uzamčením. Shift přerušuje Caps Lock."
+
+#: ../rules/base.xml.in.h:137
+msgid "CapsLock acts as Shift with locking. Shift doesn't affect CapsLock"
+msgstr "Caps Lock funguje jako Shift s uzamčením. Shift neovlivňuje Caps Lock."
+
+#: ../rules/base.xml.in.h:138
+msgid "CapsLock is disabled"
+msgstr "Klávesa Caps Lock je vypnuta"
+
+#: ../rules/base.xml.in.h:139
+msgid "CapsLock key behavior"
+msgstr "Chování klávesy Caps Lock"
+
+#: ../rules/base.xml.in.h:140
+msgid "CapsLock toggles Shift so all keys are affected"
+msgstr "Caps Lock přepne Shift, takže budou dotčeny všechny klávesy"
+
+#: ../rules/base.xml.in.h:141
+msgid "CapsLock toggles normal capitalization of alphabetic characters"
+msgstr "Caps Lock přepne běžný převod abecedních znaků na verzálky"
+
+#: ../rules/base.xml.in.h:142
+msgid "CapsLock uses internal capitalization. Shift \"pauses\" CapsLock"
+msgstr "Caps Lock používá vnitřní převod na verzálky. Shift přerušuje Caps Lock."
+
+#: ../rules/base.xml.in.h:143
+msgid "CapsLock uses internal capitalization. Shift doesn't affect CapsLock"
+msgstr "Caps Lock používá vnitřní převod na verzálky. Shift neovlivňuje Caps Lock."
+
+#: ../rules/base.xml.in.h:144
+msgid "Catalan variant with middle-dot L"
+msgstr "Katalánská varianta s ela geminada"
+
+#: ../rules/base.xml.in.h:145
+msgid "Cedilla"
+msgstr "Cédille"
+
+#: ../rules/base.xml.in.h:146
+msgid "Che"
+msgstr "CHE"
+
+#: ../rules/base.xml.in.h:147
+msgid "Cherokee"
+msgstr "Čerokí"
+
+#: ../rules/base.xml.in.h:148
+msgid "Cherry B.UNLIMITED"
+msgstr "Cherry B.UNLIMITED"
+
+#: ../rules/base.xml.in.h:149
+msgid "Cherry Blue Line CyBo@rd"
+msgstr "Cherry Blue Line CyBo@rd"
+
+#: ../rules/base.xml.in.h:150
+msgid "Cherry Blue Line CyBo@rd (alternate option)"
+msgstr "Cherry Blue Line CyBo@rd (alternativní volba)"
+
+#: ../rules/base.xml.in.h:151
+msgid "Cherry CyBo@rd USB-Hub"
+msgstr "Cherry CyBo@rd USB-Hub"
+
+#: ../rules/base.xml.in.h:152
+msgid "Cherry CyMotion Expert"
+msgstr "Cherry CyMotion Expert"
+
+#: ../rules/base.xml.in.h:153
+msgid "Cherry CyMotion Master Linux"
+msgstr "Cherry CyMotion Master Linux"
+
+#: ../rules/base.xml.in.h:154
+msgid "Cherry CyMotion Master XPress"
+msgstr "Cherry CyMotion Master XPress"
+
+#: ../rules/base.xml.in.h:155
+msgid "Chicony Internet Keyboard"
+msgstr "Chicony Internet Keyboard"
+
+#: ../rules/base.xml.in.h:156
+msgid "Chicony KB-9885"
+msgstr "Chicony KB-9885"
+
+#: ../rules/base.xml.in.h:157
+msgid "Chicony KU-0108"
+msgstr "Chicony KU-0108"
+
+#: ../rules/base.xml.in.h:158
+msgid "Chicony KU-0420"
+msgstr "Chicony KU-0420"
+
+#: ../rules/base.xml.in.h:159
+msgid "China"
+msgstr "Čína"
+
+#: ../rules/base.xml.in.h:160
+msgid "Chn"
+msgstr "CHN"
+
+#: ../rules/base.xml.in.h:161
+msgid "Chuvash"
+msgstr "Čuvašské"
+
+#: ../rules/base.xml.in.h:162
+msgid "Chuvash Latin"
+msgstr "Čuvašské latinské"
+
+#: ../rules/base.xml.in.h:163
+msgid "Classic"
+msgstr "Klasické"
+
+#: ../rules/base.xml.in.h:164
+msgid "Classic Dvorak"
+msgstr "Klasické Dvorak"
+
+#: ../rules/base.xml.in.h:165
+msgid "Classic, eliminate dead keys"
+msgstr "Klasické, vyloučit mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:166
+msgid "Classmate PC"
+msgstr "Classmate PC"
+
+#: ../rules/base.xml.in.h:167
+msgid "CloGaelach"
+msgstr "CloGaelach"
+
+#: ../rules/base.xml.in.h:168
+msgid "Colemak"
+msgstr "Colemak"
+
+#: ../rules/base.xml.in.h:169
+msgid "Compaq Easy Access Keyboard"
+msgstr "Compaq Easy Access Keyboard"
+
+#: ../rules/base.xml.in.h:170
+msgid "Compaq Internet Keyboard (13 keys)"
+msgstr "Compaq Internet Keyboard (13 kláves)"
+
+#: ../rules/base.xml.in.h:171
+msgid "Compaq Internet Keyboard (18 keys)"
+msgstr "Compaq Internet Keyboard (18 kláves)"
+
+#: ../rules/base.xml.in.h:172
+msgid "Compaq Internet Keyboard (7 keys)"
+msgstr "Compaq Internet Keyboard (7 kláves)"
+
+#: ../rules/base.xml.in.h:173
+msgid "Compaq iPaq Keyboard"
+msgstr "Compaq iPaq Keyboard"
+
+#: ../rules/base.xml.in.h:174
+msgid "Compose key position"
+msgstr "Umístění klávesy Compose"
+
+#: ../rules/base.xml.in.h:175
+msgid "Congo, Democratic Republic of the"
+msgstr "Konžská demokratická republika"
+
+#: ../rules/base.xml.in.h:176
+msgid "Control + Alt + Backspace"
+msgstr "Ctrl + Alt + Backspace"
+
+#: ../rules/base.xml.in.h:177
+msgid "Control is mapped to Alt keys, Alt is mapped to Win keys"
+msgstr "Ctrl je přiřazena ke klávesám Alt, Alt je přiřazena ke klávesám Win"
+
+#: ../rules/base.xml.in.h:178
+msgid "Control is mapped to Win keys (and the usual Ctrl keys)"
+msgstr "Ctrl je přiřazena ke klávesám Win (a obvyklým klávesám Ctrl)"
+
+#: ../rules/base.xml.in.h:179
+msgid "Creative Desktop Wireless 7000"
+msgstr "Creative Desktop Wireless 7000"
+
+#: ../rules/base.xml.in.h:180
+msgid "Crimean Tatar (Dobruca-1 Q)"
+msgstr "Krymskotatarské (Dobruca-1 Q)"
+
+#: ../rules/base.xml.in.h:181
+msgid "Crimean Tatar (Dobruca-2 Q)"
+msgstr "Krymskotatarské (Dobruca-2 Q)"
+
+#: ../rules/base.xml.in.h:182
+msgid "Crimean Tatar (Turkish Alt-Q)"
+msgstr "Krymskotatarské (turecké Alt-Q)"
+
+#: ../rules/base.xml.in.h:183
+msgid "Crimean Tatar (Turkish F)"
+msgstr "Krymskotatarské (turecké F)"
+
+#: ../rules/base.xml.in.h:184
+msgid "Crimean Tatar (Turkish Q)"
+msgstr "Krymskotatarské (turecké Q)"
+
+#: ../rules/base.xml.in.h:185
+msgid "Croatia"
+msgstr "Chorvatsko"
+
+#: ../rules/base.xml.in.h:186
+msgid "Ctrl key position"
+msgstr "Umístění klávesy Ctrl"
+
+#: ../rules/base.xml.in.h:187
+msgid "Ctrl+Shift"
+msgstr "Ctrl+Shift"
+
+#: ../rules/base.xml.in.h:188
+msgid "Cyrillic"
+msgstr "Cyrilice"
+
+#: ../rules/base.xml.in.h:189
+msgid "Cyrillic with guillemets"
+msgstr "Cyrilice s francouzskými uvozovkami"
+
+#: ../rules/base.xml.in.h:190
+msgid "Cyrillic, Z and ZHE swapped"
+msgstr "Cyrilice, prohozené Z a Ž"
+
+#: ../rules/base.xml.in.h:191
+msgid "Cze"
+msgstr "CZE"
+
+#: ../rules/base.xml.in.h:192
+msgid "Czechia"
+msgstr "Česko"
+
+#: ../rules/base.xml.in.h:193
+msgid "DOS"
+msgstr "DOS"
+
+#: ../rules/base.xml.in.h:194
+msgid "DTK2000"
+msgstr "DTK2000"
+
+#: ../rules/base.xml.in.h:195
+msgid "Dead acute"
+msgstr "Mrtvá čárka"
+
+#: ../rules/base.xml.in.h:196
+msgid "Dead grave acute"
+msgstr "Mrtvá opačná čárka (gravis)"
+
+#: ../rules/base.xml.in.h:197
+msgid "Default numeric keypad keys"
+msgstr "Výchozí numerická klávesnice"
+
+#: ../rules/base.xml.in.h:198
+msgid "Dell"
+msgstr "Dell"
+
+#: ../rules/base.xml.in.h:199
+msgid "Dell 101-key PC"
+msgstr "Dell PC 101klávesové"
+
+#: ../rules/base.xml.in.h:200
+msgid "Dell Laptop/notebook Inspiron 6xxx/8xxx"
+msgstr "Notebook Dell Inspiron 6xxx/8xxx"
+
+#: ../rules/base.xml.in.h:201
+msgid "Dell Laptop/notebook Precision M series"
+msgstr "Notebook Dell řady Precision M"
+
+#: ../rules/base.xml.in.h:202
+msgid "Dell Latitude series laptop"
+msgstr "Notebook řady Dell Latitude"
+
+#: ../rules/base.xml.in.h:203
+msgid "Dell Precision M65"
+msgstr "Dell Precision M65"
+
+#: ../rules/base.xml.in.h:204
+msgid "Dell SK-8125"
+msgstr "Dell SK-8125"
+
+#: ../rules/base.xml.in.h:205
+msgid "Dell SK-8135"
+msgstr "Dell SK-8135"
+
+#: ../rules/base.xml.in.h:206
+msgid "Dell USB Multimedia Keyboard"
+msgstr "Dell USB Multimedia Keyboard"
+
+#: ../rules/base.xml.in.h:207
+msgid "Denmark"
+msgstr "Dánsko"
+
+#: ../rules/base.xml.in.h:208
+msgid "Deu"
+msgstr "DEU"
+
+#: ../rules/base.xml.in.h:209
+msgid "Dexxa Wireless Desktop Keyboard"
+msgstr "Dexxa Wireless Desktop Keyboard"
+
+#: ../rules/base.xml.in.h:210
+msgid "Diamond 9801 / 9802 series"
+msgstr "Řada Diamond 9801 / 9802"
+
+#: ../rules/base.xml.in.h:211
+msgid "Dnk"
+msgstr "DNK"
+
+#: ../rules/base.xml.in.h:212
+msgid "Dvorak"
+msgstr "Dvorak"
+
+#: ../rules/base.xml.in.h:213
+msgid "Dvorak (UK Punctuation)"
+msgstr "Dvorak (britská interpunkce)"
+
+#: ../rules/base.xml.in.h:214
+msgid "Dvorak alternative international (no dead keys)"
+msgstr "Alternativní mezinárodní Dvorak (bez mrtvých kláves)"
+
+#: ../rules/base.xml.in.h:215
+msgid "Dvorak international (with dead keys)"
+msgstr "Mezinárodní Dvorak (s mrtvými klávesami)"
+
+#: ../rules/base.xml.in.h:216
+msgid "Dvorak, Polish quotes on key 1"
+msgstr "Dvorak, polské uvozovky na klávese 1"
+
+#: ../rules/base.xml.in.h:217
+msgid "Dvorak, Polish quotes on quotemark key"
+msgstr "Dvorak, polské uvozovky na klávese uvozovky"
+
+#: ../rules/base.xml.in.h:218
+msgid "E"
+msgstr "E"
+
+#: ../rules/base.xml.in.h:219
+msgid "Eastern"
+msgstr "Východní"
+
+#: ../rules/base.xml.in.h:220
+msgid "Eliminate dead keys"
+msgstr "Vyloučit mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:221
+msgid "Enable extra typographic characters"
+msgstr "Povolit přídavné znaky hladké sazby"
+
+#: ../rules/base.xml.in.h:222
+msgid "English"
+msgstr "Anglické"
+
+#: ../rules/base.xml.in.h:223
+msgid "English (USA International)"
+msgstr "Anglické (americké mezinárodní)"
+
+#: ../rules/base.xml.in.h:224
+msgid "English (USA Macintosh)"
+msgstr "Anglické (americké Macintosh)"
+
+#: ../rules/base.xml.in.h:225
+msgid "Ennyah DKB-1008"
+msgstr "Ennyah DKB-1008"
+
+#: ../rules/base.xml.in.h:226
+msgid "Enter on keypad"
+msgstr "Enter na numerické klávesnici"
+
+#: ../rules/base.xml.in.h:227
+msgid "Epo"
+msgstr "EPO"
+
+#: ../rules/base.xml.in.h:228
+msgid "Ergonomic"
+msgstr "Ergonomické"
+
+#: ../rules/base.xml.in.h:229
+msgid "Esp"
+msgstr "ESP"
+
+#: ../rules/base.xml.in.h:230
+msgid "Esperanto"
+msgstr "Esperanto"
+
+#: ../rules/base.xml.in.h:231
+msgid "Est"
+msgstr "EST"
+
+#: ../rules/base.xml.in.h:232
+msgid "Estonia"
+msgstr "Estonsko"
+
+#: ../rules/base.xml.in.h:233
+msgid "Eth"
+msgstr "ETH"
+
+#: ../rules/base.xml.in.h:234
+msgid "Ethiopia"
+msgstr "Etiopie"
+
+#: ../rules/base.xml.in.h:235
+msgid "Everex STEPnote"
+msgstr "Everex STEPnote"
+
+#: ../rules/base.xml.in.h:236
+msgid "Ewe"
+msgstr "Ewe"
+
+#: ../rules/base.xml.in.h:237
+msgid "Extended"
+msgstr "Rozšířené"
+
+#: ../rules/base.xml.in.h:238
+msgid "Extended - Winkeys"
+msgstr "Rozšířené - klávesy Win"
+
+#: ../rules/base.xml.in.h:239
+msgid "Extended Backslash"
+msgstr "Rozšířená klávesa zpětného lomítka"
+
+#: ../rules/base.xml.in.h:240
+msgid "F-letter (F) variant"
+msgstr "Varianta se znakem F"
+
+#: ../rules/base.xml.in.h:241
+msgid "FL90"
+msgstr "FL90"
+
+#: ../rules/base.xml.in.h:242
+msgid "Faroe Islands"
+msgstr "Faerské ostrovy"
+
+#: ../rules/base.xml.in.h:243
+msgid "Fin"
+msgstr "FIN"
+
+#: ../rules/base.xml.in.h:244
+msgid "Finland"
+msgstr "Finsko"
+
+#. This assumes the KP_ abstract symbols are actually useful for some apps
+#. The description needs to be rewritten
+#: ../rules/base.xml.in.h:247
+msgid "Four-level key with abstract separators"
+msgstr "Klávesa čtvrté úrovně s abstraktními oddělovači"
+
+#: ../rules/base.xml.in.h:248
+msgid "Four-level key with comma"
+msgstr "Klávesa čtvrté úrovně s čárkou"
+
+#: ../rules/base.xml.in.h:249
+msgid "Four-level key with dot"
+msgstr "Klávesa čtvrté úrovně s tečkou"
+
+#: ../rules/base.xml.in.h:250
+msgid "Four-level key with dot, latin-9 restriction"
+msgstr "Klávesa čtvrté úrovně s tečkou, omezení Latin-9"
+
+#: ../rules/base.xml.in.h:251
+msgid "Four-level key with momayyez"
+msgstr "Klávesa čtvrté úrovně se znakem momajjez"
+
+#: ../rules/base.xml.in.h:252
+msgid "Fra"
+msgstr "FRA"
+
+#: ../rules/base.xml.in.h:253
+msgid "France"
+msgstr "Francie"
+
+#: ../rules/base.xml.in.h:254
+msgid "Français (France Alternative)"
+msgstr "Français (francouzské alternativní)"
+
+#: ../rules/base.xml.in.h:255
+msgid "French"
+msgstr "Francouzské"
+
+#: ../rules/base.xml.in.h:256
+msgid "French (Macintosh)"
+msgstr "Francouzské (Macintosh)"
+
+#: ../rules/base.xml.in.h:257
+msgid "French (legacy)"
+msgstr "Francouzské (zděděné)"
+
+#: ../rules/base.xml.in.h:258
+msgid "French Dvorak"
+msgstr "Francouzské Dvorak"
+
+#: ../rules/base.xml.in.h:259
+msgid "French, Sun dead keys"
+msgstr "Francouzské, mrtvé klávesy Sun"
+
+#: ../rules/base.xml.in.h:260
+msgid "French, eliminate dead keys"
+msgstr "Francouzské, vyloučit mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:261
+msgid "Fro"
+msgstr "FRO"
+
+#: ../rules/base.xml.in.h:262
+msgid "Fujitsu-Siemens Computers AMILO laptop"
+msgstr "Notebook Fujitsu-Siemens Computers AMILO"
+
+#: ../rules/base.xml.in.h:263
+msgid "Fula"
+msgstr "Fula"
+
+#: ../rules/base.xml.in.h:264
+msgid "GBr"
+msgstr "GBR"
+
+#: ../rules/base.xml.in.h:265
+msgid "GILLBT"
+msgstr "GILLBT"
+
+#: ../rules/base.xml.in.h:266
+msgid "Ga"
+msgstr "GA"
+
+#: ../rules/base.xml.in.h:267
+msgid "Generic 101-key PC"
+msgstr "Obecné PC 101klávesové"
+
+#: ../rules/base.xml.in.h:268
+msgid "Generic 102-key (Intl) PC"
+msgstr "Obecné PC 102klávesové (mez.)"
+
+#: ../rules/base.xml.in.h:269
+msgid "Generic 104-key PC"
+msgstr "Obecné PC 104klávesové"
+
+#: ../rules/base.xml.in.h:270
+msgid "Generic 105-key (Intl) PC"
+msgstr "Obecné PC 105klávesové (mez.)"
+
+#: ../rules/base.xml.in.h:271
+msgid "Genius Comfy KB-12e"
+msgstr "Genius Comfy KB-12e"
+
+#: ../rules/base.xml.in.h:272
+msgid "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
+msgstr "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
+
+#: ../rules/base.xml.in.h:273
+msgid "Genius Comfy KB-21e-Scroll"
+msgstr "Genius Comfy KB-21e-Scroll"
+
+#: ../rules/base.xml.in.h:274
+msgid "Genius KB-19e NB"
+msgstr "Genius KB-19e NB"
+
+#: ../rules/base.xml.in.h:275
+msgid "Genius KKB-2050HS"
+msgstr "Genius KKB-2050HS"
+
+#: ../rules/base.xml.in.h:276
+msgid "Geo"
+msgstr "GEO"
+
+#: ../rules/base.xml.in.h:277
+msgid "Georgia"
+msgstr "Gruzie"
+
+#: ../rules/base.xml.in.h:278
+msgid "Georgian"
+msgstr "Gruzínské"
+
+#: ../rules/base.xml.in.h:279
+msgid "Georgian AZERTY Tskapo"
+msgstr "Gruzínské AZERTY Tskapo"
+
+#: ../rules/base.xml.in.h:280
+msgid "German (Macintosh)"
+msgstr "Německé (Macintosh)"
+
+#: ../rules/base.xml.in.h:281
+msgid "German, Sun dead keys"
+msgstr "Německé, mrtvé klávesy Sun"
+
+#: ../rules/base.xml.in.h:282
+msgid "German, eliminate dead keys"
+msgstr "Německé, vyloučit mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:283
+msgid "Germany"
+msgstr "Německo"
+
+#: ../rules/base.xml.in.h:284
+msgid "Gha"
+msgstr "GHA"
+
+#: ../rules/base.xml.in.h:285
+msgid "Ghana"
+msgstr "Ghana"
+
+#: ../rules/base.xml.in.h:286
+msgid "Gin"
+msgstr "GIN"
+
+#: ../rules/base.xml.in.h:287
+msgid "Grc"
+msgstr "GRC"
+
+#: ../rules/base.xml.in.h:288
+msgid "Greece"
+msgstr "Řecko"
+
+#: ../rules/base.xml.in.h:289
+msgid "Guinea"
+msgstr "Guinea"
+
+#: ../rules/base.xml.in.h:290
+msgid "Gujarati"
+msgstr "Gudžarátské"
+
+#: ../rules/base.xml.in.h:291
+msgid "Gurmukhi"
+msgstr "Gurmuchské"
+
+#: ../rules/base.xml.in.h:292
+msgid "Gurmukhi Jhelum"
+msgstr "Gurmuchské (Jhelum)"
+
+#: ../rules/base.xml.in.h:293
+msgid "Gyration"
+msgstr "Gyration"
+
+#: ../rules/base.xml.in.h:294
+msgid "Happy Hacking Keyboard"
+msgstr "Happy Hacking Keyboard"
+
+#: ../rules/base.xml.in.h:295
+msgid "Happy Hacking Keyboard for Mac"
+msgstr "Happy Hacking Keyboard for Mac"
+
+#: ../rules/base.xml.in.h:296
+msgid "Hausa"
+msgstr "Hausa"
+
+#: ../rules/base.xml.in.h:297
+msgid "Hewlett-Packard Internet Keyboard"
+msgstr "Hewlett-Packard Internet Keyboard"
+
+#: ../rules/base.xml.in.h:298
+msgid "Hewlett-Packard Mini 110 Notebook"
+msgstr "Hewlett-Packard Mini 110 Notebook"
+
+#: ../rules/base.xml.in.h:299
+msgid "Hewlett-Packard Omnibook 500 FA"
+msgstr "Hewlett-Packard Omnibook 500 FA"
+
+#: ../rules/base.xml.in.h:300
+msgid "Hewlett-Packard Omnibook 5xx"
+msgstr "Hewlett-Packard Omnibook 5xx"
+
+#: ../rules/base.xml.in.h:301
+msgid "Hewlett-Packard Omnibook 6000/6100"
+msgstr "Hewlett-Packard Omnibook 6000/6100"
+
+#: ../rules/base.xml.in.h:302
+msgid "Hewlett-Packard Omnibook XE3 GC"
+msgstr "Hewlett-Packard Omnibook XE3 GC"
+
+#: ../rules/base.xml.in.h:303
+msgid "Hewlett-Packard Omnibook XE3 GF"
+msgstr "Hewlett-Packard Omnibook XE3 GF"
+
+#: ../rules/base.xml.in.h:304
+msgid "Hewlett-Packard Omnibook XT1000"
+msgstr "Hewlett-Packard Omnibook XT1000"
+
+#: ../rules/base.xml.in.h:305
+msgid "Hewlett-Packard Pavilion ZT11xx"
+msgstr "Hewlett-Packard Pavilion ZT11xx"
+
+#: ../rules/base.xml.in.h:306
+msgid "Hewlett-Packard Pavilion dv5"
+msgstr "Hewlett-Packard Pavilion dv5"
+
+#: ../rules/base.xml.in.h:307
+msgid "Hewlett-Packard SK-250x Multimedia Keyboard"
+msgstr "Hewlett-Packard SK-250x Multimedia Keyboard"
+
+#: ../rules/base.xml.in.h:308
+msgid "Hewlett-Packard nx9020"
+msgstr "Hewlett-Packard nx9020"
+
+#: ../rules/base.xml.in.h:309
+msgid "Hexadecimal"
+msgstr "Hexadecimální"
+
+#: ../rules/base.xml.in.h:310
+msgid "Hindi Bolnagri"
+msgstr "Hindské bolnagri"
+
+#: ../rules/base.xml.in.h:311
+msgid "Hindi Wx"
+msgstr "Hindské Wx"
+
+#: ../rules/base.xml.in.h:312
+msgid "Homophonic"
+msgstr "Stejně znějící"
+
+#: ../rules/base.xml.in.h:313
+msgid "Honeywell Euroboard"
+msgstr "Honeywell Euroboard"
+
+#: ../rules/base.xml.in.h:314
+msgid "Hrv"
+msgstr "HRV"
+
+#: ../rules/base.xml.in.h:315
+msgid "Hun"
+msgstr "HUN"
+
+#: ../rules/base.xml.in.h:316
+msgid "Hungary"
+msgstr "Maďarsko"
+
+#: ../rules/base.xml.in.h:317
+msgid "Hyper is mapped to Win-keys"
+msgstr "Hyper je přiřazena ke klávesám Win"
+
+#: ../rules/base.xml.in.h:318
+msgid "IBM (LST 1205-92)"
+msgstr "IBM (LST 1205-92)"
+
+#: ../rules/base.xml.in.h:319
+msgid "IBM Rapid Access"
+msgstr "IBM Rapid Access"
+
+#: ../rules/base.xml.in.h:320
+msgid "IBM Rapid Access II"
+msgstr "IBM Rapid Access II"
+
+#: ../rules/base.xml.in.h:321
+msgid "IBM Space Saver"
+msgstr "IBM Space Saver"
+
+#: ../rules/base.xml.in.h:322
+msgid "IBM ThinkPad 560Z/600/600E/A22E"
+msgstr "IBM ThinkPad 560Z/600/600E/A22E"
+
+#: ../rules/base.xml.in.h:323
+msgid "IBM ThinkPad R60/T60/R61/T61"
+msgstr "IBM ThinkPad R60/T60/R61/T61"
+
+#: ../rules/base.xml.in.h:324
+msgid "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
+msgstr "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
+
+#: ../rules/base.xml.in.h:325
+msgid "ISO Alternate"
+msgstr "ISO alternativní"
+
+#: ../rules/base.xml.in.h:326
+msgid "Iceland"
+msgstr "Island"
+
+#: ../rules/base.xml.in.h:327
+msgid "Igbo"
+msgstr "Igbo"
+
+#: ../rules/base.xml.in.h:328
+msgid "Include dead tilde"
+msgstr "Zahrnout mrtvou klávesu vlnovky"
+
+#: ../rules/base.xml.in.h:329
+msgid "Ind"
+msgstr "IND"
+
+#: ../rules/base.xml.in.h:330
+msgid "India"
+msgstr "Indie"
+
+#: ../rules/base.xml.in.h:331
+msgid "International (AltGr dead keys)"
+msgstr "Mezinárodní (mrtvé klávesy AltGr)"
+
+#: ../rules/base.xml.in.h:332
+msgid "International (with dead keys)"
+msgstr "Mezinárodní (s mrtvými klávesami)"
+
+#: ../rules/base.xml.in.h:333
+msgid "Inuktitut"
+msgstr "Inuktitut"
+
+#: ../rules/base.xml.in.h:334
+msgid "Iran"
+msgstr "Írán"
+
+#: ../rules/base.xml.in.h:335
+msgid "Iraq"
+msgstr "Irák"
+
+#: ../rules/base.xml.in.h:336
+msgid "Ireland"
+msgstr "Irsko"
+
+#: ../rules/base.xml.in.h:337
+msgid "Irl"
+msgstr "IRL"
+
+#: ../rules/base.xml.in.h:338
+msgid "Irn"
+msgstr "IRN"
+
+#: ../rules/base.xml.in.h:339
+msgid "Irq"
+msgstr "IRQ"
+
+#: ../rules/base.xml.in.h:340
+msgid "Isl"
+msgstr "ISL"
+
+#: ../rules/base.xml.in.h:341
+msgid "Isr"
+msgstr "ISR"
+
+#: ../rules/base.xml.in.h:342
+msgid "Israel"
+msgstr "Izrael"
+
+#: ../rules/base.xml.in.h:343
+msgid "Ita"
+msgstr "ITA"
+
+#: ../rules/base.xml.in.h:344
+msgid "Italy"
+msgstr "Itálie"
+
+#: ../rules/base.xml.in.h:345
+msgid "Japan"
+msgstr "Japonsko"
+
+#: ../rules/base.xml.in.h:346
+msgid "Japan (PC-98xx Series)"
+msgstr "Japonsko (řada PC-98xx)"
+
+#: ../rules/base.xml.in.h:347
+msgid "Japanese keyboard options"
+msgstr "Volby japonské klávesnice"
+
+#: ../rules/base.xml.in.h:348
+msgid "Jpn"
+msgstr "JPN"
+
+#: ../rules/base.xml.in.h:349
+msgid "Kalmyk"
+msgstr "Kalmycké"
+
+#: ../rules/base.xml.in.h:350
+msgid "Kana"
+msgstr "Kana"
+
+#: ../rules/base.xml.in.h:351
+msgid "Kana Lock key is locking"
+msgstr "Klávesa Kana Lock uzamyká"
+
+#: ../rules/base.xml.in.h:352
+msgid "Kannada"
+msgstr "Kannadské"
+
+#: ../rules/base.xml.in.h:353
+msgid "Kashubian"
+msgstr "Kašubské"
+
+#: ../rules/base.xml.in.h:354
+msgid "Kaz"
+msgstr "KAZ"
+
+#: ../rules/base.xml.in.h:355
+msgid "Kazakh with Russian"
+msgstr "Kazašská s ruštinou"
+
+#: ../rules/base.xml.in.h:356
+msgid "Kazakhstan"
+msgstr "Kazachstán"
+
+#: ../rules/base.xml.in.h:357
+msgid "Ken"
+msgstr "KEN"
+
+#: ../rules/base.xml.in.h:358
+msgid "Kenya"
+msgstr "Keňa"
+
+#: ../rules/base.xml.in.h:359
+msgid "Key sequence to kill the X server"
+msgstr "Pořadí kláves zabíjející server X"
+
+#: ../rules/base.xml.in.h:360
+msgid "Key to choose 3rd level"
+msgstr "Klávesa umožňující výběr 3. úrovně"
+
+#: ../rules/base.xml.in.h:361
+msgid "Key to choose 5th level"
+msgstr "Klávesa umožňující výběr 5. úrovně"
+
+#: ../rules/base.xml.in.h:362
+msgid "Key(s) to change layout"
+msgstr "Klávesa měnící rozložení"
+
+#: ../rules/base.xml.in.h:363
+msgid "Keytronic FlexPro"
+msgstr "Keytronic FlexPro"
+
+#: ../rules/base.xml.in.h:364
+msgid "Kgz"
+msgstr "KGZ"
+
+#: ../rules/base.xml.in.h:365
+msgid "Khm"
+msgstr "KHM"
+
+#: ../rules/base.xml.in.h:366
+msgid "Kikuyu"
+msgstr "Kukujské"
+
+#: ../rules/base.xml.in.h:367
+msgid "Komi"
+msgstr "Komi"
+
+#: ../rules/base.xml.in.h:368
+msgid "Kor"
+msgstr "KOR"
+
+#: ../rules/base.xml.in.h:369
+msgid "Korea, Republic of"
+msgstr "Korejská republika"
+
+#: ../rules/base.xml.in.h:370
+msgid "Ktunaxa"
+msgstr "Ktunaxa"
+
+#: ../rules/base.xml.in.h:371
+msgid "Kurdish, (F)"
+msgstr "Kurdské, (F)"
+
+#: ../rules/base.xml.in.h:372
+msgid "Kurdish, Arabic-Latin"
+msgstr "Kurdské, arabsko-latinské"
+
+#: ../rules/base.xml.in.h:373
+msgid "Kurdish, Latin Alt-Q"
+msgstr "Kurdské, latinské Alt-Q"
+
+#: ../rules/base.xml.in.h:374
+msgid "Kurdish, Latin Q"
+msgstr "Kurdské, latinské Q"
+
+#: ../rules/base.xml.in.h:375
+msgid "Kyrgyzstan"
+msgstr "Kyrgyzstán"
+
+#: ../rules/base.xml.in.h:376
+msgid "LAm"
+msgstr "LAm"
+
+#: ../rules/base.xml.in.h:377
+msgid "LEKP"
+msgstr "LEKP"
+
+#: ../rules/base.xml.in.h:378
+msgid "LEKPa"
+msgstr "LEKPa"
+
+#: ../rules/base.xml.in.h:379
+msgid "Lao"
+msgstr "LAO"
+
+#: ../rules/base.xml.in.h:380
+msgid "Laos"
+msgstr "Laos"
+
+#: ../rules/base.xml.in.h:381
+msgid "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard"
+msgstr "Laptop Keyboard pro notebook Compaq (např. Armada)"
+
+#: ../rules/base.xml.in.h:382
+msgid "Laptop/notebook Compaq (eg. Presario) Internet Keyboard"
+msgstr "Internet Keyboard pro notebook Compaq (např. Presario)"
+
+#: ../rules/base.xml.in.h:383
+msgid "Laptop/notebook eMachines m68xx"
+msgstr "Notebook eMachines m68xx"
+
+#: ../rules/base.xml.in.h:384
+msgid "Latin"
+msgstr "Latinské"
+
+#: ../rules/base.xml.in.h:385
+msgid "Latin American"
+msgstr "Latinskoamerické"
+
+#: ../rules/base.xml.in.h:386
+msgid "Latin Unicode"
+msgstr "Latinské Unicode"
+
+#: ../rules/base.xml.in.h:387
+msgid "Latin Unicode qwerty"
+msgstr "Latinské Unicode qwerty"
+
+#: ../rules/base.xml.in.h:388
+msgid "Latin qwerty"
+msgstr "Latinské qwerty"
+
+#: ../rules/base.xml.in.h:389
+msgid "Latin unicode"
+msgstr "Latinské Unicode"
+
+#: ../rules/base.xml.in.h:390
+msgid "Latin unicode qwerty"
+msgstr "Latinské Unicode qwerty"
+
+#: ../rules/base.xml.in.h:391
+msgid "Latin with guillemets"
+msgstr "Latinské s francouzskými uvozovkami"
+
+#: ../rules/base.xml.in.h:392
+msgid "Latvia"
+msgstr "Lotyšsko"
+
+#: ../rules/base.xml.in.h:393
+msgid "Layout toggle on multiply/divide key"
+msgstr "Přepínání rozložení klávesou násobení/dělení"
+
+#: ../rules/base.xml.in.h:394
+msgid "Left Alt"
+msgstr "Levá klávesa Alt"
+
+#: ../rules/base.xml.in.h:395
+msgid "Left Alt (while pressed)"
+msgstr "Levá klávesa Alt (při stisknutí)"
+
+#: ../rules/base.xml.in.h:396
+msgid "Left Alt is swapped with Left Win"
+msgstr "Levá klávesa Alt je prohozena s levou klávesou Win"
+
+#: ../rules/base.xml.in.h:397
+msgid "Left Ctrl"
+msgstr "Levá klávesa Ctrl"
+
+#: ../rules/base.xml.in.h:398
+msgid "Left Ctrl (to first layout), Right Ctrl (to last layout)"
+msgstr "Levá klávesa Ctrl (na první rozložení), pravá klávesa Ctrl (na poslední rozložení)"
+
+#: ../rules/base.xml.in.h:399
+msgid "Left Ctrl+Left Shift"
+msgstr "Levá klávesa Ctrl + levá klávesa Shift"
+
+#: ../rules/base.xml.in.h:400
+msgid "Left Shift"
+msgstr "Levá klávesa Shift"
+
+#: ../rules/base.xml.in.h:401
+msgid "Left Win"
+msgstr "Levá klávesa Win"
+
+#: ../rules/base.xml.in.h:402
+msgid "Left Win (to first layout), Right Win/Menu (to last layout)"
+msgstr "Levá klávesa Win (na první rozložení), pravá klávesa Win/Menu (na poslední rozložení)"
+
+#: ../rules/base.xml.in.h:403
+msgid "Left Win (while pressed)"
+msgstr "Levá klávesa Win (při stisknutí)"
+
+#: ../rules/base.xml.in.h:404
+msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr "Levá klávesa Win vybírá 5. úroveň, uzamyká při stisknutí společně s jinou výběrovou klávesou 5. úrovně"
+
+#: ../rules/base.xml.in.h:405
+msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr "Levá klávesa Win vybírá 5. úroveň, uzamyká při stisknutí společně s jinou výběrovou klávesou 5. úrovně, jedno stisknutí ruší uzamčení"
+
+#: ../rules/base.xml.in.h:406
+msgid "Left hand"
+msgstr "Levoruké"
+
+#: ../rules/base.xml.in.h:407
+msgid "Left handed Dvorak"
+msgstr "Levoruké Dvorak"
+
+#: ../rules/base.xml.in.h:408
+msgid "Legacy"
+msgstr "Zděděné"
+
+#: ../rules/base.xml.in.h:409
+msgid "Legacy Wang 724"
+msgstr "Zděděná Wang 724"
+
+#. Actually, with KP_SEPARATOR, as the old keypad(comma)
+#: ../rules/base.xml.in.h:411
+msgid "Legacy key with comma"
+msgstr "Zděděná klávesa s čárkou"
+
+#: ../rules/base.xml.in.h:412
+msgid "Legacy key with dot"
+msgstr "Zděděná klávesa s tečkou"
+
+#: ../rules/base.xml.in.h:413
+msgid "Lithuania"
+msgstr "Litva"
+
+#: ../rules/base.xml.in.h:414
+msgid "Lka"
+msgstr "LKA"
+
+#: ../rules/base.xml.in.h:415
+msgid "Logitech Access Keyboard"
+msgstr "Logitech Access Keyboard"
+
+#: ../rules/base.xml.in.h:416
+msgid "Logitech Cordless Desktop"
+msgstr "Logitech Cordless Desktop"
+
+#: ../rules/base.xml.in.h:417
+msgid "Logitech Cordless Desktop (alternate option)"
+msgstr "Logitech Cordless Desktop (alternativní volba)"
+
+#: ../rules/base.xml.in.h:418
+msgid "Logitech Cordless Desktop EX110"
+msgstr "Logitech Cordless Desktop EX110"
+
+#: ../rules/base.xml.in.h:419
+msgid "Logitech Cordless Desktop LX-300"
+msgstr "Logitech Cordless Desktop LX-300"
+
+#: ../rules/base.xml.in.h:420
+msgid "Logitech Cordless Desktop Navigator"
+msgstr "Logitech Cordless Desktop Navigator"
+
+#: ../rules/base.xml.in.h:421
+msgid "Logitech Cordless Desktop Optical"
+msgstr "Logitech Cordless Desktop Optical"
+
+#: ../rules/base.xml.in.h:422
+msgid "Logitech Cordless Desktop Pro (alternate option 2)"
+msgstr "Logitech Cordless Desktop Pro (alternativní volba 2)"
+
+#: ../rules/base.xml.in.h:423
+msgid "Logitech Cordless Desktop iTouch"
+msgstr "Logitech Cordless Desktop iTouch"
+
+#: ../rules/base.xml.in.h:424
+msgid "Logitech Cordless Freedom/Desktop Navigator"
+msgstr "Logitech Cordless Freedom/Desktop Navigator"
+
+#: ../rules/base.xml.in.h:425
+msgid "Logitech G15 extra keys via G15daemon"
+msgstr "Přídavné klávesy Logitech G15 pomocí G15daemon"
+
+#: ../rules/base.xml.in.h:426
+msgid "Logitech Generic Keyboard"
+msgstr "Logitech Generic Keyboard"
+
+#: ../rules/base.xml.in.h:427
+msgid "Logitech Internet 350 Keyboard"
+msgstr "Logitech Internet 350 Keyboard"
+
+#: ../rules/base.xml.in.h:428
+msgid "Logitech Internet Keyboard"
+msgstr "Logitech Internet Keyboard"
+
+#: ../rules/base.xml.in.h:429
+msgid "Logitech Internet Navigator Keyboard"
+msgstr "Logitech Internet Navigator Keyboard"
+
+#: ../rules/base.xml.in.h:430
+msgid "Logitech Media Elite Keyboard"
+msgstr "Logitech Media Elite Keyboard"
+
+#: ../rules/base.xml.in.h:431
+msgid "Logitech Ultra-X Cordless Media Desktop Keyboard"
+msgstr "Logitech Ultra-X Cordless Media Desktop Keyboard"
+
+#: ../rules/base.xml.in.h:432
+msgid "Logitech Ultra-X Keyboard"
+msgstr "Logitech Ultra-X Keyboard"
+
+#: ../rules/base.xml.in.h:433
+msgid "Logitech diNovo Edge Keyboard"
+msgstr "Logitech diNovo Edge Keyboard"
+
+#: ../rules/base.xml.in.h:434
+msgid "Logitech diNovo Keyboard"
+msgstr "Logitech diNovo Keyboard"
+
+#: ../rules/base.xml.in.h:435
+msgid "Logitech iTouch"
+msgstr "Logitech iTouch"
+
+#: ../rules/base.xml.in.h:436
+msgid "Logitech iTouch Cordless Keyboard (model Y-RB6)"
+msgstr "Logitech iTouch Cordless Keyboard (model Y-RB6)"
+
+#: ../rules/base.xml.in.h:437
+msgid "Logitech iTouch Internet Navigator Keyboard SE"
+msgstr "Logitech iTouch Internet Navigator Keyboard SE"
+
+#: ../rules/base.xml.in.h:438
+msgid "Logitech iTouch Internet Navigator Keyboard SE (USB)"
+msgstr "Logitech iTouch Internet Navigator Keyboard SE (USB)"
+
+#: ../rules/base.xml.in.h:439
+msgid "Lower Sorbian"
+msgstr "Dolnolužické"
+
+#: ../rules/base.xml.in.h:440
+msgid "Lower Sorbian (qwertz)"
+msgstr "Dolnolužické (qwertz)"
+
+#: ../rules/base.xml.in.h:441
+msgid "Ltu"
+msgstr "LTU"
+
+#: ../rules/base.xml.in.h:442
+msgid "Lva"
+msgstr "LVA"
+
+#: ../rules/base.xml.in.h:443
+msgid "MESS"
+msgstr "MESS"
+
+#: ../rules/base.xml.in.h:444
+msgid "MNE"
+msgstr "MNE"
+
+#: ../rules/base.xml.in.h:445
+msgid "MacBook/MacBook Pro"
+msgstr "MacBook/MacBook Pro"
+
+#: ../rules/base.xml.in.h:446
+msgid "MacBook/MacBook Pro (Intl)"
+msgstr "MacBook/MacBook Pro (mez.)"
+
+#: ../rules/base.xml.in.h:447
+msgid "Macedonia"
+msgstr "Makedonie"
+
+#: ../rules/base.xml.in.h:448
+msgid "Macintosh"
+msgstr "Macintosh"
+
+#: ../rules/base.xml.in.h:449
+msgid "Macintosh Old"
+msgstr "Macintosh staré"
+
+#: ../rules/base.xml.in.h:450
+msgid "Macintosh, Sun dead keys"
+msgstr "Macintosh, mrtvé klávesy Sun"
+
+#: ../rules/base.xml.in.h:451
+msgid "Macintosh, eliminate dead keys"
+msgstr "Macintosh, vyloučit mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:452
+msgid "Make CapsLock an additional Backspace"
+msgstr "Vytvořit z klávesy Caps Lock další Backspace"
+
+#: ../rules/base.xml.in.h:453
+msgid "Make CapsLock an additional Ctrl"
+msgstr "Vytvořit z klávesy Caps Lock další Ctrl"
+
+#: ../rules/base.xml.in.h:454
+msgid "Make CapsLock an additional ESC"
+msgstr "Vytvořit z klávesy Caps Lock další Esc"
+
+#: ../rules/base.xml.in.h:455
+msgid "Make CapsLock an additional Hyper"
+msgstr "Vytvořit z klávesy Caps Lock další Hyper"
+
+#: ../rules/base.xml.in.h:456
+msgid "Make CapsLock an additional NumLock"
+msgstr "Vytvořit z klávesy Caps Lock další Num Lock"
+
+#: ../rules/base.xml.in.h:457
+msgid "Make CapsLock an additional Super"
+msgstr "Vytvořit z klávesy Caps Lock další Super"
+
+#: ../rules/base.xml.in.h:458
+msgid "Malayalam"
+msgstr "Malajálamské"
+
+#: ../rules/base.xml.in.h:459
+msgid "Malayalam Lalitha"
+msgstr "Malajálamské lalitha"
+
+#: ../rules/base.xml.in.h:460
+msgid "Maldives"
+msgstr "Maledivy"
+
+#: ../rules/base.xml.in.h:461
+msgid "Mali"
+msgstr "Mali"
+
+#: ../rules/base.xml.in.h:462
+msgid "Malta"
+msgstr "Malta"
+
+#: ../rules/base.xml.in.h:463
+msgid "Maltese keyboard with US layout"
+msgstr "Maltézská klávesnice s americkým rozložením"
+
+#: ../rules/base.xml.in.h:464
+msgid "Mao"
+msgstr "MAO"
+
+#: ../rules/base.xml.in.h:465
+msgid "Maori"
+msgstr "Maorské"
+
+#: ../rules/base.xml.in.h:466
+msgid "Mdv"
+msgstr "MDV"
+
+#: ../rules/base.xml.in.h:467
+msgid "Memorex MX1998"
+msgstr "Memorex MX1998"
+
+#: ../rules/base.xml.in.h:468
+msgid "Memorex MX2500 EZ-Access Keyboard"
+msgstr "Memorex MX2500 EZ-Access Keyboard"
+
+#: ../rules/base.xml.in.h:469
+msgid "Memorex MX2750"
+msgstr "Memorex MX2750"
+
+#: ../rules/base.xml.in.h:470
+msgid "Menu"
+msgstr "Menu"
+
+#: ../rules/base.xml.in.h:471
+msgid "Meta is mapped to Left Win"
+msgstr "Meta je přiřazena k levé klávese Win"
+
+#: ../rules/base.xml.in.h:472
+msgid "Meta is mapped to Win keys"
+msgstr "Meta je přiřazena ke klávesám Win"
+
+#: ../rules/base.xml.in.h:473
+msgid "Microsoft Comfort Curve Keyboard 2000"
+msgstr "Microsoft Comfort Curve Keyboard 2000"
+
+#: ../rules/base.xml.in.h:474
+msgid "Microsoft Internet Keyboard"
+msgstr "Microsoft Internet Keyboard"
+
+#: ../rules/base.xml.in.h:475
+msgid "Microsoft Internet Keyboard Pro, Swedish"
+msgstr "Microsoft Internet Keyboard Pro, švédská"
+
+#: ../rules/base.xml.in.h:476
+msgid "Microsoft Natural"
+msgstr "Microsoft Natural"
+
+#: ../rules/base.xml.in.h:477
+msgid "Microsoft Natural Keyboard Elite"
+msgstr "Microsoft Natural Keyboard Elite"
+
+#: ../rules/base.xml.in.h:478
+msgid "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
+msgstr "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
+
+#: ../rules/base.xml.in.h:479
+msgid "Microsoft Natural Keyboard Pro OEM"
+msgstr "Microsoft Natural Keyboard Pro OEM"
+
+#: ../rules/base.xml.in.h:480
+msgid "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
+msgstr "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
+
+#: ../rules/base.xml.in.h:481
+msgid "Microsoft Natural Wireless Ergonomic Keyboard 7000"
+msgstr "Microsoft Natural Wireless Ergonomic Keyboard 7000"
+
+#: ../rules/base.xml.in.h:482
+msgid "Microsoft Office Keyboard"
+msgstr "Microsoft Office Keyboard"
+
+#: ../rules/base.xml.in.h:483
+msgid "Microsoft Wireless Multimedia Keyboard 1.0A"
+msgstr "Microsoft Wireless Multimedia Keyboard 1.0A"
+
+#: ../rules/base.xml.in.h:484
+msgid "Miscellaneous compatibility options"
+msgstr "Dodatečné volby kompatibility"
+
+#: ../rules/base.xml.in.h:485
+msgid "Mkd"
+msgstr "MKD"
+
+#: ../rules/base.xml.in.h:486
+msgid "Mli"
+msgstr "MLI"
+
+#: ../rules/base.xml.in.h:487
+msgid "Mlt"
+msgstr "MLT"
+
+#: ../rules/base.xml.in.h:488
+msgid "Mmr"
+msgstr "MMR"
+
+#: ../rules/base.xml.in.h:489
+msgid "Mng"
+msgstr "MNG"
+
+#: ../rules/base.xml.in.h:490
+msgid "Mongolia"
+msgstr "Mongolsko"
+
+#: ../rules/base.xml.in.h:491
+msgid "Montenegro"
+msgstr "Černá Hora"
+
+#: ../rules/base.xml.in.h:492
+msgid "Morocco"
+msgstr "Maroko"
+
+#: ../rules/base.xml.in.h:493
+msgid "Multilingual"
+msgstr "Vícejazyčné"
+
+#: ../rules/base.xml.in.h:494
+msgid "Multilingual, first part"
+msgstr "Vícejazyčné, první část"
+
+#: ../rules/base.xml.in.h:495
+msgid "Multilingual, second part"
+msgstr "Vícejazyčné, druhá část"
+
+#: ../rules/base.xml.in.h:496
+msgid "Myanmar"
+msgstr "Myanmar"
+
+#: ../rules/base.xml.in.h:497
+msgid "NICOLA-F style Backspace"
+msgstr "Backspace typu NICOLA-F"
+
+#: ../rules/base.xml.in.h:498
+msgid "NLA"
+msgstr "NLA"
+
+#: ../rules/base.xml.in.h:499
+msgid "Nativo"
+msgstr "Nativo"
+
+#: ../rules/base.xml.in.h:500
+msgid "Nativo for Esperanto"
+msgstr "Nativo pro esperanto"
+
+#: ../rules/base.xml.in.h:501
+msgid "Nativo for USA keyboards"
+msgstr "Nativo pro americké klávesnice"
+
+#: ../rules/base.xml.in.h:502
+msgid "Neo 2"
+msgstr "Neo 2"
+
+#: ../rules/base.xml.in.h:503
+msgid "Nepal"
+msgstr "Nepál"
+
+#: ../rules/base.xml.in.h:504
+msgid "Netherlands"
+msgstr "Nizozemsko"
+
+#: ../rules/base.xml.in.h:505
+msgid "New phonetic"
+msgstr "Nové fonetické"
+
+#: ../rules/base.xml.in.h:506
+msgid "Nga"
+msgstr "NGA"
+
+#: ../rules/base.xml.in.h:507
+msgid "Nigeria"
+msgstr "Nigérie"
+
+#: ../rules/base.xml.in.h:508
+msgid "Nld"
+msgstr "NLD"
+
+#: ../rules/base.xml.in.h:509
+msgid "Non-breakable space character at fourth level"
+msgstr "Na čtvrté úrovni znak nedělitelné mezery"
+
+#: ../rules/base.xml.in.h:510
+msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level"
+msgstr "Na čtvrté úrovni znak nedělitelné mezery, tenká nedělitelná mezera na šesté úrovni"
+
+#: ../rules/base.xml.in.h:511
+msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)"
+msgstr "Na čtvrté úrovni znak nedělitelné mezery, tenká nedělitelná mezera na šesté úrovni (přes Ctrl+Shift)"
+
+#: ../rules/base.xml.in.h:512
+msgid "Non-breakable space character at second level"
+msgstr "Na druhé úrovni znak nedělitelné mezery"
+
+#: ../rules/base.xml.in.h:513
+msgid "Non-breakable space character at third level"
+msgstr "Na třetí úrovni znak nedělitelné mezery"
+
+#: ../rules/base.xml.in.h:514
+msgid "Non-breakable space character at third level, nothing at fourth level"
+msgstr "Na třetí úrovni znak nedělitelné mezery, nic na úrovni čtvrté"
+
+#: ../rules/base.xml.in.h:515
+msgid "Non-breakable space character at third level, thin non-breakable space character at fourth level"
+msgstr "Na třetí úrovni znak nedělitelné mezery, tenká nedělitelná mezera na čtvrté úrovni"
+
+#: ../rules/base.xml.in.h:516
+msgid "Nor"
+msgstr "NOR"
+
+#: ../rules/base.xml.in.h:517
+msgid "Northern Saami"
+msgstr "Severolaponské"
+
+#: ../rules/base.xml.in.h:518
+msgid "Northern Saami, eliminate dead keys"
+msgstr "Severolaponské, vyloučit mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:519
+msgid "Northgate OmniKey 101"
+msgstr "Northgate OmniKey 101"
+
+#: ../rules/base.xml.in.h:520
+msgid "Norway"
+msgstr "Norsko"
+
+#: ../rules/base.xml.in.h:521
+msgid "Npl"
+msgstr "NPL"
+
+#: ../rules/base.xml.in.h:522
+msgid "NumLock"
+msgstr "Num Lock"
+
+#: ../rules/base.xml.in.h:523
+msgid "Numeric keypad delete key behaviour"
+msgstr "Chování klávesy Delete na numerické klávesnici"
+
+#: ../rules/base.xml.in.h:524
+msgid "Numeric keypad keys work as with Mac"
+msgstr "Klávesy numerické klávesnice fungují stejně jako u počítače Mac"
+
+#: ../rules/base.xml.in.h:525
+msgid "Numeric keypad layout selection"
+msgstr "Výběr rozložení numerické klávesnice"
+
+#: ../rules/base.xml.in.h:526
+msgid "OADG 109A"
+msgstr "OADG 109A"
+
+#: ../rules/base.xml.in.h:527
+msgid "OLPC"
+msgstr "OLPC"
+
+#: ../rules/base.xml.in.h:528
+msgid "OLPC Dari"
+msgstr "OLPC, darí"
+
+#: ../rules/base.xml.in.h:529
+msgid "OLPC Pashto"
+msgstr "OLPC, paštó"
+
+#: ../rules/base.xml.in.h:530
+msgid "OLPC Southern Uzbek"
+msgstr "OLPC, jihouzbecké"
+
+#: ../rules/base.xml.in.h:531
+msgid "Occitan"
+msgstr "Okcitánské"
+
+#: ../rules/base.xml.in.h:532
+msgid "Ogham"
+msgstr "Ogam"
+
+#: ../rules/base.xml.in.h:533
+msgid "Ogham IS434"
+msgstr "Ogham IS434"
+
+#: ../rules/base.xml.in.h:534
+msgid "Oriya"
+msgstr "Urijské"
+
+#: ../rules/base.xml.in.h:535
+msgid "Ortek MCK-800 MM/Internet keyboard"
+msgstr "Internet keyboard pro Ortek MCK-800 MM"
+
+#: ../rules/base.xml.in.h:536
+msgid "Ossetian"
+msgstr "Osetinské"
+
+#: ../rules/base.xml.in.h:537
+msgid "Ossetian, Winkeys"
+msgstr "Osetinské, klávesy Win"
+
+#: ../rules/base.xml.in.h:538
+msgid "Ossetian, legacy"
+msgstr "Osetinské, zděděné"
+
+#: ../rules/base.xml.in.h:539
+msgid "PC-98xx Series"
+msgstr "Řada PC-98xx"
+
+#: ../rules/base.xml.in.h:540
+msgid "Pak"
+msgstr "PAK"
+
+#: ../rules/base.xml.in.h:541
+msgid "Pakistan"
+msgstr "Pákistán"
+
+#: ../rules/base.xml.in.h:542
+msgid "Pannonian Rusyn Homophonic"
+msgstr "Panonsko-rusínské stejně znějící"
+
+#: ../rules/base.xml.in.h:543
+msgid "Pashto"
+msgstr "Paštské"
+
+#: ../rules/base.xml.in.h:544
+msgid "Pattachote"
+msgstr "Pattachote"
+
+#: ../rules/base.xml.in.h:545
+msgid "Pause"
+msgstr "Pause (Pauza)"
+
+#: ../rules/base.xml.in.h:546
+msgid "Persian, with Persian Keypad"
+msgstr "Perské, s perskou numerickou klávesnicí"
+
+#: ../rules/base.xml.in.h:547
+msgid "Phonetic"
+msgstr "Fonetické"
+
+#: ../rules/base.xml.in.h:548
+msgid "Phonetic Winkeys"
+msgstr "Fonetické klávesy Win"
+
+#: ../rules/base.xml.in.h:549
+msgid "Pol"
+msgstr "POL"
+
+#: ../rules/base.xml.in.h:550
+msgid "Poland"
+msgstr "Polsko"
+
+#: ../rules/base.xml.in.h:551
+msgid "Polytonic"
+msgstr "Polytonické"
+
+#: ../rules/base.xml.in.h:552
+msgid "Portugal"
+msgstr "Portugalsko"
+
+#: ../rules/base.xml.in.h:553
+msgid "Probhat"
+msgstr "Prt"
+
+#: ../rules/base.xml.in.h:554
+msgid "Programmer Dvorak"
+msgstr "Programátorské Dvorak"
+
+#: ../rules/base.xml.in.h:555
+msgid "Propeller Voyager (KTEZ-1000)"
+msgstr "Propeller Voyager (KTEZ-1000)"
+
+#: ../rules/base.xml.in.h:556
+msgid "Prt"
+msgstr "PRT"
+
+#: ../rules/base.xml.in.h:557
+msgid "PrtSc"
+msgstr "PrtSc"
+
+#: ../rules/base.xml.in.h:558
+msgid "QTronix Scorpius 98N+"
+msgstr "QTronix Scorpius 98N+"
+
+#: ../rules/base.xml.in.h:559
+msgid "Right Alt"
+msgstr "Pravá klávesa Alt"
+
+#: ../rules/base.xml.in.h:560
+msgid "Right Alt (while pressed)"
+msgstr "Pravá klávesa Alt (při stisknutí)"
+
+#: ../rules/base.xml.in.h:561
+msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr "Pravá klávesa Alt vybírá 5. úroveň, uzamyká při stisknutí společně s jinou výběrovou klávesou 5. úrovně"
+
+#: ../rules/base.xml.in.h:562
+msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr "Pravá klávesa Alt vybírá 5. úroveň, uzamyká při stisknutí společně s jinou výběrovou klávesou 5. úrovně, jedno stisknutí ruší uzamčení"
+
+#: ../rules/base.xml.in.h:563
+msgid "Right Alt key never chooses 3rd level"
+msgstr "Pravá klávesa Alt nikdy neumožní výběr 3. úrovně"
+
+#: ../rules/base.xml.in.h:564
+msgid "Right Alt, Shift+Right Alt key is Multi_Key"
+msgstr "Pravá klávesa Alt, Shift a pravá klávesa Alt je Multi_Key"
+
+#: ../rules/base.xml.in.h:565
+msgid "Right Ctrl"
+msgstr "Pravá klávesa Ctrl"
+
+#: ../rules/base.xml.in.h:566
+msgid "Right Ctrl (while pressed)"
+msgstr "Pravá klávesa Ctrl (při stisknutí)"
+
+#: ../rules/base.xml.in.h:567
+msgid "Right Ctrl as Right Alt"
+msgstr "Pravá klávesa Ctrl funguje jako pravá klávesa Alt"
+
+#: ../rules/base.xml.in.h:568
+msgid "Right Ctrl+Right Shift"
+msgstr "Pravá klávesa Ctrl + pravá klávesa Shift"
+
+#: ../rules/base.xml.in.h:569
+msgid "Right Shift"
+msgstr "Pravá klávesa Shift"
+
+#: ../rules/base.xml.in.h:570
+msgid "Right Win"
+msgstr "Pravá klávesa Win"
+
+#: ../rules/base.xml.in.h:571
+msgid "Right Win (while pressed)"
+msgstr "Pravá klávesa Win (při stisknutí)"
+
+#: ../rules/base.xml.in.h:572
+msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr "Pravá klávesa Win vybírá 5. úroveň, uzamyká při stisknutí společně s jinou výběrovou klávesou 5. úrovně"
+
+#: ../rules/base.xml.in.h:573
+msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr "Pravá klávesa Win vybírá 5. úroveň, uzamyká při stisknutí společně s jinou výběrovou klávesou 5. úrovně, jedno stisknutí ruší uzamčení"
+
+#: ../rules/base.xml.in.h:574
+msgid "Right hand"
+msgstr "Pravoruké"
+
+#: ../rules/base.xml.in.h:575
+msgid "Right handed Dvorak"
+msgstr "Pravoruké Dvorak"
+
+#: ../rules/base.xml.in.h:576
+msgid "Romania"
+msgstr "Rumunsko"
+
+#: ../rules/base.xml.in.h:577
+msgid "Romanian keyboard with German letters"
+msgstr "Rumunská klávesnice s německými znaky"
+
+#: ../rules/base.xml.in.h:578
+msgid "Romanian keyboard with German letters, eliminate dead keys"
+msgstr "Rumunská klávesnice s německými znaky, vyloučit mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:579
+msgid "Rou"
+msgstr "ROU"
+
+#: ../rules/base.xml.in.h:580
+msgid "Rus"
+msgstr "RUS"
+
+#: ../rules/base.xml.in.h:581
+msgid "Russia"
+msgstr "Rusko"
+
+#: ../rules/base.xml.in.h:582
+msgid "Russian"
+msgstr "Ruské"
+
+#: ../rules/base.xml.in.h:583
+msgid "Russian phonetic"
+msgstr "Ruské fonetické"
+
+#: ../rules/base.xml.in.h:584
+msgid "Russian phonetic Dvorak"
+msgstr "Ruské fonetické Dvorak"
+
+#: ../rules/base.xml.in.h:585
+msgid "Russian phonetic, eliminate dead keys"
+msgstr "Ruské fonetické, vyloučit mrtvé klávesy"
+
+#: ../rules/base.xml.in.h:586
+msgid "Russian with Kazakh"
+msgstr "Ruská s kazaštinou"
+
+#: ../rules/base.xml.in.h:587
+msgid "SILVERCREST Multimedia Wireless Keyboard"
+msgstr "SILVERCREST Multimedia Wireless Keyboard"
+
+#: ../rules/base.xml.in.h:588
+msgid "SK-1300"
+msgstr "SK-1300"
+
+#: ../rules/base.xml.in.h:589
+msgid "SK-2500"
+msgstr "SK-2500"
+
+#: ../rules/base.xml.in.h:590
+msgid "SK-6200"
+msgstr "SK-6200"
+
+#: ../rules/base.xml.in.h:591
+msgid "SK-7100"
+msgstr "SK-7100"
+
+#: ../rules/base.xml.in.h:592 ../rules/base.extras.xml.in.h:7
+msgid "SRB"
+msgstr "SRB"
+
+#: ../rules/base.xml.in.h:593
+msgid "SVEN Ergonomic 2500"
+msgstr "SVEN Ergonomic 2500"
+
+#: ../rules/base.xml.in.h:594
+msgid "SVEN Slim 303"
+msgstr "SVEN Slim 303"
+
+#: ../rules/base.xml.in.h:595
+msgid "Samsung SDM 4500P"
+msgstr "Samsung SDM 4500P"
+
+#: ../rules/base.xml.in.h:596
+msgid "Samsung SDM 4510P"
+msgstr "Samsung SDM 4510P"
+
+#: ../rules/base.xml.in.h:597
+msgid "ScrollLock"
+msgstr "Scroll Lock"
+
+#: ../rules/base.xml.in.h:598
+msgid "Secwepemctsin"
+msgstr "Secwepemctsin"
+
+#: ../rules/base.xml.in.h:599
+msgid "Semi-colon on third level"
+msgstr "Středník na třetí úrovni"
+
+#: ../rules/base.xml.in.h:600
+msgid "Sen"
+msgstr "SEN"
+
+#: ../rules/base.xml.in.h:601
+msgid "Senegal"
+msgstr "Senegal"
+
+#: ../rules/base.xml.in.h:602 ../rules/base.extras.xml.in.h:8
+msgid "Serbia"
+msgstr "Srbsko"
+
+#: ../rules/base.xml.in.h:603
+msgid "Serbian"
+msgstr "Srbské"
+
+#: ../rules/base.xml.in.h:604
+msgid "Shift cancels CapsLock"
+msgstr "Shift ruší Caps Lock"
+
+#: ../rules/base.xml.in.h:605
+msgid "Shift does not cancel NumLock, chooses 3rd level instead"
+msgstr "Shift does not cancel NumLock, chooses 3rd level instead"
+
+#: ../rules/base.xml.in.h:606
+msgid "Shift with numeric keypad keys works as in MS Windows"
+msgstr "Shift s numerickými klávesami funguje jako v MS Windows"
+
+#: ../rules/base.xml.in.h:607
+msgid "Shift+CapsLock"
+msgstr "Shift+Caps Lock"
+
+#: ../rules/base.xml.in.h:608
+msgid "Simple"
+msgstr "Jednoduché"
+
+#: ../rules/base.xml.in.h:609
+msgid "Slovakia"
+msgstr "Slovensko"
+
+#: ../rules/base.xml.in.h:610
+msgid "Slovenia"
+msgstr "Slovinsko"
+
+#: ../rules/base.xml.in.h:611
+msgid "South Africa"
+msgstr "Jihoafrická republika"
+
+#: ../rules/base.xml.in.h:612
+msgid "Southern Uzbek"
+msgstr "Jihouzbecké"
+
+#: ../rules/base.xml.in.h:613
+msgid "Spain"
+msgstr "Španělsko"
+
+#: ../rules/base.xml.in.h:614
+msgid "Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server"
+msgstr "Speciální klávesy (Ctrl+Alt+&lt;klávesa&gt;) zpracovány v serveru"
+
+#: ../rules/base.xml.in.h:615
+msgid "Sri Lanka"
+msgstr "Srí Lanka"
+
+#: ../rules/base.xml.in.h:616
+msgid "Standard"
+msgstr "Standardní"
+
+#: ../rules/base.xml.in.h:617
+msgid "Standard (Cedilla)"
+msgstr "Standardní (cédille)"
+
+#. RSTU 2019-91
+#: ../rules/base.xml.in.h:619
+msgid "Standard RSTU"
+msgstr "Standardní RSTU"
+
+#. RSTU 2019-91
+#: ../rules/base.xml.in.h:621
+msgid "Standard RSTU on Russian layout"
+msgstr "Standardní RSTU s ruským rozložením"
+
+#: ../rules/base.xml.in.h:622
+msgid "Sun Type 5/6"
+msgstr "Sun Type 5/6"
+
+#: ../rules/base.xml.in.h:623
+msgid "Sun dead keys"
+msgstr "Mrtvé klávesy Sun"
+
+#: ../rules/base.xml.in.h:624
+msgid "Super Power Multimedia Keyboard"
+msgstr "Super Power Multimedia Keyboard"
+
+#: ../rules/base.xml.in.h:625
+msgid "Svdvorak"
+msgstr "Svdvorak"
+
+#: ../rules/base.xml.in.h:626
+msgid "Svk"
+msgstr "SVK"
+
+#: ../rules/base.xml.in.h:627
+msgid "Svn"
+msgstr "SVN"
+
+#: ../rules/base.xml.in.h:628
+msgid "Swap Ctrl and CapsLock"
+msgstr "Zaměnit Ctrl a Caps Lock"
+
+#: ../rules/base.xml.in.h:629
+msgid "Swap ESC and CapsLock"
+msgstr "Zaměnit Esc a Caps Lock"
+
+#: ../rules/base.xml.in.h:630
+msgid "Swe"
+msgstr "SWE"
+
+#: ../rules/base.xml.in.h:631
+msgid "Sweden"
+msgstr "Švédsko"
+
+#: ../rules/base.xml.in.h:632
+msgid "Switzerland"
+msgstr "Švýcarsko"
+
+#: ../rules/base.xml.in.h:633
+msgid "Symplon PaceBook (tablet PC)"
+msgstr "Symplon PaceBook (tablet PC)"
+
+#: ../rules/base.xml.in.h:634
+msgid "Syr"
+msgstr "SYR"
+
+#: ../rules/base.xml.in.h:635
+msgid "Syria"
+msgstr "Sýrie"
+
+#: ../rules/base.xml.in.h:636
+msgid "Syriac"
+msgstr "Syrské"
+
+#: ../rules/base.xml.in.h:637
+msgid "Syriac phonetic"
+msgstr "Syrské fonetické"
+
+#: ../rules/base.xml.in.h:638
+msgid "TIS-820.2538"
+msgstr "TIS-820.2538"
+
+#: ../rules/base.xml.in.h:639
+msgid "Tajikistan"
+msgstr "Tádžikistán"
+
+#: ../rules/base.xml.in.h:640
+msgid "Tamil"
+msgstr "Tamilské"
+
+#: ../rules/base.xml.in.h:641
+msgid "Tamil Keyboard with Numerals"
+msgstr "Tamilská klávesnice s číselnými znaky"
+
+#: ../rules/base.xml.in.h:642
+msgid "Tamil TAB Typewriter"
+msgstr "Tamil TAB Typewriter"
+
+#: ../rules/base.xml.in.h:643
+msgid "Tamil TSCII Typewriter"
+msgstr "Tamil TSCII Typewriter"
+
+#: ../rules/base.xml.in.h:644
+msgid "Tamil Unicode"
+msgstr "Tamilské Unicode"
+
+#: ../rules/base.xml.in.h:645
+msgid "Tanzania"
+msgstr "Tanzanie"
+
+#: ../rules/base.xml.in.h:646
+msgid "Targa Visionary 811"
+msgstr "Targa Visionary 811"
+
+#: ../rules/base.xml.in.h:647
+msgid "Tatar"
+msgstr "Tatarské"
+
+#: ../rules/base.xml.in.h:648
+msgid "Telugu"
+msgstr "Tegulské"
+
+#: ../rules/base.xml.in.h:649
+msgid "Tha"
+msgstr "THA"
+
+#: ../rules/base.xml.in.h:650
+msgid "Thailand"
+msgstr "Thajsko"
+
+#: ../rules/base.xml.in.h:651
+msgid "Tibetan"
+msgstr "Tibetské"
+
+#: ../rules/base.xml.in.h:652
+msgid "Tibetan (with ASCII numerals)"
+msgstr "Tibetské (s číslicemi ASCII)"
+
+#: ../rules/base.xml.in.h:653
+msgid "Tifinagh"
+msgstr "Tifinagh"
+
+#: ../rules/base.xml.in.h:654
+msgid "Tifinagh Alternative"
+msgstr "Tifinagh, alternativní"
+
+#: ../rules/base.xml.in.h:655
+msgid "Tifinagh Alternative Phonetic"
+msgstr "Tifinagh, alternativní fonetické"
+
+#: ../rules/base.xml.in.h:656
+msgid "Tifinagh Extended"
+msgstr "Tifinagh, rozšířené"
+
+#: ../rules/base.xml.in.h:657
+msgid "Tifinagh Extended Phonetic"
+msgstr "Tifinagh, rozšířené fonetické"
+
+#: ../rules/base.xml.in.h:658
+msgid "Tifinagh Phonetic"
+msgstr "Tifinagh, fonetické"
+
+#: ../rules/base.xml.in.h:659
+msgid "Tilde (~) variant"
+msgstr "Varianta s vlnovkou (~)"
+
+#: ../rules/base.xml.in.h:660
+msgid "Tjk"
+msgstr "TJK"
+
+#: ../rules/base.xml.in.h:661
+msgid "Tkm"
+msgstr "TKM"
+
+#: ../rules/base.xml.in.h:662
+msgid "To the corresponding key in a Dvorak keyboard."
+msgstr "K odpovídající klávese na klávesnici Dvorak."
+
+#: ../rules/base.xml.in.h:663
+msgid "To the corresponding key in a Qwerty keyboard."
+msgstr "K odpovídající klávese na klávesnici Qwerty."
+
+#: ../rules/base.xml.in.h:664
+msgid "Toshiba Satellite S3000"
+msgstr "Toshiba Satellite S3000"
+
+#: ../rules/base.xml.in.h:665
+msgid "Traditional phonetic"
+msgstr "Tradiční fonetické"
+
+#: ../rules/base.xml.in.h:666
+msgid "Trust Direct Access Keyboard"
+msgstr "Trust Direct Access Keyboard"
+
+#: ../rules/base.xml.in.h:667
+msgid "Trust Slimline"
+msgstr "Trust Slimline"
+
+#: ../rules/base.xml.in.h:668
+msgid "Trust Wireless Keyboard Classic"
+msgstr "Trust Wireless Keyboard Classic"
+
+#: ../rules/base.xml.in.h:669
+msgid "Tur"
+msgstr "TUR"
+
+#: ../rules/base.xml.in.h:670
+msgid "Turkey"
+msgstr "Turecko"
+
+#: ../rules/base.xml.in.h:671
+msgid "Turkmenistan"
+msgstr "Turkmenistán"
+
+#: ../rules/base.xml.in.h:672
+msgid "TypeMatrix EZ-Reach 2020"
+msgstr "TypeMatrix EZ-Reach 2020"
+
+#: ../rules/base.xml.in.h:673
+msgid "TypeMatrix EZ-Reach 2030 PS2"
+msgstr "TypeMatrix EZ-Reach 2030 PS2"
+
+#: ../rules/base.xml.in.h:674
+msgid "TypeMatrix EZ-Reach 2030 USB"
+msgstr "TypeMatrix EZ-Reach 2030 USB"
+
+#: ../rules/base.xml.in.h:675
+msgid "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)"
+msgstr "TypeMatrix EZ-Reach 2030 USB (režim 102/105:EU)"
+
+#: ../rules/base.xml.in.h:676
+msgid "TypeMatrix EZ-Reach 2030 USB (106:JP mode)"
+msgstr "TypeMatrix EZ-Reach 2030 USB (režim 106:JP)"
+
+#: ../rules/base.xml.in.h:677
+msgid "Typewriter"
+msgstr "Psací stroj"
+
+#: ../rules/base.xml.in.h:678
+msgid "Typewriter, legacy"
+msgstr "Psací stroj, zděděné"
+
+#: ../rules/base.xml.in.h:679
+msgid "Tza"
+msgstr "TZA"
+
+#: ../rules/base.xml.in.h:680
+msgid "UCW layout (accented letters only)"
+msgstr "Rozložení UCW (pouze znaky s diakritikou)"
+
+#: ../rules/base.xml.in.h:681
+msgid "US Dvorak with CZ UCW support"
+msgstr "Americké Dvorak s podporou CZ UCW"
+
+#: ../rules/base.xml.in.h:682
+msgid "US keyboard with Bosnian digraphs"
+msgstr "Americká klávesnice s bosenskými spřežkami"
+
+#: ../rules/base.xml.in.h:683
+msgid "US keyboard with Bosnian letters"
+msgstr "Americká klávesnice s bosenskými znaky"
+
+#: ../rules/base.xml.in.h:684
+msgid "US keyboard with Croatian digraphs"
+msgstr "Americká klávesnice s chorvatskými spřežkami"
+
+#: ../rules/base.xml.in.h:685
+msgid "US keyboard with Croatian letters"
+msgstr "Americká klávesnice s chorvatskými znaky"
+
+#: ../rules/base.xml.in.h:686
+msgid "US keyboard with Estonian letters"
+msgstr "Americká klávesnice s estonskými znaky"
+
+#: ../rules/base.xml.in.h:687
+msgid "US keyboard with Italian letters"
+msgstr "Americká klávesnice s italskými znaky"
+
+#: ../rules/base.xml.in.h:688
+msgid "US keyboard with Lithuanian letters"
+msgstr "Americká klávesnice s litevskými znaky"
+
+#: ../rules/base.xml.in.h:689
+msgid "US keyboard with Slovenian letters"
+msgstr "Americká klávesnice se slovinskými znaky"
+
+#: ../rules/base.xml.in.h:690 ../rules/base.extras.xml.in.h:9
+msgid "USA"
+msgstr "USA"
+
+#: ../rules/base.xml.in.h:691
+msgid "Udmurt"
+msgstr "Udmurtské"
+
+#: ../rules/base.xml.in.h:692
+msgid "Ukr"
+msgstr "UKR"
+
+#: ../rules/base.xml.in.h:693
+msgid "Ukraine"
+msgstr "Ukrajina"
+
+#: ../rules/base.xml.in.h:694
+msgid "Unicode additions (arrows and math operators)"
+msgstr "Doplňky Unicode (šipky a matematické operátory)"
+
+#: ../rules/base.xml.in.h:695
+msgid "Unicode additions (arrows and math operators). Math operators on default level"
+msgstr "Doplňky Unicode (šipky a matematické operátory). Matematické operátory na výchozí úrovni."
+
+#: ../rules/base.xml.in.h:696
+msgid "UnicodeExpert"
+msgstr "UnicodeExpert"
+
+#: ../rules/base.xml.in.h:697
+msgid "United Kingdom"
+msgstr "Spojené království"
+
+#: ../rules/base.xml.in.h:698
+msgid "Unitek KB-1925"
+msgstr "Unitek KB-1925"
+
+#: ../rules/base.xml.in.h:699
+msgid "Urdu, Alternative phonetic"
+msgstr "Urdské, alternativní fonetické"
+
+#: ../rules/base.xml.in.h:700
+msgid "Urdu, Phonetic"
+msgstr "Urdské, fonetické"
+
+#: ../rules/base.xml.in.h:701
+msgid "Urdu, Winkeys"
+msgstr "Urdské, klávesy Win"
+
+#: ../rules/base.xml.in.h:702
+msgid "Use Bosnian digraphs"
+msgstr "Používat bosenské spřežky"
+
+#: ../rules/base.xml.in.h:703
+msgid "Use Croatian digraphs"
+msgstr "Používat chorvatské spřežky"
+
+#: ../rules/base.xml.in.h:704
+msgid "Use guillemets for quotes"
+msgstr "Používat francouzské uvozovky"
+
+#: ../rules/base.xml.in.h:705
+msgid "Use keyboard LED to show alternative layout"
+msgstr "Použít LED klávesnice k zobrazení alternativního rozložení"
+
+#: ../rules/base.xml.in.h:706
+msgid "Using space key to input non-breakable space character"
+msgstr "Používání mezerníku k zadávání znaku nedělitelné mezery"
+
+#: ../rules/base.xml.in.h:707
+msgid "Usual space at any level"
+msgstr "Na jakékoliv úrovni znak běžné mezery"
+
+#: ../rules/base.xml.in.h:708
+msgid "Uzb"
+msgstr "UZB"
+
+#: ../rules/base.xml.in.h:709
+msgid "Uzbekistan"
+msgstr "Uzbekistán"
+
+#: ../rules/base.xml.in.h:710
+msgid "Vietnam"
+msgstr "Vietnam"
+
+#: ../rules/base.xml.in.h:711
+msgid "ViewSonic KU-306 Internet Keyboard"
+msgstr "ViewSonic KU-306 Internet Keyboard"
+
+#: ../rules/base.xml.in.h:712
+msgid "Vnm"
+msgstr "VNM"
+
+#: ../rules/base.xml.in.h:713
+msgid "Wang 724 keypad with unicode additions (arrows and math operators)"
+msgstr "Numerická klávesnice Wang 724 s doplňky Unicode (šipky a matematické operátory)"
+
+#: ../rules/base.xml.in.h:714
+msgid "Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level"
+msgstr "Numerická klávesnice Wang 724 s doplňky Unicode (šipky a matematické operátory). Matematické operátory na výchozí úrovni."
+
+#: ../rules/base.xml.in.h:715
+msgid "Wang model 724 azerty"
+msgstr "Wang, model 724 azerty"
+
+#: ../rules/base.xml.in.h:716
+msgid "Western"
+msgstr "Západní"
+
+#: ../rules/base.xml.in.h:717
+msgid "Winbook Model XP5"
+msgstr "Winbook Model XP5"
+
+#: ../rules/base.xml.in.h:718
+msgid "Winkeys"
+msgstr "Klávesy Win"
+
+#: ../rules/base.xml.in.h:719
+msgid "With &lt;\\|&gt; key"
+msgstr "S klávesou &lt;\\|&gt;"
+
+#: ../rules/base.xml.in.h:720
+msgid "With EuroSign on 5"
+msgstr "Se znakem eura na klávese 5"
+
+#: ../rules/base.xml.in.h:721
+msgid "With guillemets"
+msgstr "S francouzskými uvozovkami"
+
+#: ../rules/base.xml.in.h:722
+msgid "Yahoo! Internet Keyboard"
+msgstr "Yahoo! Internet Keyboard"
+
+#: ../rules/base.xml.in.h:723
+msgid "Yakut"
+msgstr "jakutské"
+
+#: ../rules/base.xml.in.h:724
+msgid "Yoruba"
+msgstr "Jorubské"
+
+#: ../rules/base.xml.in.h:725
+msgid "Z and ZHE swapped"
+msgstr "Prohozené Z a Ž"
+
+#: ../rules/base.xml.in.h:726
+msgid "Zaf"
+msgstr "ZAF"
+
+#: ../rules/base.xml.in.h:727
+msgid "Zero-width non-joiner character at second level"
+msgstr "Na druhé úrovni znak nespojovače nulové šířky"
+
+#: ../rules/base.xml.in.h:728
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level"
+msgstr "Na druhé úrovni znak nespojovače nulové šířky, nedělitelná mezera na třetí úrovni"
+
+#: ../rules/base.xml.in.h:729
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level"
+msgstr "Na druhé úrovni znak nespojovače nulové šířky, na třetí úrovni nedělitelná mezera, nic na úrovni čtvrté"
+
+#: ../rules/base.xml.in.h:730
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level"
+msgstr "Na druhé úrovni znak nespojovače nulové šířky, nedělitelná mezera na třetí úrovni, tenká nedělitelná mezera na čtvrté úrovni"
+
+#: ../rules/base.xml.in.h:731
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level"
+msgstr "Na druhé úrovni znak nespojovače nulové šířky, nedělitelná mezera na třetí úrovni, spojovač nulové šířky na úrovni čtvrté"
+
+#: ../rules/base.xml.in.h:732
+msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level"
+msgstr "Na druhé úrovni znak nespojovače nulové šířky, znak spojovače nulové šířky na třetí úrovni"
+
+#: ../rules/base.xml.in.h:733
+msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level"
+msgstr "Na druhé úrovni znak nespojovače nulové šířky, znak spojovače nulové šířky na třetí úrovni, nedělitelná mezera na čtvrté úrovni"
+
+#: ../rules/base.xml.in.h:734
+msgid "Zero-width non-joiner character at third level, zero-width joiner at fourth level"
+msgstr "Na třetí úrovni znak nespojovače nulové šířky, znak spojovače nulové šířky na úrovni čtvrté"
+
+#: ../rules/base.xml.in.h:735
+msgid "azerty"
+msgstr "azerty"
+
+#: ../rules/base.xml.in.h:736
+msgid "azerty/digits"
+msgstr "azerty/číslice"
+
+#: ../rules/base.xml.in.h:737
+msgid "digits"
+msgstr "číslice"
+
+#: ../rules/base.xml.in.h:738
+msgid "displaced semicolon and quote (obsolete)"
+msgstr "posunutý středník a uvozovka (zastaralé)"
+
+#: ../rules/base.xml.in.h:739
+msgid "lyx"
+msgstr "lyx"
+
+#: ../rules/base.xml.in.h:740
+msgid "qwerty"
+msgstr "qwerty"
+
+#: ../rules/base.xml.in.h:741
+msgid "qwerty, extended Backslash"
+msgstr "qwerty, rozšířená klávesa zpětného lomítka"
+
+#: ../rules/base.xml.in.h:742
+msgid "qwerty/digits"
+msgstr "qwerty/číslice"
+
+#: ../rules/base.xml.in.h:743
+msgid "qwertz"
+msgstr "qwertz"
+
+#: ../rules/base.extras.xml.in.h:1
+msgid "APL"
+msgstr "APL"
+
+#: ../rules/base.extras.xml.in.h:2
+msgid "Atsina"
+msgstr "Atsina"
+
+#: ../rules/base.extras.xml.in.h:3
+msgid "Combining accents instead of dead keys"
+msgstr "Místo mrtvých kláves kombinovaná diakritika"
+
+#: ../rules/base.extras.xml.in.h:4
+msgid "Couer D'alene Salish"
+msgstr "Salishské (Coeur d'Alene)"
+
+#: ../rules/base.extras.xml.in.h:5
+msgid "International (AltGr Unicode combining)"
+msgstr "Mezinárodní (AltGr kombinované Unicode)"
+
+#: ../rules/base.extras.xml.in.h:6
+msgid "International (AltGr Unicode combining, alternative)"
+msgstr "Mezinárodní (AltGr kombinované Unicode, alternativní)"
diff --git a/xorg-server/xkeyboard-config/po/da.po b/xorg-server/xkeyboard-config/po/da.po
index 8226fef64..81a7faa99 100644
--- a/xorg-server/xkeyboard-config/po/da.po
+++ b/xorg-server/xkeyboard-config/po/da.po
@@ -3,8 +3,10 @@
# This file is distributed under the same license as the xkeyboard-config package.
# Ole Laursen <olau@hardworking.dk>, 2003.
# Joe Hansen <joedalton2@yahoo.dk>, 2008, 2009, 2010.
+# Korrekturlæsning "Lars Christian Jensen" <larschrjensen@gmail.com>, 2010.
#
# Backspace = rettelsestast
+# caps lock = caps lock (kunne nok også være lås skift)
# compose = compose (uafklaret, en streng er tilbage med den)
#
# Jeg tror at når der står "compose" i forbindelse med tastaturer er der
@@ -24,10 +26,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: xkeyboard-config-1.9\n"
+"Project-Id-Version: xkeyboard-config-2.0\n"
"Report-Msgid-Bugs-To: svu@users.sourceforge.net\n"
-"POT-Creation-Date: 2010-05-11 21:34+0100\n"
-"PO-Revision-Date: 2010-05-12 23:06+0100\n"
+"POT-Creation-Date: 2010-09-15 21:57+0100\n"
+"PO-Revision-Date: 2010-09-25 23:06+0100\n"
"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"MIME-Version: 1.0\n"
@@ -220,8 +222,8 @@ msgid "Alt is mapped to Right Win, Super to Menu"
msgstr "Alt ligger på den højre Win-tast og Super på Menu"
#: ../rules/base.xml.in.h:47
-msgid "Alt+CapsLock"
-msgstr "Alt+CapsLock"
+msgid "Alt+Caps Lock"
+msgstr "Alt+Caps Lock"
#: ../rules/base.xml.in.h:48
msgid "Alt+Ctrl"
@@ -312,8 +314,8 @@ msgid "Apple Aluminium Keyboard (JIS)"
msgstr "Apples aluminiumstastatur (JIS)"
#: ../rules/base.xml.in.h:70
-msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll_Lock, Pause, NumLock)"
-msgstr "Apples aluminiumstastatur: Emuler PC-taster (Udskriv, Scroll_Lock, Pause, NumLock)"
+msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num Lock)"
+msgstr "Apples aluminiumstastatur: Emuler PC-taster (Udskriv, Scroll Lock, Pause, NumLock)"
#: ../rules/base.xml.in.h:71
msgid "Apple Laptop"
@@ -355,1078 +357,1086 @@ msgstr "Nederst til venstre"
msgid "At left of 'A'"
msgstr "Til venstre for 'A'"
+#: ../rules/base.xml.in.h:80
+msgid "Austria"
+msgstr "Østrig"
+
+#: ../rules/base.xml.in.h:81
+msgid "Aut"
+msgstr "Øst"
+
# The Avatime are an Akan people who live in Volta region of Ghana. History has it
# that they are Ahanta people who migrated to the Volta region.
-#: ../rules/base.xml.in.h:80
+#: ../rules/base.xml.in.h:82
msgid "Avatime"
msgstr "Avatime"
-#: ../rules/base.xml.in.h:81
+#: ../rules/base.xml.in.h:83
msgid "Aze"
msgstr "Ase"
-#: ../rules/base.xml.in.h:82
+#: ../rules/base.xml.in.h:84
msgid "Azerbaijan"
msgstr "Aserbajdsjan"
-#: ../rules/base.xml.in.h:83
+#: ../rules/base.xml.in.h:85
msgid "Azona RF2300 wireless Internet Keyboard"
msgstr "Azona RF2300 wireless Internet Keyboard"
-#: ../rules/base.xml.in.h:84
+#: ../rules/base.xml.in.h:86
msgid "BTC 5090"
msgstr "BTC 5090"
-#: ../rules/base.xml.in.h:85
+#: ../rules/base.xml.in.h:87
msgid "BTC 5113RF Multimedia"
msgstr "BTC 5113RF-multimedie"
-#: ../rules/base.xml.in.h:86
+#: ../rules/base.xml.in.h:88
msgid "BTC 5126T"
msgstr "BTC 5126T"
-#: ../rules/base.xml.in.h:87
+#: ../rules/base.xml.in.h:89
msgid "BTC 6301URF"
msgstr "BTC 6301URF"
-#: ../rules/base.xml.in.h:88
+#: ../rules/base.xml.in.h:90
msgid "BTC 9000"
msgstr "BTC 9000"
-#: ../rules/base.xml.in.h:89
+#: ../rules/base.xml.in.h:91
msgid "BTC 9000A"
msgstr "BTC 9000A"
-#: ../rules/base.xml.in.h:90
+#: ../rules/base.xml.in.h:92
msgid "BTC 9001AH"
msgstr "BTC 9001AH"
-#: ../rules/base.xml.in.h:91
+#: ../rules/base.xml.in.h:93
msgid "BTC 9019U"
msgstr "BTC 9019U"
-#: ../rules/base.xml.in.h:92
+#: ../rules/base.xml.in.h:94
msgid "BTC 9116U Mini Wireless Internet and Gaming"
msgstr "BTC 9116U minitrådløst internet og spil"
-#: ../rules/base.xml.in.h:93
+#: ../rules/base.xml.in.h:95
msgid "Backslash"
msgstr "Omvendt skråstreg"
-#: ../rules/base.xml.in.h:94
+#: ../rules/base.xml.in.h:96
msgid "Bangladesh"
msgstr "Bangladesh"
-#: ../rules/base.xml.in.h:95
+#: ../rules/base.xml.in.h:97
msgid "Bashkirian"
msgstr "Bashkirian"
-#: ../rules/base.xml.in.h:96
+#: ../rules/base.xml.in.h:98
msgid "Bel"
msgstr "Bel"
-#: ../rules/base.xml.in.h:97
+#: ../rules/base.xml.in.h:99
msgid "Belarus"
msgstr "Hviderusland"
-#: ../rules/base.xml.in.h:98
+#: ../rules/base.xml.in.h:100
msgid "Belgium"
msgstr "Belgien"
-#: ../rules/base.xml.in.h:99
+#: ../rules/base.xml.in.h:101
msgid "BenQ X-Touch"
msgstr "BenQ X-Touch"
-#: ../rules/base.xml.in.h:100
+#: ../rules/base.xml.in.h:102
msgid "BenQ X-Touch 730"
msgstr "BenQ X-Touch 730"
-#: ../rules/base.xml.in.h:101
+#: ../rules/base.xml.in.h:103
msgid "BenQ X-Touch 800"
msgstr "BenQ X-Touch 800"
-#: ../rules/base.xml.in.h:102
+#: ../rules/base.xml.in.h:104
msgid "Bengali"
msgstr "Bengali"
-#: ../rules/base.xml.in.h:103
+#: ../rules/base.xml.in.h:105
msgid "Bengali Probhat"
msgstr "Bengali probhat"
-#: ../rules/base.xml.in.h:104
+#: ../rules/base.xml.in.h:106
msgid "Bepo, ergonomic, Dvorak way"
msgstr "Bepo, ergonomisk, Dvorakmåde"
-#: ../rules/base.xml.in.h:105
+#: ../rules/base.xml.in.h:107
msgid "Bepo, ergonomic, Dvorak way, latin-9 only"
msgstr "Bepo, ergonomisk, Dvorakmåde, kun latin-9"
-#: ../rules/base.xml.in.h:106
+#: ../rules/base.xml.in.h:108
msgid "Bgd"
msgstr "Bgd"
-#: ../rules/base.xml.in.h:107
+#: ../rules/base.xml.in.h:109
msgid "Bgr"
msgstr "Bgr"
-#: ../rules/base.xml.in.h:108
+#: ../rules/base.xml.in.h:110
msgid "Bhutan"
msgstr "Bhutan"
-#: ../rules/base.xml.in.h:109
+#: ../rules/base.xml.in.h:111
msgid "Biblical Hebrew (Tiro)"
msgstr "Bibelsk hebraisk (Tiro)"
-#: ../rules/base.xml.in.h:110
+#: ../rules/base.xml.in.h:112
msgid "Bih"
msgstr "Bih"
-#: ../rules/base.xml.in.h:111
+#: ../rules/base.xml.in.h:113
msgid "Blr"
msgstr "Blr"
-#: ../rules/base.xml.in.h:112
+#: ../rules/base.xml.in.h:114
msgid "Bosnia and Herzegovina"
msgstr "Bosnien-herzegovina"
-#: ../rules/base.xml.in.h:113
+#: ../rules/base.xml.in.h:115
msgid "Both Alt keys together"
msgstr "Begge Alt-taster sammen"
-#: ../rules/base.xml.in.h:114
+#: ../rules/base.xml.in.h:116
msgid "Both Ctrl keys together"
msgstr "Begge Ctrl-taster sammen"
-#: ../rules/base.xml.in.h:115
+#: ../rules/base.xml.in.h:117
msgid "Both Shift keys together"
msgstr "Begge skiftetaster sammen"
-#: ../rules/base.xml.in.h:116
-msgid "Both Shift-Keys together toggle CapsLock"
-msgstr "Begge skiftetaster sammen skifter CapsLock"
+#: ../rules/base.xml.in.h:118
+msgid "Both Shift-Keys together toggle Caps Lock"
+msgstr "Begge skiftetaster sammen skifter Caps Lock"
-#: ../rules/base.xml.in.h:117
+#: ../rules/base.xml.in.h:119
msgid "Botswana"
msgstr "Botswana"
-#: ../rules/base.xml.in.h:118
+#: ../rules/base.xml.in.h:120
msgid "Bra"
msgstr "Bra"
-#: ../rules/base.xml.in.h:119
+#: ../rules/base.xml.in.h:121
msgid "Braille"
msgstr "Blindskrift"
-#: ../rules/base.xml.in.h:120
+#: ../rules/base.xml.in.h:122
msgid "Brazil"
msgstr "Brasilien"
-#: ../rules/base.xml.in.h:121
+#: ../rules/base.xml.in.h:123
msgid "Breton"
msgstr "Breton"
-#: ../rules/base.xml.in.h:122
+#: ../rules/base.xml.in.h:124
msgid "Brl"
msgstr "Brl"
-#: ../rules/base.xml.in.h:123
+#: ../rules/base.xml.in.h:125
msgid "Brother Internet Keyboard"
msgstr "Brother Internet Keyboard"
-#: ../rules/base.xml.in.h:124
+#: ../rules/base.xml.in.h:126
msgid "Btn"
msgstr "Btn"
-#: ../rules/base.xml.in.h:125
+#: ../rules/base.xml.in.h:127
msgid "Buckwalter"
msgstr "Buckwalter"
-#: ../rules/base.xml.in.h:126
+#: ../rules/base.xml.in.h:128
msgid "Bulgaria"
msgstr "Bulgarien"
-#: ../rules/base.xml.in.h:127
+#: ../rules/base.xml.in.h:129
msgid "Bwa"
msgstr "Bwa"
-#: ../rules/base.xml.in.h:128
+#: ../rules/base.xml.in.h:130
msgid "COD"
msgstr "COD"
-#: ../rules/base.xml.in.h:129
+#: ../rules/base.xml.in.h:131
msgid "CRULP"
msgstr "CRULP"
-#: ../rules/base.xml.in.h:130
+#: ../rules/base.xml.in.h:132
msgid "Cambodia"
msgstr "Cambodia"
-#: ../rules/base.xml.in.h:131
+#: ../rules/base.xml.in.h:133
msgid "Can"
msgstr "Can"
-#: ../rules/base.xml.in.h:132
+#: ../rules/base.xml.in.h:134
msgid "Canada"
msgstr "Canada"
-#: ../rules/base.xml.in.h:133
-msgid "CapsLock"
-msgstr "CapsLock"
-
-#: ../rules/base.xml.in.h:134
-msgid "CapsLock (to first layout), Shift+CapsLock (to last layout)"
-msgstr "CapsLock (skifter til første layout), Skift+CapsLock (skifter til sidste layout)"
-
#: ../rules/base.xml.in.h:135
-msgid "CapsLock (while pressed), Alt+CapsLock does the original capslock action"
-msgstr "CapsLock (mens presset ned), Alt+CapsLock udfører den oprindleige capslockhandling"
+msgid "Caps Lock"
+msgstr "Caps Lock"
#: ../rules/base.xml.in.h:136
-msgid "CapsLock acts as Shift with locking. Shift \"pauses\" CapsLock"
-msgstr "CapsLock agerer som skiftetasten med lås. Skift »pauser« CapsLock"
+msgid "Caps Lock (to first layout), Shift+Caps Lock (to last layout)"
+msgstr "Caps Lock (skifter til første layout), Skift+Caps Lock (skifter til sidste layout)"
#: ../rules/base.xml.in.h:137
-msgid "CapsLock acts as Shift with locking. Shift doesn't affect CapsLock"
-msgstr "CapsLock agerer som skiftetasten med lås. Skift påvirker ikke CapsLock"
+msgid "Caps Lock (while pressed), Alt+Caps Lock does the original capslock action"
+msgstr "Caps Lock (mens presset ned), Alt+Caps Lock udfører den oprindleige capslockhandling"
#: ../rules/base.xml.in.h:138
-msgid "CapsLock is disabled"
-msgstr "CapsLock er slået fra"
+msgid "Caps Lock acts as Shift with locking. Shift \"pauses\" Caps Lock"
+msgstr "Caps Lock agerer som skiftetasten med lås. Skift »pauser« Caps Lock"
#: ../rules/base.xml.in.h:139
-msgid "CapsLock key behavior"
-msgstr "Opførsel for CapsLock-tast"
+msgid "Caps Lock acts as Shift with locking. Shift doesn't affect Caps Lock"
+msgstr "Caps Lock agerer som skiftetasten med lås. Skift påvirker ikke Caps Lock"
#: ../rules/base.xml.in.h:140
-msgid "CapsLock toggles Shift so all keys are affected"
-msgstr "CapsLock ændrer Skift så alle taster bliver påvirket"
+msgid "Caps Lock is disabled"
+msgstr "Caps Lock er slået fra"
#: ../rules/base.xml.in.h:141
-msgid "CapsLock toggles normal capitalization of alphabetic characters"
-msgstr "CapsLock slår små/store bogstaver til/fra"
+msgid "Caps Lock key behavior"
+msgstr "Opførsel for Caps Lock-tast"
#: ../rules/base.xml.in.h:142
-msgid "CapsLock uses internal capitalization. Shift \"pauses\" CapsLock"
-msgstr "Bruger intern forstørrelse af bogstaver. Skift sætter CapsLock »på hold«"
+msgid "Caps Lock toggles Shift so all keys are affected"
+msgstr "Caps Lock ændrer Skift så alle taster bliver påvirket"
#: ../rules/base.xml.in.h:143
-msgid "CapsLock uses internal capitalization. Shift doesn't affect CapsLock"
-msgstr "Bruger intern forstørrelse af bogstaver. Skift påvirker ikke CapsLock"
+msgid "Caps Lock toggles normal capitalization of alphabetic characters"
+msgstr "Caps Lock slår små/store bogstaver til/fra"
#: ../rules/base.xml.in.h:144
+msgid "Caps Lock uses internal capitalization. Shift \"pauses\" Caps Lock"
+msgstr "Caps Lock bruger intern forstørrelse af bogstaver. Skift sætter Caps Lock »på hold«"
+
+#: ../rules/base.xml.in.h:145
+msgid "Caps Lock uses internal capitalization. Shift doesn't affect Caps Lock"
+msgstr "Caps Lock bruger intern forstørrelse af bogstaver. Skift påvirker ikke Caps Lock"
+
+#: ../rules/base.xml.in.h:146
msgid "Catalan variant with middle-dot L"
msgstr "Katalansk variant med midterpunktum L"
-#: ../rules/base.xml.in.h:145
+#: ../rules/base.xml.in.h:147
msgid "Cedilla"
msgstr "Cedille"
-#: ../rules/base.xml.in.h:146
+#: ../rules/base.xml.in.h:148
msgid "Che"
msgstr "Che"
-#: ../rules/base.xml.in.h:147
+#: ../rules/base.xml.in.h:149
msgid "Cherokee"
msgstr "Cherokee"
-#: ../rules/base.xml.in.h:148
+#: ../rules/base.xml.in.h:150
msgid "Cherry B.UNLIMITED"
msgstr "Cherry B.UBEGRÆNSET"
-#: ../rules/base.xml.in.h:149
+#: ../rules/base.xml.in.h:151
msgid "Cherry Blue Line CyBo@rd"
msgstr "Cherry Blue Line CyBo@rd"
-#: ../rules/base.xml.in.h:150
+#: ../rules/base.xml.in.h:152
msgid "Cherry Blue Line CyBo@rd (alternate option)"
msgstr "Cherry Blue Line CyBo@rd (alternativ)"
-#: ../rules/base.xml.in.h:151
+#: ../rules/base.xml.in.h:153
msgid "Cherry CyBo@rd USB-Hub"
msgstr "Cherry CyBo@rd USB-hub"
-#: ../rules/base.xml.in.h:152
+#: ../rules/base.xml.in.h:154
msgid "Cherry CyMotion Expert"
msgstr "Cherry CyMotion Expert"
-#: ../rules/base.xml.in.h:153
+#: ../rules/base.xml.in.h:155
msgid "Cherry CyMotion Master Linux"
msgstr "Cherry CyMotion Master Linux"
-#: ../rules/base.xml.in.h:154
+#: ../rules/base.xml.in.h:156
msgid "Cherry CyMotion Master XPress"
msgstr "Cherry CyMotion Master XPress"
-#: ../rules/base.xml.in.h:155
+#: ../rules/base.xml.in.h:157
msgid "Chicony Internet Keyboard"
msgstr "Chicony Internet Keyboard"
-#: ../rules/base.xml.in.h:156
+#: ../rules/base.xml.in.h:158
msgid "Chicony KB-9885"
msgstr "Chicony KB-9885"
-#: ../rules/base.xml.in.h:157
+#: ../rules/base.xml.in.h:159
msgid "Chicony KU-0108"
msgstr "Chicony KU-0108"
-#: ../rules/base.xml.in.h:158
+#: ../rules/base.xml.in.h:160
msgid "Chicony KU-0420"
msgstr "Chicony KU-0420"
-#: ../rules/base.xml.in.h:159
+#: ../rules/base.xml.in.h:161
msgid "China"
msgstr "Kina"
-#: ../rules/base.xml.in.h:160
+#: ../rules/base.xml.in.h:162
msgid "Chn"
msgstr "Chn"
-#: ../rules/base.xml.in.h:161
+#: ../rules/base.xml.in.h:163
msgid "Chuvash"
msgstr "Chusvash"
-#: ../rules/base.xml.in.h:162
+#: ../rules/base.xml.in.h:164
msgid "Chuvash Latin"
msgstr "Chuvash latin"
-#: ../rules/base.xml.in.h:163
+#: ../rules/base.xml.in.h:165
msgid "Classic"
msgstr "Klassisk"
-#: ../rules/base.xml.in.h:164
+#: ../rules/base.xml.in.h:166
msgid "Classic Dvorak"
msgstr "Klassisk Dvorak"
-#: ../rules/base.xml.in.h:165
+#: ../rules/base.xml.in.h:167
msgid "Classic, eliminate dead keys"
msgstr "Klassisk, slå døde taster fra"
-#: ../rules/base.xml.in.h:166
+#: ../rules/base.xml.in.h:168
msgid "Classmate PC"
msgstr "Classmate PC"
-#: ../rules/base.xml.in.h:167
+#: ../rules/base.xml.in.h:169
msgid "CloGaelach"
msgstr "CloGaelach"
-#: ../rules/base.xml.in.h:168
+#: ../rules/base.xml.in.h:170
msgid "Colemak"
msgstr "Colemak"
-#: ../rules/base.xml.in.h:169
+#: ../rules/base.xml.in.h:171
msgid "Compaq Easy Access Keyboard"
msgstr "Compaq Easy Access Keyboard"
-#: ../rules/base.xml.in.h:170
+#: ../rules/base.xml.in.h:172
msgid "Compaq Internet Keyboard (13 keys)"
msgstr "Compaq Internet Keyboard (13 taster)"
-#: ../rules/base.xml.in.h:171
+#: ../rules/base.xml.in.h:173
msgid "Compaq Internet Keyboard (18 keys)"
msgstr "Compaq Internet Keyboard (18 taster)"
-#: ../rules/base.xml.in.h:172
+#: ../rules/base.xml.in.h:174
msgid "Compaq Internet Keyboard (7 keys)"
msgstr "Compaq Internet Keyboard (7 taster)"
-#: ../rules/base.xml.in.h:173
+#: ../rules/base.xml.in.h:175
msgid "Compaq iPaq Keyboard"
msgstr "Compaq iPaq Keyboard"
-#: ../rules/base.xml.in.h:174
+#: ../rules/base.xml.in.h:176
msgid "Compose key position"
msgstr "Placering af Composetast"
-#: ../rules/base.xml.in.h:175
+#: ../rules/base.xml.in.h:177
msgid "Congo, Democratic Republic of the"
msgstr "Congo, Den Demokratiske Republik"
# Backspace kunne også være Slet tilbage
-#: ../rules/base.xml.in.h:176
+#: ../rules/base.xml.in.h:178
msgid "Control + Alt + Backspace"
msgstr "Control + Alt + Rettelsestast"
-#: ../rules/base.xml.in.h:177
+#: ../rules/base.xml.in.h:179
msgid "Control is mapped to Alt keys, Alt is mapped to Win keys"
msgstr "Kontrol ligger på Alt-tasterne, Alt ligger på Win-tasterne"
-#: ../rules/base.xml.in.h:178
+#: ../rules/base.xml.in.h:180
msgid "Control is mapped to Win keys (and the usual Ctrl keys)"
msgstr "Kontrol ligger på Win-tasterne (og de normale Ctrl-taster)"
-#: ../rules/base.xml.in.h:179
+#: ../rules/base.xml.in.h:181
msgid "Creative Desktop Wireless 7000"
msgstr "Creative Desktop Wireless 7000"
-#: ../rules/base.xml.in.h:180
+#: ../rules/base.xml.in.h:182
msgid "Crimean Tatar (Dobruca-1 Q)"
msgstr "Krimsk tatar (Dobruca-1 Q)"
-#: ../rules/base.xml.in.h:181
+#: ../rules/base.xml.in.h:183
msgid "Crimean Tatar (Dobruca-2 Q)"
msgstr "Krimsk tatar (Dobruca-2 Q)"
-#: ../rules/base.xml.in.h:182
+#: ../rules/base.xml.in.h:184
msgid "Crimean Tatar (Turkish Alt-Q)"
msgstr "Krimsk tatar (Tyrkisk Alt-Q)"
-#: ../rules/base.xml.in.h:183
+#: ../rules/base.xml.in.h:185
msgid "Crimean Tatar (Turkish F)"
msgstr "Krimsk tatar (Tyrkisk F)"
-#: ../rules/base.xml.in.h:184
+#: ../rules/base.xml.in.h:186
msgid "Crimean Tatar (Turkish Q)"
msgstr "Krimsk tatar (Tyrkisk Q)"
-#: ../rules/base.xml.in.h:185
+#: ../rules/base.xml.in.h:187
msgid "Croatia"
msgstr "Kroatien"
-#: ../rules/base.xml.in.h:186
+#: ../rules/base.xml.in.h:188
msgid "Ctrl key position"
msgstr "Ctrl-tast placering"
-#: ../rules/base.xml.in.h:187
+#: ../rules/base.xml.in.h:189
msgid "Ctrl+Shift"
msgstr "Ctrl+Skift"
-#: ../rules/base.xml.in.h:188
+#: ../rules/base.xml.in.h:190
msgid "Cyrillic"
msgstr "Kyrillisk"
# guillemets er dem her: »«
-#: ../rules/base.xml.in.h:189
+#: ../rules/base.xml.in.h:191
msgid "Cyrillic with guillemets"
msgstr "Kyrillisk med guillemeter"
-#: ../rules/base.xml.in.h:190
+#: ../rules/base.xml.in.h:192
msgid "Cyrillic, Z and ZHE swapped"
msgstr "Kyrillisk, Z og ZHE ombyttet"
-#: ../rules/base.xml.in.h:191
+#: ../rules/base.xml.in.h:193
msgid "Cze"
msgstr "Tje"
# engelsk fejl her? Hedder det ikke Czech Republic
-#: ../rules/base.xml.in.h:192
+#: ../rules/base.xml.in.h:194
msgid "Czechia"
msgstr "Tjekkiet"
-#: ../rules/base.xml.in.h:193
+#: ../rules/base.xml.in.h:195
msgid "DOS"
msgstr "DOS"
-#: ../rules/base.xml.in.h:194
+#: ../rules/base.xml.in.h:196
msgid "DTK2000"
msgstr "DTK2000"
-#: ../rules/base.xml.in.h:195
+#: ../rules/base.xml.in.h:197
msgid "Dead acute"
msgstr "Død accent"
-#: ../rules/base.xml.in.h:196
+#: ../rules/base.xml.in.h:198
msgid "Dead grave acute"
msgstr "Død accent grave"
-#: ../rules/base.xml.in.h:197
+#: ../rules/base.xml.in.h:199
msgid "Default numeric keypad keys"
msgstr "Standard numerisk tastatur taster"
-#: ../rules/base.xml.in.h:198
+#: ../rules/base.xml.in.h:200
msgid "Dell"
msgstr "Dell"
-#: ../rules/base.xml.in.h:199
+#: ../rules/base.xml.in.h:201
msgid "Dell 101-key PC"
msgstr "Dell 101-taster PC"
-#: ../rules/base.xml.in.h:200
+#: ../rules/base.xml.in.h:202
msgid "Dell Laptop/notebook Inspiron 6xxx/8xxx"
msgstr "Dell bærbar/notebook Inspiron 6xxx/8xxx"
-#: ../rules/base.xml.in.h:201
+#: ../rules/base.xml.in.h:203
msgid "Dell Laptop/notebook Precision M series"
msgstr "Dell bærbar/notebook Precision M series"
-#: ../rules/base.xml.in.h:202
+#: ../rules/base.xml.in.h:204
msgid "Dell Latitude series laptop"
msgstr "Dell Latitude series bærbar"
-#: ../rules/base.xml.in.h:203
+#: ../rules/base.xml.in.h:205
msgid "Dell Precision M65"
msgstr "Dell Precision M65"
-#: ../rules/base.xml.in.h:204
+#: ../rules/base.xml.in.h:206
msgid "Dell SK-8125"
msgstr "Dell Sk-8125"
-#: ../rules/base.xml.in.h:205
+#: ../rules/base.xml.in.h:207
msgid "Dell SK-8135"
msgstr "Dell SK-8135"
-#: ../rules/base.xml.in.h:206
+#: ../rules/base.xml.in.h:208
msgid "Dell USB Multimedia Keyboard"
msgstr "Dell USB Multimedia tastatur"
-#: ../rules/base.xml.in.h:207
+#: ../rules/base.xml.in.h:209
msgid "Denmark"
msgstr "Danmark"
-#: ../rules/base.xml.in.h:208
+#: ../rules/base.xml.in.h:210
msgid "Deu"
msgstr "Tys"
-#: ../rules/base.xml.in.h:209
+#: ../rules/base.xml.in.h:211
msgid "Dexxa Wireless Desktop Keyboard"
msgstr "Dexxa Wireless Desktop Keyboard"
-#: ../rules/base.xml.in.h:210
+#: ../rules/base.xml.in.h:212
msgid "Diamond 9801 / 9802 series"
msgstr "Diamond 9801 / 9802-serien"
-#: ../rules/base.xml.in.h:211
+#: ../rules/base.xml.in.h:213
msgid "Dnk"
msgstr "Dnk"
-#: ../rules/base.xml.in.h:212
+#: ../rules/base.xml.in.h:214
msgid "Dvorak"
msgstr "Dvorak"
-#: ../rules/base.xml.in.h:213
+#: ../rules/base.xml.in.h:215
msgid "Dvorak (UK Punctuation)"
msgstr "Dvorak (UK tegnsætning)"
-#: ../rules/base.xml.in.h:214
+#: ../rules/base.xml.in.h:216
msgid "Dvorak alternative international (no dead keys)"
msgstr "Dvorak alternativ international (ingen døde taster)"
-#: ../rules/base.xml.in.h:215
+#: ../rules/base.xml.in.h:217
msgid "Dvorak international (with dead keys)"
msgstr "Dvorak international (med døde taster)"
-#: ../rules/base.xml.in.h:216
+#: ../rules/base.xml.in.h:218
msgid "Dvorak, Polish quotes on key 1"
msgstr "Dvorak, polske anførelsestegn på tast 1"
-#: ../rules/base.xml.in.h:217
+#: ../rules/base.xml.in.h:219
msgid "Dvorak, Polish quotes on quotemark key"
msgstr "Dvorak, polske anførelsestegn på anførelsestast"
-#: ../rules/base.xml.in.h:218
+#: ../rules/base.xml.in.h:220
msgid "E"
msgstr "Ø"
-#: ../rules/base.xml.in.h:219
+#: ../rules/base.xml.in.h:221
msgid "Eastern"
msgstr "Østlig"
-#: ../rules/base.xml.in.h:220
+#: ../rules/base.xml.in.h:222
msgid "Eliminate dead keys"
msgstr "Slå døde taster fra"
-#: ../rules/base.xml.in.h:221
+#: ../rules/base.xml.in.h:223
msgid "Enable extra typographic characters"
msgstr "Slå ekstra typografiske karakterer til"
-#: ../rules/base.xml.in.h:222
+#: ../rules/base.xml.in.h:224
msgid "English"
msgstr "Engelsk"
-#: ../rules/base.xml.in.h:223
+#: ../rules/base.xml.in.h:225
msgid "English (USA International)"
msgstr "Engelsk (USA international)"
-#: ../rules/base.xml.in.h:224
+#: ../rules/base.xml.in.h:226
msgid "English (USA Macintosh)"
msgstr "Engelsk (USA Macintosh)"
-#: ../rules/base.xml.in.h:225
+#: ../rules/base.xml.in.h:227
msgid "Ennyah DKB-1008"
msgstr "Ennyah DKB-1008"
-#: ../rules/base.xml.in.h:226
+#: ../rules/base.xml.in.h:228
msgid "Enter on keypad"
msgstr "Retur på numerisk tastatur"
-#: ../rules/base.xml.in.h:227
+#: ../rules/base.xml.in.h:229
msgid "Epo"
msgstr "Epo"
-#: ../rules/base.xml.in.h:228
+#: ../rules/base.xml.in.h:230
msgid "Ergonomic"
msgstr "Ergonomisk"
-#: ../rules/base.xml.in.h:229
+#: ../rules/base.xml.in.h:231
msgid "Esp"
msgstr "Esp"
-#: ../rules/base.xml.in.h:230
+#: ../rules/base.xml.in.h:232
msgid "Esperanto"
msgstr "Esperanto"
-#: ../rules/base.xml.in.h:231
+#: ../rules/base.xml.in.h:233
msgid "Est"
msgstr "Est"
-#: ../rules/base.xml.in.h:232
+#: ../rules/base.xml.in.h:234
msgid "Estonia"
msgstr "Estland"
-#: ../rules/base.xml.in.h:233
+#: ../rules/base.xml.in.h:235
msgid "Eth"
msgstr "Eti"
-#: ../rules/base.xml.in.h:234
+#: ../rules/base.xml.in.h:236
msgid "Ethiopia"
msgstr "Etiopien"
-#: ../rules/base.xml.in.h:235
+#: ../rules/base.xml.in.h:237
msgid "Everex STEPnote"
msgstr "Everex STEPnote"
-#: ../rules/base.xml.in.h:236
+#: ../rules/base.xml.in.h:238
msgid "Ewe"
msgstr "Ewe"
-#: ../rules/base.xml.in.h:237
+#: ../rules/base.xml.in.h:239
msgid "Extended"
msgstr "Udvidet"
-#: ../rules/base.xml.in.h:238
+#: ../rules/base.xml.in.h:240
msgid "Extended - Winkeys"
msgstr "Udvidet - Wintaster"
-#: ../rules/base.xml.in.h:239
+#: ../rules/base.xml.in.h:241
msgid "Extended Backslash"
msgstr "Udvidet omvendt skråstreg"
-#: ../rules/base.xml.in.h:240
+#: ../rules/base.xml.in.h:242
msgid "F-letter (F) variant"
msgstr "F-bogstav (F) variant"
-#: ../rules/base.xml.in.h:241
+#: ../rules/base.xml.in.h:243
msgid "FL90"
msgstr "FL90"
-#: ../rules/base.xml.in.h:242
+#: ../rules/base.xml.in.h:244
msgid "Faroe Islands"
msgstr "Færøerne"
-#: ../rules/base.xml.in.h:243
+#: ../rules/base.xml.in.h:245
msgid "Fin"
msgstr "Fin"
-#: ../rules/base.xml.in.h:244
+#: ../rules/base.xml.in.h:246
msgid "Finland"
msgstr "Finland"
#. This assumes the KP_ abstract symbols are actually useful for some apps
#. The description needs to be rewritten
-#: ../rules/base.xml.in.h:247
+#: ../rules/base.xml.in.h:249
msgid "Four-level key with abstract separators"
msgstr "Niveau fire tast med abstrakt adskillelser"
-#: ../rules/base.xml.in.h:248
+#: ../rules/base.xml.in.h:250
msgid "Four-level key with comma"
msgstr "Niveau fire tast med komma"
-#: ../rules/base.xml.in.h:249
+#: ../rules/base.xml.in.h:251
msgid "Four-level key with dot"
msgstr "Niveau fire tast med punktum"
-#: ../rules/base.xml.in.h:250
+#: ../rules/base.xml.in.h:252
msgid "Four-level key with dot, latin-9 restriction"
msgstr "Niveau fire tast med punktum, latin-9 begrænsning"
-#: ../rules/base.xml.in.h:251
+#: ../rules/base.xml.in.h:253
msgid "Four-level key with momayyez"
msgstr "Niveau fire tast med momayyez"
-#: ../rules/base.xml.in.h:252
+#: ../rules/base.xml.in.h:254
msgid "Fra"
msgstr "Fra"
-#: ../rules/base.xml.in.h:253
+#: ../rules/base.xml.in.h:255
msgid "France"
msgstr "Frankrig"
-#: ../rules/base.xml.in.h:254
+#: ../rules/base.xml.in.h:256
msgid "Français (France Alternative)"
msgstr "Français (Fransk alternativ)"
-#: ../rules/base.xml.in.h:255
+#: ../rules/base.xml.in.h:257
msgid "French"
msgstr "Fransk"
-#: ../rules/base.xml.in.h:256
+#: ../rules/base.xml.in.h:258
msgid "French (Macintosh)"
msgstr "Fransk (Macintosh)"
-#: ../rules/base.xml.in.h:257
+#: ../rules/base.xml.in.h:259
msgid "French (legacy)"
msgstr "Fransk (forældet)"
-#: ../rules/base.xml.in.h:258
+#: ../rules/base.xml.in.h:260
msgid "French Dvorak"
msgstr "Fransk dvorak"
-#: ../rules/base.xml.in.h:259
+#: ../rules/base.xml.in.h:261
msgid "French, Sun dead keys"
msgstr "Fransk, Sun døde taster"
-#: ../rules/base.xml.in.h:260
+#: ../rules/base.xml.in.h:262
msgid "French, eliminate dead keys"
msgstr "Fransk, slå døde taster fra"
-#: ../rules/base.xml.in.h:261
+#: ../rules/base.xml.in.h:263
msgid "Fro"
msgstr "Fro"
-#: ../rules/base.xml.in.h:262
+#: ../rules/base.xml.in.h:264
msgid "Fujitsu-Siemens Computers AMILO laptop"
msgstr "Fujitsu-Siemens Computers AMILO bærbar"
-#: ../rules/base.xml.in.h:263
+#: ../rules/base.xml.in.h:265
msgid "Fula"
msgstr "Fula"
-#: ../rules/base.xml.in.h:264
+#: ../rules/base.xml.in.h:266
msgid "GBr"
msgstr "GBr"
-#: ../rules/base.xml.in.h:265
+#: ../rules/base.xml.in.h:267
msgid "GILLBT"
msgstr "GILLBT"
-#: ../rules/base.xml.in.h:266
+#: ../rules/base.xml.in.h:268
msgid "Ga"
msgstr "Ga"
-#: ../rules/base.xml.in.h:267
+#: ../rules/base.xml.in.h:269
msgid "Generic 101-key PC"
msgstr "Generisk 101-taster PC"
-#: ../rules/base.xml.in.h:268
+#: ../rules/base.xml.in.h:270
msgid "Generic 102-key (Intl) PC"
msgstr "Generisk 102-taster (Intl) PC"
-#: ../rules/base.xml.in.h:269
+#: ../rules/base.xml.in.h:271
msgid "Generic 104-key PC"
msgstr "Generisk 104-taster PC"
-#: ../rules/base.xml.in.h:270
+#: ../rules/base.xml.in.h:272
msgid "Generic 105-key (Intl) PC"
msgstr "Generisk 105-taster (Intl) PC"
-#: ../rules/base.xml.in.h:271
+#: ../rules/base.xml.in.h:273
msgid "Genius Comfy KB-12e"
msgstr "Genius Comfy KB-12e"
-#: ../rules/base.xml.in.h:272
+#: ../rules/base.xml.in.h:274
msgid "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
msgstr "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
-#: ../rules/base.xml.in.h:273
+#: ../rules/base.xml.in.h:275
msgid "Genius Comfy KB-21e-Scroll"
msgstr "Genius Comfy KB-21e-Scroll"
-#: ../rules/base.xml.in.h:274
+#: ../rules/base.xml.in.h:276
msgid "Genius KB-19e NB"
msgstr "Genius KB-19e NB"
-#: ../rules/base.xml.in.h:275
+#: ../rules/base.xml.in.h:277
msgid "Genius KKB-2050HS"
msgstr "Genius KKB-2050HS"
-#: ../rules/base.xml.in.h:276
+#: ../rules/base.xml.in.h:278
msgid "Geo"
msgstr "Geo"
-#: ../rules/base.xml.in.h:277
+#: ../rules/base.xml.in.h:279
msgid "Georgia"
msgstr "Georgien"
-#: ../rules/base.xml.in.h:278
+#: ../rules/base.xml.in.h:280
msgid "Georgian"
msgstr "Georgisk"
-#: ../rules/base.xml.in.h:279
+#: ../rules/base.xml.in.h:281
msgid "Georgian AZERTY Tskapo"
msgstr "Georgisk AZERTY Tskapo"
-#: ../rules/base.xml.in.h:280
+#: ../rules/base.xml.in.h:282
msgid "German (Macintosh)"
msgstr "Tysk (Macintosh)"
-#: ../rules/base.xml.in.h:281
+#: ../rules/base.xml.in.h:283
msgid "German, Sun dead keys"
msgstr "Tysk, Sun døde taster"
-#: ../rules/base.xml.in.h:282
+#: ../rules/base.xml.in.h:284
msgid "German, eliminate dead keys"
msgstr "Tysk, slå døde taster fra"
-#: ../rules/base.xml.in.h:283
+#: ../rules/base.xml.in.h:285
msgid "Germany"
msgstr "Tyskland"
-#: ../rules/base.xml.in.h:284
+#: ../rules/base.xml.in.h:286
msgid "Gha"
msgstr "Gha"
-#: ../rules/base.xml.in.h:285
+#: ../rules/base.xml.in.h:287
msgid "Ghana"
msgstr "Ghana"
-#: ../rules/base.xml.in.h:286
+#: ../rules/base.xml.in.h:288
msgid "Gin"
msgstr "Gin"
-#: ../rules/base.xml.in.h:287
+#: ../rules/base.xml.in.h:289
msgid "Grc"
msgstr "Grc"
-#: ../rules/base.xml.in.h:288
+#: ../rules/base.xml.in.h:290
msgid "Greece"
msgstr "Grækenland"
-#: ../rules/base.xml.in.h:289
+#: ../rules/base.xml.in.h:291
msgid "Guinea"
msgstr "Guinea"
-#: ../rules/base.xml.in.h:290
+#: ../rules/base.xml.in.h:292
msgid "Gujarati"
msgstr "Gujarati"
-#: ../rules/base.xml.in.h:291
+#: ../rules/base.xml.in.h:293
msgid "Gurmukhi"
msgstr "Gurmukhi"
-#: ../rules/base.xml.in.h:292
+#: ../rules/base.xml.in.h:294
msgid "Gurmukhi Jhelum"
msgstr "Gurmukhi Jhelum"
-#: ../rules/base.xml.in.h:293
+#: ../rules/base.xml.in.h:295
msgid "Gyration"
msgstr "Roteren"
-#: ../rules/base.xml.in.h:294
+#: ../rules/base.xml.in.h:296
msgid "Happy Hacking Keyboard"
msgstr "Glædelig hacking tastatur"
-#: ../rules/base.xml.in.h:295
+#: ../rules/base.xml.in.h:297
msgid "Happy Hacking Keyboard for Mac"
msgstr "Glædelig hacking tastatur til Mac"
-#: ../rules/base.xml.in.h:296
+#: ../rules/base.xml.in.h:298
msgid "Hausa"
msgstr "Hausa"
-#: ../rules/base.xml.in.h:297
+#: ../rules/base.xml.in.h:299
msgid "Hewlett-Packard Internet Keyboard"
msgstr "Hewlett-Packard Internet Keyboard"
-#: ../rules/base.xml.in.h:298
+#: ../rules/base.xml.in.h:300
msgid "Hewlett-Packard Mini 110 Notebook"
msgstr "Hewlett-Packard Mini 110 Notebook"
-#: ../rules/base.xml.in.h:299
+#: ../rules/base.xml.in.h:301
msgid "Hewlett-Packard Omnibook 500 FA"
msgstr "Hewlett-Packard Omnibook 500 FA"
-#: ../rules/base.xml.in.h:300
+#: ../rules/base.xml.in.h:302
msgid "Hewlett-Packard Omnibook 5xx"
msgstr "Hewlett-Packard Omnibook 5xx"
-#: ../rules/base.xml.in.h:301
+#: ../rules/base.xml.in.h:303
msgid "Hewlett-Packard Omnibook 6000/6100"
msgstr "Hewlett-Packard Omnibook 6000/6100"
-#: ../rules/base.xml.in.h:302
+#: ../rules/base.xml.in.h:304
msgid "Hewlett-Packard Omnibook XE3 GC"
msgstr "Hewlett-Packard Omnibook XE3 GC"
-#: ../rules/base.xml.in.h:303
+#: ../rules/base.xml.in.h:305
msgid "Hewlett-Packard Omnibook XE3 GF"
msgstr "Hewlett-Packard Omnibook XE3 GF"
-#: ../rules/base.xml.in.h:304
+#: ../rules/base.xml.in.h:306
msgid "Hewlett-Packard Omnibook XT1000"
msgstr "Hewlett-Packard Omnibook XT1000"
-#: ../rules/base.xml.in.h:305
+#: ../rules/base.xml.in.h:307
msgid "Hewlett-Packard Pavilion ZT11xx"
msgstr "Hewlett-Packard Pavilion ZT11xx"
-#: ../rules/base.xml.in.h:306
+#: ../rules/base.xml.in.h:308
msgid "Hewlett-Packard Pavilion dv5"
msgstr "Hewlett-Packard Pavilion dv5"
-#: ../rules/base.xml.in.h:307
+#: ../rules/base.xml.in.h:309
msgid "Hewlett-Packard SK-250x Multimedia Keyboard"
msgstr "Hewlett-Packard SK-250x Multimedia tastatur"
-#: ../rules/base.xml.in.h:308
+#: ../rules/base.xml.in.h:310
msgid "Hewlett-Packard nx9020"
msgstr "Hewlett-Packard nx9020"
-#: ../rules/base.xml.in.h:309
+#: ../rules/base.xml.in.h:311
msgid "Hexadecimal"
msgstr "Sekstentals"
-#: ../rules/base.xml.in.h:310
+#: ../rules/base.xml.in.h:312
msgid "Hindi Bolnagri"
msgstr "Hindi bolnagri"
-#: ../rules/base.xml.in.h:311
+#: ../rules/base.xml.in.h:313
msgid "Hindi Wx"
msgstr "Hindi Wx"
-#: ../rules/base.xml.in.h:312
+#: ../rules/base.xml.in.h:314
msgid "Homophonic"
msgstr "Homofonisk"
-#: ../rules/base.xml.in.h:313
+#: ../rules/base.xml.in.h:315
msgid "Honeywell Euroboard"
msgstr "Honeywell Euroboard"
-#: ../rules/base.xml.in.h:314
+#: ../rules/base.xml.in.h:316
msgid "Hrv"
msgstr "Hrv"
-#: ../rules/base.xml.in.h:315
+#: ../rules/base.xml.in.h:317
msgid "Hun"
msgstr "Ung"
-#: ../rules/base.xml.in.h:316
+#: ../rules/base.xml.in.h:318
msgid "Hungary"
msgstr "Ungarn"
-#: ../rules/base.xml.in.h:317
+#: ../rules/base.xml.in.h:319
msgid "Hyper is mapped to Win-keys"
msgstr "Hyper ligger på Win-tasterne"
-#: ../rules/base.xml.in.h:318
+#: ../rules/base.xml.in.h:320
msgid "IBM (LST 1205-92)"
msgstr "IBM (LST 1205-92)"
-#: ../rules/base.xml.in.h:319
+#: ../rules/base.xml.in.h:321
msgid "IBM Rapid Access"
msgstr "IBM Rapid Access"
-#: ../rules/base.xml.in.h:320
+#: ../rules/base.xml.in.h:322
msgid "IBM Rapid Access II"
msgstr "IBM Rapid Access II"
-#: ../rules/base.xml.in.h:321
+#: ../rules/base.xml.in.h:323
msgid "IBM Space Saver"
msgstr "IBM Space Saver"
-#: ../rules/base.xml.in.h:322
+#: ../rules/base.xml.in.h:324
msgid "IBM ThinkPad 560Z/600/600E/A22E"
msgstr "IBM ThinkPad 560Z/600/600E/A22E"
-#: ../rules/base.xml.in.h:323
+#: ../rules/base.xml.in.h:325
msgid "IBM ThinkPad R60/T60/R61/T61"
msgstr "IBM ThinkPad R60/T60/R61/T61"
-#: ../rules/base.xml.in.h:324
+#: ../rules/base.xml.in.h:326
msgid "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
msgstr "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
-#: ../rules/base.xml.in.h:325
+#: ../rules/base.xml.in.h:327
msgid "ISO Alternate"
msgstr "ISO-alternativ"
-#: ../rules/base.xml.in.h:326
+#: ../rules/base.xml.in.h:328
msgid "Iceland"
msgstr "Island"
-#: ../rules/base.xml.in.h:327
+#: ../rules/base.xml.in.h:329
msgid "Igbo"
msgstr "Igbo"
-#: ../rules/base.xml.in.h:328
+#: ../rules/base.xml.in.h:330
msgid "Include dead tilde"
msgstr "Inkludere død tilde"
-#: ../rules/base.xml.in.h:329
+#: ../rules/base.xml.in.h:331
msgid "Ind"
msgstr "Ind"
-#: ../rules/base.xml.in.h:330
+#: ../rules/base.xml.in.h:332
msgid "India"
msgstr "Indien"
-#: ../rules/base.xml.in.h:331
+#: ../rules/base.xml.in.h:333
msgid "International (AltGr dead keys)"
msgstr "International (AltGr døde taster)"
-#: ../rules/base.xml.in.h:332
+#: ../rules/base.xml.in.h:334
msgid "International (with dead keys)"
msgstr "International (med døde taster)"
-#: ../rules/base.xml.in.h:333
+#: ../rules/base.xml.in.h:335
msgid "Inuktitut"
msgstr "Inuktitut"
-#: ../rules/base.xml.in.h:334
+#: ../rules/base.xml.in.h:336 ../rules/base.extras.xml.in.h:8
msgid "Iran"
msgstr "Iran"
-#: ../rules/base.xml.in.h:335
+#: ../rules/base.xml.in.h:337
msgid "Iraq"
msgstr "Irak"
-#: ../rules/base.xml.in.h:336
+#: ../rules/base.xml.in.h:338
msgid "Ireland"
msgstr "Irland"
-#: ../rules/base.xml.in.h:337
+#: ../rules/base.xml.in.h:339
msgid "Irl"
msgstr "Irl"
-#: ../rules/base.xml.in.h:338
+#: ../rules/base.xml.in.h:340
msgid "Irn"
msgstr "Irn"
-#: ../rules/base.xml.in.h:339
+#: ../rules/base.xml.in.h:341
msgid "Irq"
msgstr "Irk"
-#: ../rules/base.xml.in.h:340
+#: ../rules/base.xml.in.h:342
msgid "Isl"
msgstr "Isl"
-#: ../rules/base.xml.in.h:341
+#: ../rules/base.xml.in.h:343
msgid "Isr"
msgstr "Isr"
-#: ../rules/base.xml.in.h:342
+#: ../rules/base.xml.in.h:344
msgid "Israel"
msgstr "Israel"
-#: ../rules/base.xml.in.h:343
+#: ../rules/base.xml.in.h:345
msgid "Ita"
msgstr "Ita"
-#: ../rules/base.xml.in.h:344
+#: ../rules/base.xml.in.h:346
msgid "Italy"
msgstr "Italien"
-#: ../rules/base.xml.in.h:345
+#: ../rules/base.xml.in.h:347
msgid "Japan"
msgstr "Japan"
-#: ../rules/base.xml.in.h:346
+#: ../rules/base.xml.in.h:348
msgid "Japan (PC-98xx Series)"
msgstr "Japan (PC-98xx serier)"
-#: ../rules/base.xml.in.h:347
+#: ../rules/base.xml.in.h:349
msgid "Japanese keyboard options"
msgstr "Japanske tastaturvalg"
-#: ../rules/base.xml.in.h:348
+#: ../rules/base.xml.in.h:350
msgid "Jpn"
msgstr "Jpn"
@@ -1435,1509 +1445,1521 @@ msgstr "Jpn"
# Weilate, Western Mongol) is the language spoken by the
# Kalmyks, that is, the Oirats of Kalmykia (Russian Federation).
# Kalmyk belongs to the Oirat subgroup of the Mongolic language family.
-#: ../rules/base.xml.in.h:349
+#: ../rules/base.xml.in.h:351
msgid "Kalmyk"
msgstr "Kalmyk"
-#: ../rules/base.xml.in.h:350
+#: ../rules/base.xml.in.h:352
msgid "Kana"
msgstr "Kana"
-#: ../rules/base.xml.in.h:351
+#: ../rules/base.xml.in.h:353
msgid "Kana Lock key is locking"
msgstr "Kana låsetast låser"
-#: ../rules/base.xml.in.h:352
+#: ../rules/base.xml.in.h:354
msgid "Kannada"
msgstr "Kannada"
-#: ../rules/base.xml.in.h:353
+#: ../rules/base.xml.in.h:355
msgid "Kashubian"
msgstr "Kashubian"
-#: ../rules/base.xml.in.h:354
+#: ../rules/base.xml.in.h:356
msgid "Kaz"
msgstr "Kaz"
-#: ../rules/base.xml.in.h:355
+#: ../rules/base.xml.in.h:357
msgid "Kazakh with Russian"
msgstr "Kazakh med russisk"
-#: ../rules/base.xml.in.h:356
+#: ../rules/base.xml.in.h:358
msgid "Kazakhstan"
msgstr "Kazakstan"
-#: ../rules/base.xml.in.h:357
+#: ../rules/base.xml.in.h:359
msgid "Ken"
msgstr "Ken"
-#: ../rules/base.xml.in.h:358
+#: ../rules/base.xml.in.h:360
msgid "Kenya"
msgstr "Kenya"
-#: ../rules/base.xml.in.h:359
+#: ../rules/base.xml.in.h:361
msgid "Key sequence to kill the X server"
msgstr "Tastsekvens for at slå X-serveren ned"
-#: ../rules/base.xml.in.h:360
+#: ../rules/base.xml.in.h:362
msgid "Key to choose 3rd level"
msgstr "Tast for at vælge tredje niveau"
-#: ../rules/base.xml.in.h:361
+#: ../rules/base.xml.in.h:363
msgid "Key to choose 5th level"
msgstr "Tast for at vælge femte niveau"
-#: ../rules/base.xml.in.h:362
+#: ../rules/base.xml.in.h:364
msgid "Key(s) to change layout"
msgstr "Tast(er) for at skifte layout"
-#: ../rules/base.xml.in.h:363
+#: ../rules/base.xml.in.h:365
msgid "Keytronic FlexPro"
msgstr "Keytronic FlexPro"
-#: ../rules/base.xml.in.h:364
+#: ../rules/base.xml.in.h:366
msgid "Kgz"
msgstr "Kgz"
-#: ../rules/base.xml.in.h:365
+#: ../rules/base.xml.in.h:367
msgid "Khm"
msgstr "Khm"
-#: ../rules/base.xml.in.h:366
+#: ../rules/base.xml.in.h:368
msgid "Kikuyu"
msgstr "Kikuyu"
-#: ../rules/base.xml.in.h:367
+#: ../rules/base.xml.in.h:369
+msgid "Kinesis"
+msgstr "Kinesis"
+
+#: ../rules/base.xml.in.h:370
msgid "Komi"
msgstr "Komi"
-#: ../rules/base.xml.in.h:368
+#: ../rules/base.xml.in.h:371
msgid "Kor"
msgstr "Kor"
-#: ../rules/base.xml.in.h:369
+#: ../rules/base.xml.in.h:372
msgid "Korea, Republic of"
msgstr "Republikken Korea"
-#: ../rules/base.xml.in.h:370
+#: ../rules/base.xml.in.h:373
msgid "Ktunaxa"
msgstr "Ktunaxa"
-#: ../rules/base.xml.in.h:371
+#: ../rules/base.xml.in.h:374
msgid "Kurdish, (F)"
msgstr "Kurdisk, (F)"
-#: ../rules/base.xml.in.h:372
+#: ../rules/base.xml.in.h:375
msgid "Kurdish, Arabic-Latin"
msgstr "Kurdisk, arabisk-latin"
-#: ../rules/base.xml.in.h:373
+#: ../rules/base.xml.in.h:376
msgid "Kurdish, Latin Alt-Q"
msgstr "Kurdisk, latin Alt-Q"
-#: ../rules/base.xml.in.h:374
+#: ../rules/base.xml.in.h:377
msgid "Kurdish, Latin Q"
msgstr "Kurdisk, latin Q"
-#: ../rules/base.xml.in.h:375
+#: ../rules/base.xml.in.h:378
msgid "Kyrgyzstan"
msgstr "Kyrgyzstan"
-#: ../rules/base.xml.in.h:376
+#: ../rules/base.xml.in.h:379
msgid "LAm"
msgstr "LAm"
-#: ../rules/base.xml.in.h:377
+#: ../rules/base.xml.in.h:380
msgid "LEKP"
msgstr "LEKP"
-#: ../rules/base.xml.in.h:378
+#: ../rules/base.xml.in.h:381
msgid "LEKPa"
msgstr "LEKPa"
-#: ../rules/base.xml.in.h:379
+#: ../rules/base.xml.in.h:382
msgid "Lao"
msgstr "Lao"
-#: ../rules/base.xml.in.h:380
+#: ../rules/base.xml.in.h:383
msgid "Laos"
msgstr "Laos"
-#: ../rules/base.xml.in.h:381
+#: ../rules/base.xml.in.h:384
msgid "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard"
msgstr "Bærbar Compaq (fx Armada) Laptop Keyboard"
-#: ../rules/base.xml.in.h:382
+#: ../rules/base.xml.in.h:385
msgid "Laptop/notebook Compaq (eg. Presario) Internet Keyboard"
msgstr "Bærbar/notebook Compaq (fx Presario) Internet Keyboard"
-#: ../rules/base.xml.in.h:383
+#: ../rules/base.xml.in.h:386
msgid "Laptop/notebook eMachines m68xx"
msgstr "Bærbar/notebook eMachines m68xx"
-#: ../rules/base.xml.in.h:384
+#: ../rules/base.xml.in.h:387
msgid "Latin"
msgstr "Latin"
-#: ../rules/base.xml.in.h:385
+#: ../rules/base.xml.in.h:388
msgid "Latin American"
msgstr "Latinamerika"
-#: ../rules/base.xml.in.h:386
+#: ../rules/base.xml.in.h:389
msgid "Latin Unicode"
msgstr "Latin unicode"
-#: ../rules/base.xml.in.h:387
+#: ../rules/base.xml.in.h:390
msgid "Latin Unicode qwerty"
msgstr "Latin unicode qwerty"
-#: ../rules/base.xml.in.h:388
+#: ../rules/base.xml.in.h:391
msgid "Latin qwerty"
msgstr "Latin qwerty"
-#: ../rules/base.xml.in.h:389
+#: ../rules/base.xml.in.h:392
msgid "Latin unicode"
msgstr "Latin unicode"
-#: ../rules/base.xml.in.h:390
+#: ../rules/base.xml.in.h:393
msgid "Latin unicode qwerty"
msgstr "Latin unicode qwerty"
# guillemets er dem her: »«
-#: ../rules/base.xml.in.h:391
+#: ../rules/base.xml.in.h:394
msgid "Latin with guillemets"
msgstr "Latin med gullemeter"
-#: ../rules/base.xml.in.h:392
+#: ../rules/base.xml.in.h:395
msgid "Latvia"
msgstr "Letland"
-#: ../rules/base.xml.in.h:393
+#: ../rules/base.xml.in.h:396
msgid "Layout toggle on multiply/divide key"
msgstr "Layout ændring på gange-/divideretast"
-#: ../rules/base.xml.in.h:394
+#: ../rules/base.xml.in.h:397
msgid "Left Alt"
msgstr "Venstre Alt"
-#: ../rules/base.xml.in.h:395
+#: ../rules/base.xml.in.h:398
msgid "Left Alt (while pressed)"
msgstr "Venstre Alt (mens trykket ned)"
-#: ../rules/base.xml.in.h:396
+#: ../rules/base.xml.in.h:399
msgid "Left Alt is swapped with Left Win"
msgstr "Venstre Alt ombyttes med venstre Win-tast"
-#: ../rules/base.xml.in.h:397
+#: ../rules/base.xml.in.h:400
msgid "Left Ctrl"
msgstr "Venstre Ctrl"
-#: ../rules/base.xml.in.h:398
+#: ../rules/base.xml.in.h:401
msgid "Left Ctrl (to first layout), Right Ctrl (to last layout)"
msgstr "Venstre Ctrl (skifter til første layout), Højre Ctrl (skifter til sidste layout)"
-#: ../rules/base.xml.in.h:399
+#: ../rules/base.xml.in.h:402
msgid "Left Ctrl+Left Shift"
msgstr "Venstre Ctrl+Venstre Skift"
-#: ../rules/base.xml.in.h:400
+#: ../rules/base.xml.in.h:403
msgid "Left Shift"
msgstr "Venstre Skift"
-#: ../rules/base.xml.in.h:401
+#: ../rules/base.xml.in.h:404
msgid "Left Win"
msgstr "Venstre Win"
-#: ../rules/base.xml.in.h:402
+#: ../rules/base.xml.in.h:405
msgid "Left Win (to first layout), Right Win/Menu (to last layout)"
msgstr "Venstre Win (skifter til første layout), Højre Win/Menu (skifter til sidste layout)"
-#: ../rules/base.xml.in.h:403
+#: ../rules/base.xml.in.h:406
msgid "Left Win (while pressed)"
msgstr "Venstre Win-tast (mens trykket ned)"
-#: ../rules/base.xml.in.h:404
+#: ../rules/base.xml.in.h:407
msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "Venstre Win-tast vælger femte niveau, låser når trykket ned sammen med en anden femte niveauvælger"
-#: ../rules/base.xml.in.h:405
+#: ../rules/base.xml.in.h:408
msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "Venstre Win-tast vælger femte niveau, låser når trykket ned sammen med en anden femte niveauvælger, et tryk frigiver låsen"
-#: ../rules/base.xml.in.h:406
+#: ../rules/base.xml.in.h:409
msgid "Left hand"
msgstr "Venstre hånd"
-#: ../rules/base.xml.in.h:407
+#: ../rules/base.xml.in.h:410
msgid "Left handed Dvorak"
msgstr "Venstrehåndet dvorak"
-#: ../rules/base.xml.in.h:408
+#: ../rules/base.xml.in.h:411
msgid "Legacy"
msgstr "Forældet"
-#: ../rules/base.xml.in.h:409
+#: ../rules/base.xml.in.h:412
msgid "Legacy Wang 724"
msgstr "Forældet Wang 724"
#. Actually, with KP_SEPARATOR, as the old keypad(comma)
-#: ../rules/base.xml.in.h:411
+#: ../rules/base.xml.in.h:414
msgid "Legacy key with comma"
msgstr "Forældet tast med komma"
-#: ../rules/base.xml.in.h:412
+#: ../rules/base.xml.in.h:415
msgid "Legacy key with dot"
msgstr "Forældet tast med punktum"
-#: ../rules/base.xml.in.h:413
+#: ../rules/base.xml.in.h:416
msgid "Lithuania"
msgstr "Litauen"
-#: ../rules/base.xml.in.h:414
+#: ../rules/base.xml.in.h:417
msgid "Lka"
msgstr "Lka"
-#: ../rules/base.xml.in.h:415
+#: ../rules/base.xml.in.h:418
msgid "Logitech Access Keyboard"
msgstr "Logitech Access Keyboard"
-#: ../rules/base.xml.in.h:416
+#: ../rules/base.xml.in.h:419
msgid "Logitech Cordless Desktop"
msgstr "Logitech Cordless Desktop"
-#: ../rules/base.xml.in.h:417
+#: ../rules/base.xml.in.h:420
msgid "Logitech Cordless Desktop (alternate option)"
msgstr "Logitech Cordless Desktop (alternativ valg)"
-#: ../rules/base.xml.in.h:418
+#: ../rules/base.xml.in.h:421
msgid "Logitech Cordless Desktop EX110"
msgstr "Logitech Cordless Desktop EX110"
-#: ../rules/base.xml.in.h:419
+#: ../rules/base.xml.in.h:422
msgid "Logitech Cordless Desktop LX-300"
msgstr "Logitech Cordless Desktop LX-300"
-#: ../rules/base.xml.in.h:420
+#: ../rules/base.xml.in.h:423
msgid "Logitech Cordless Desktop Navigator"
msgstr "Logitech Cordless Desktop Navigator"
-#: ../rules/base.xml.in.h:421
+#: ../rules/base.xml.in.h:424
msgid "Logitech Cordless Desktop Optical"
msgstr "Logitech Cordless Desktop Optical"
-#: ../rules/base.xml.in.h:422
+#: ../rules/base.xml.in.h:425
msgid "Logitech Cordless Desktop Pro (alternate option 2)"
msgstr "Logitech Cordless Desktop Pro (alternativ tilvalg 2)"
-#: ../rules/base.xml.in.h:423
+#: ../rules/base.xml.in.h:426
msgid "Logitech Cordless Desktop iTouch"
msgstr "Logitech Cordless Desktop iTouch"
-#: ../rules/base.xml.in.h:424
+#: ../rules/base.xml.in.h:427
msgid "Logitech Cordless Freedom/Desktop Navigator"
msgstr "Logitech Cordless Freedom/Desktop Navigator"
-#: ../rules/base.xml.in.h:425
+#: ../rules/base.xml.in.h:428
msgid "Logitech G15 extra keys via G15daemon"
msgstr "Logitech G15 ekstra taster via G15daemon"
-#: ../rules/base.xml.in.h:426
+#: ../rules/base.xml.in.h:429
msgid "Logitech Generic Keyboard"
msgstr "Logitech Generic Keyboard"
-#: ../rules/base.xml.in.h:427
+#: ../rules/base.xml.in.h:430
msgid "Logitech Internet 350 Keyboard"
msgstr "Logitech Internet 350 Keyboard"
-#: ../rules/base.xml.in.h:428
+#: ../rules/base.xml.in.h:431
msgid "Logitech Internet Keyboard"
msgstr "Logitech Internet Keyboard"
-#: ../rules/base.xml.in.h:429
+#: ../rules/base.xml.in.h:432
msgid "Logitech Internet Navigator Keyboard"
msgstr "Logitech Internet Navigator Keyboard"
-#: ../rules/base.xml.in.h:430
+#: ../rules/base.xml.in.h:433
msgid "Logitech Media Elite Keyboard"
msgstr "Logitech Media Elite Keyboard"
-#: ../rules/base.xml.in.h:431
+#: ../rules/base.xml.in.h:434
msgid "Logitech Ultra-X Cordless Media Desktop Keyboard"
msgstr "Logitech Ultra-X Cordless Media Desktop Keyboard"
-#: ../rules/base.xml.in.h:432
+#: ../rules/base.xml.in.h:435
msgid "Logitech Ultra-X Keyboard"
msgstr "Logitech Ultra-X Keyboard"
-#: ../rules/base.xml.in.h:433
+#: ../rules/base.xml.in.h:436
msgid "Logitech diNovo Edge Keyboard"
msgstr "Logitech diNovo Edge Keyboard"
-#: ../rules/base.xml.in.h:434
+#: ../rules/base.xml.in.h:437
msgid "Logitech diNovo Keyboard"
msgstr "Logitech diNovo Keyboard"
-#: ../rules/base.xml.in.h:435
+#: ../rules/base.xml.in.h:438
msgid "Logitech iTouch"
msgstr "Logitech iTouch"
-#: ../rules/base.xml.in.h:436
+#: ../rules/base.xml.in.h:439
msgid "Logitech iTouch Cordless Keyboard (model Y-RB6)"
msgstr "Logitech iTouch Cordless Keyboard (model Y-RB6)"
-#: ../rules/base.xml.in.h:437
+#: ../rules/base.xml.in.h:440
msgid "Logitech iTouch Internet Navigator Keyboard SE"
msgstr "Logitech iTouch Internet Navigator Keyboard SE"
-#: ../rules/base.xml.in.h:438
+#: ../rules/base.xml.in.h:441
msgid "Logitech iTouch Internet Navigator Keyboard SE (USB)"
msgstr "Logitech iTouch Internet Navigator Keyboard SE (USB)"
-#: ../rules/base.xml.in.h:439
+#: ../rules/base.xml.in.h:442
msgid "Lower Sorbian"
msgstr "Nedre Sorbian"
-#: ../rules/base.xml.in.h:440
+#: ../rules/base.xml.in.h:443
msgid "Lower Sorbian (qwertz)"
msgstr "Nedre Sorbian (qwertz)"
-#: ../rules/base.xml.in.h:441
+#: ../rules/base.xml.in.h:444
msgid "Ltu"
msgstr "Lit"
-#: ../rules/base.xml.in.h:442
+#: ../rules/base.xml.in.h:445
msgid "Lva"
msgstr "Lva"
-#: ../rules/base.xml.in.h:443
+#: ../rules/base.xml.in.h:446
msgid "MESS"
msgstr "MESS"
-#: ../rules/base.xml.in.h:444
+#: ../rules/base.xml.in.h:447
msgid "MNE"
msgstr "MNE"
-#: ../rules/base.xml.in.h:445
+#: ../rules/base.xml.in.h:448
msgid "MacBook/MacBook Pro"
msgstr "MacBook/MacBook Pro"
-#: ../rules/base.xml.in.h:446
+#: ../rules/base.xml.in.h:449
msgid "MacBook/MacBook Pro (Intl)"
msgstr "MacBook/MacBook Pro (Intl)"
-#: ../rules/base.xml.in.h:447
+#: ../rules/base.xml.in.h:450
msgid "Macedonia"
msgstr "Makedonien"
-#: ../rules/base.xml.in.h:448
+#: ../rules/base.xml.in.h:451
msgid "Macintosh"
msgstr "Macintosh"
-#: ../rules/base.xml.in.h:449
+#: ../rules/base.xml.in.h:452
+msgid "Macintosh (International)"
+msgstr "Macintosh (internationalt)"
+
+#: ../rules/base.xml.in.h:453
msgid "Macintosh Old"
msgstr "Macintosh gammel"
-#: ../rules/base.xml.in.h:450
+#: ../rules/base.xml.in.h:454
msgid "Macintosh, Sun dead keys"
msgstr "Macintosh, sun døde taster"
-#: ../rules/base.xml.in.h:451
+#: ../rules/base.xml.in.h:455
msgid "Macintosh, eliminate dead keys"
msgstr "Macintosh, slå døde taster fra"
-#: ../rules/base.xml.in.h:452
-msgid "Make CapsLock an additional Backspace"
-msgstr "Gør CapsLock til en ekstra rettelsestast"
+#: ../rules/base.xml.in.h:456
+msgid "Make Caps Lock an additional Backspace"
+msgstr "Gør Caps Lock til en ekstra rettelsestast"
-#: ../rules/base.xml.in.h:453
-msgid "Make CapsLock an additional Ctrl"
-msgstr "Gør CapsLock til en ekstra Ctrl"
+#: ../rules/base.xml.in.h:457
+msgid "Make Caps Lock an additional Ctrl"
+msgstr "Gør Caps Lock til en ekstra Ctrl"
-#: ../rules/base.xml.in.h:454
-msgid "Make CapsLock an additional ESC"
-msgstr "Gør CapsLock til en ekstra Esc"
+#: ../rules/base.xml.in.h:458
+msgid "Make Caps Lock an additional ESC"
+msgstr "Gør Caps Lock til en ekstra Esc"
-#: ../rules/base.xml.in.h:455
-msgid "Make CapsLock an additional Hyper"
-msgstr "Gør CapsLock til en ekstra Hyper"
+#: ../rules/base.xml.in.h:459
+msgid "Make Caps Lock an additional Hyper"
+msgstr "Gør Caps Lock til en ekstra Hyper"
-#: ../rules/base.xml.in.h:456
-msgid "Make CapsLock an additional NumLock"
-msgstr "Gør CapsLock til en ekstra NumLock"
+#: ../rules/base.xml.in.h:460
+msgid "Make Caps Lock an additional Num Lock"
+msgstr "Gør Caps Lock til en ekstra NumLock"
-#: ../rules/base.xml.in.h:457
-msgid "Make CapsLock an additional Super"
-msgstr "Gør CapsLock til en ekstra Super"
+#: ../rules/base.xml.in.h:461
+msgid "Make Caps Lock an additional Super"
+msgstr "Gør Caps Lock til en ekstra Super"
-#: ../rules/base.xml.in.h:458
+#: ../rules/base.xml.in.h:462
msgid "Malayalam"
msgstr "Malayalam"
-#: ../rules/base.xml.in.h:459
+#: ../rules/base.xml.in.h:463
msgid "Malayalam Lalitha"
msgstr "Malayalam Lalitha"
-#: ../rules/base.xml.in.h:460
+#: ../rules/base.xml.in.h:464
msgid "Maldives"
msgstr "Maldiverne"
-#: ../rules/base.xml.in.h:461
+#: ../rules/base.xml.in.h:465
msgid "Mali"
msgstr "Mali"
-#: ../rules/base.xml.in.h:462
+#: ../rules/base.xml.in.h:466
msgid "Malta"
msgstr "Malta"
-#: ../rules/base.xml.in.h:463
+#: ../rules/base.xml.in.h:467
msgid "Maltese keyboard with US layout"
msgstr "Maltesisk tastatur med US-layout"
-#: ../rules/base.xml.in.h:464
+#: ../rules/base.xml.in.h:468
msgid "Mao"
msgstr "Mao"
-#: ../rules/base.xml.in.h:465
+#: ../rules/base.xml.in.h:469
msgid "Maori"
msgstr "Maori"
-#: ../rules/base.xml.in.h:466
+#: ../rules/base.xml.in.h:470
msgid "Mdv"
msgstr "Mdv"
-#: ../rules/base.xml.in.h:467
+#: ../rules/base.xml.in.h:471
msgid "Memorex MX1998"
msgstr "Memorex MX1998"
-#: ../rules/base.xml.in.h:468
+#: ../rules/base.xml.in.h:472
msgid "Memorex MX2500 EZ-Access Keyboard"
msgstr "Memorex MX2500 EZ-Access Keyboard"
-#: ../rules/base.xml.in.h:469
+#: ../rules/base.xml.in.h:473
msgid "Memorex MX2750"
msgstr "Memorex MX2750"
-#: ../rules/base.xml.in.h:470
+#: ../rules/base.xml.in.h:474
msgid "Menu"
msgstr "Menu"
-#: ../rules/base.xml.in.h:471
+#: ../rules/base.xml.in.h:475
msgid "Meta is mapped to Left Win"
msgstr "Meta ligger på venstre Win-tast"
-#: ../rules/base.xml.in.h:472
+#: ../rules/base.xml.in.h:476
msgid "Meta is mapped to Win keys"
msgstr "Meta ligger på Win-tasterne"
-#: ../rules/base.xml.in.h:473
+#: ../rules/base.xml.in.h:477
msgid "Microsoft Comfort Curve Keyboard 2000"
msgstr "Microsoft Comfort Curve Keyboard 2000"
-#: ../rules/base.xml.in.h:474
+#: ../rules/base.xml.in.h:478
msgid "Microsoft Internet Keyboard"
msgstr "Microsoft Internet Keyboard"
-#: ../rules/base.xml.in.h:475
+#: ../rules/base.xml.in.h:479
msgid "Microsoft Internet Keyboard Pro, Swedish"
msgstr "Microsoft Internet Keyboard Pro, svensk"
-#: ../rules/base.xml.in.h:476
+#: ../rules/base.xml.in.h:480
msgid "Microsoft Natural"
msgstr "Microsoft Natural"
-#: ../rules/base.xml.in.h:477
+#: ../rules/base.xml.in.h:481
msgid "Microsoft Natural Keyboard Elite"
msgstr "Microsoft Natural Keyboard Elite"
-#: ../rules/base.xml.in.h:478
+#: ../rules/base.xml.in.h:482
msgid "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
msgstr "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
-#: ../rules/base.xml.in.h:479
+#: ../rules/base.xml.in.h:483
msgid "Microsoft Natural Keyboard Pro OEM"
msgstr "Microsoft Natural Keyboard Pro OEM"
-#: ../rules/base.xml.in.h:480
+#: ../rules/base.xml.in.h:484
msgid "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
msgstr "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
-#: ../rules/base.xml.in.h:481
+#: ../rules/base.xml.in.h:485
msgid "Microsoft Natural Wireless Ergonomic Keyboard 7000"
msgstr "Microsoft Natural Wireless Ergonomic Keyboard 7000"
-#: ../rules/base.xml.in.h:482
+#: ../rules/base.xml.in.h:486
msgid "Microsoft Office Keyboard"
msgstr "Microsoft Office Keyboard"
-#: ../rules/base.xml.in.h:483
+#: ../rules/base.xml.in.h:487
msgid "Microsoft Wireless Multimedia Keyboard 1.0A"
msgstr "Microsoft Wireless Multimedia Keyboard 1.0A"
-#: ../rules/base.xml.in.h:484
+#: ../rules/base.xml.in.h:488
msgid "Miscellaneous compatibility options"
msgstr "Diverse kompatibilitetsvalg"
-#: ../rules/base.xml.in.h:485
+#: ../rules/base.xml.in.h:489
msgid "Mkd"
msgstr "Mkd"
-#: ../rules/base.xml.in.h:486
+#: ../rules/base.xml.in.h:490
msgid "Mli"
msgstr "Mli"
-#: ../rules/base.xml.in.h:487
+#: ../rules/base.xml.in.h:491
msgid "Mlt"
msgstr "Mlt"
-#: ../rules/base.xml.in.h:488
+#: ../rules/base.xml.in.h:492
msgid "Mmr"
msgstr "Mmr"
-#: ../rules/base.xml.in.h:489
+#: ../rules/base.xml.in.h:493
msgid "Mng"
msgstr "Mng"
-#: ../rules/base.xml.in.h:490
+#: ../rules/base.xml.in.h:494
msgid "Mongolia"
msgstr "Mongoliet"
-#: ../rules/base.xml.in.h:491
+#: ../rules/base.xml.in.h:495
msgid "Montenegro"
msgstr "Montenegro"
-#: ../rules/base.xml.in.h:492
+#: ../rules/base.xml.in.h:496
msgid "Morocco"
msgstr "Marokko"
-#: ../rules/base.xml.in.h:493
+#: ../rules/base.xml.in.h:497
msgid "Multilingual"
msgstr "Flersproget"
-#: ../rules/base.xml.in.h:494
+#: ../rules/base.xml.in.h:498
msgid "Multilingual, first part"
msgstr "Flersproget, første del"
-#: ../rules/base.xml.in.h:495
+#: ../rules/base.xml.in.h:499
msgid "Multilingual, second part"
msgstr "Flersproget, anden del"
-#: ../rules/base.xml.in.h:496
+#: ../rules/base.xml.in.h:500
msgid "Myanmar"
msgstr "Burma"
-#: ../rules/base.xml.in.h:497
+#: ../rules/base.xml.in.h:501
msgid "NICOLA-F style Backspace"
msgstr "NICOLA-F-stil rettelsestast"
-#: ../rules/base.xml.in.h:498
+#: ../rules/base.xml.in.h:502
msgid "NLA"
msgstr "NLA"
-#: ../rules/base.xml.in.h:499
+#: ../rules/base.xml.in.h:503
msgid "Nativo"
msgstr "Nativo"
-#: ../rules/base.xml.in.h:500
+#: ../rules/base.xml.in.h:504
msgid "Nativo for Esperanto"
msgstr "Nativo for esperanto"
-#: ../rules/base.xml.in.h:501
+#: ../rules/base.xml.in.h:505
msgid "Nativo for USA keyboards"
msgstr "Nativo for USA-tastaturer"
-#: ../rules/base.xml.in.h:502
+#: ../rules/base.xml.in.h:506
msgid "Neo 2"
msgstr "Neo 2"
-#: ../rules/base.xml.in.h:503
+#: ../rules/base.xml.in.h:507
msgid "Nepal"
msgstr "Nepal"
-#: ../rules/base.xml.in.h:504
+#: ../rules/base.xml.in.h:508
msgid "Netherlands"
msgstr "Holland"
-#: ../rules/base.xml.in.h:505
+#: ../rules/base.xml.in.h:509
msgid "New phonetic"
msgstr "Ny fonetisk"
-#: ../rules/base.xml.in.h:506
+#: ../rules/base.xml.in.h:510
msgid "Nga"
msgstr "Nga"
-#: ../rules/base.xml.in.h:507
+#: ../rules/base.xml.in.h:511
msgid "Nigeria"
msgstr "Nigeria"
-#: ../rules/base.xml.in.h:508
+#: ../rules/base.xml.in.h:512
msgid "Nld"
msgstr "Hollandsk"
-#: ../rules/base.xml.in.h:509
+#: ../rules/base.xml.in.h:513
msgid "Non-breakable space character at fourth level"
msgstr "Ubrydelig mellemrumskarakter på fjerde niveau"
-#: ../rules/base.xml.in.h:510
+#: ../rules/base.xml.in.h:514
msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level"
msgstr "Ubrydelig mellemrumskarakter på fjerde niveau, tynd ubrydelige mellemrumskarakter på sjette niveau"
-#: ../rules/base.xml.in.h:511
+#: ../rules/base.xml.in.h:515
msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)"
msgstr "Ubrydelig mellemrumskarakter på fjerde niveau, tynd ubrydelige mellemrumskarakter på sjette niveau (via Ctrl+Skift)"
-#: ../rules/base.xml.in.h:512
+#: ../rules/base.xml.in.h:516
msgid "Non-breakable space character at second level"
msgstr "Ubrydelig mellemrumskarakter på andet niveau"
-#: ../rules/base.xml.in.h:513
+#: ../rules/base.xml.in.h:517
msgid "Non-breakable space character at third level"
msgstr "Ubrydelig mellemrumskarakter på tredje niveau"
-#: ../rules/base.xml.in.h:514
+#: ../rules/base.xml.in.h:518
msgid "Non-breakable space character at third level, nothing at fourth level"
msgstr "Ubrydelig mellemrumskarakter på tredje niveau, intet på fjerde niveau"
-#: ../rules/base.xml.in.h:515
+#: ../rules/base.xml.in.h:519
msgid "Non-breakable space character at third level, thin non-breakable space character at fourth level"
msgstr "Ubrydelig mellemrumskarakter på tredje niveau, tynd ubrydelig mellemrumskarakter på fjerde niveau"
-#: ../rules/base.xml.in.h:516
+#: ../rules/base.xml.in.h:520
msgid "Nor"
msgstr "Nor"
-#: ../rules/base.xml.in.h:517
+#: ../rules/base.xml.in.h:521
msgid "Northern Saami"
msgstr "Nordligt saami"
-#: ../rules/base.xml.in.h:518
+#: ../rules/base.xml.in.h:522
msgid "Northern Saami, eliminate dead keys"
msgstr "Nordligt saami, slå døde taster fra"
-#: ../rules/base.xml.in.h:519
+#: ../rules/base.xml.in.h:523
msgid "Northgate OmniKey 101"
msgstr "Northgate OmniKey 101"
-#: ../rules/base.xml.in.h:520
+#: ../rules/base.xml.in.h:524
msgid "Norway"
msgstr "Norge"
-#: ../rules/base.xml.in.h:521
+#: ../rules/base.xml.in.h:525
msgid "Npl"
msgstr "Npl"
-#: ../rules/base.xml.in.h:522
-msgid "NumLock"
-msgstr "NumLock"
+#: ../rules/base.xml.in.h:526
+msgid "Num Lock"
+msgstr "Num Lock"
-#: ../rules/base.xml.in.h:523
+#: ../rules/base.xml.in.h:527
msgid "Numeric keypad delete key behaviour"
msgstr "Numerisk tastatur slettetast opførsel"
-#: ../rules/base.xml.in.h:524
+#: ../rules/base.xml.in.h:528
msgid "Numeric keypad keys work as with Mac"
msgstr "Numerisk tastatur taster fungerer som med Mac"
-#: ../rules/base.xml.in.h:525
+#: ../rules/base.xml.in.h:529
msgid "Numeric keypad layout selection"
msgstr "Numerisk tastatur layout udvælgelse"
-#: ../rules/base.xml.in.h:526
+#: ../rules/base.xml.in.h:530
msgid "OADG 109A"
msgstr "OADG 109A"
-#: ../rules/base.xml.in.h:527
+#: ../rules/base.xml.in.h:531
msgid "OLPC"
msgstr "OLPC"
-#: ../rules/base.xml.in.h:528
+#: ../rules/base.xml.in.h:532
msgid "OLPC Dari"
msgstr "OLPC Dari"
-#: ../rules/base.xml.in.h:529
+#: ../rules/base.xml.in.h:533
msgid "OLPC Pashto"
msgstr "OLPC Pashto"
-#: ../rules/base.xml.in.h:530
+#: ../rules/base.xml.in.h:534
msgid "OLPC Southern Uzbek"
msgstr "OLPC sydlig uzbek"
-#: ../rules/base.xml.in.h:531
+#: ../rules/base.xml.in.h:535
msgid "Occitan"
msgstr "Occitansk"
-#: ../rules/base.xml.in.h:532
+#: ../rules/base.xml.in.h:536
msgid "Ogham"
msgstr "Ogham"
-#: ../rules/base.xml.in.h:533
+#: ../rules/base.xml.in.h:537
msgid "Ogham IS434"
msgstr "Ogham IS434"
-#: ../rules/base.xml.in.h:534
+#: ../rules/base.xml.in.h:538
msgid "Oriya"
msgstr "Oriya"
-#: ../rules/base.xml.in.h:535
+#: ../rules/base.xml.in.h:539
msgid "Ortek MCK-800 MM/Internet keyboard"
msgstr "Ortek MCK-800 MM/Internet keyboard"
-#: ../rules/base.xml.in.h:536
+#: ../rules/base.xml.in.h:540
msgid "Ossetian"
msgstr "Ossetisk"
-#: ../rules/base.xml.in.h:537
+#: ../rules/base.xml.in.h:541
msgid "Ossetian, Winkeys"
msgstr "Ossetisk, Winkeys"
-#: ../rules/base.xml.in.h:538
+#: ../rules/base.xml.in.h:542
msgid "Ossetian, legacy"
msgstr "Ossetisk, forældet"
-#: ../rules/base.xml.in.h:539
+#: ../rules/base.xml.in.h:543
msgid "PC-98xx Series"
msgstr "PC-98xx-serien"
-#: ../rules/base.xml.in.h:540
+#: ../rules/base.xml.in.h:544
msgid "Pak"
msgstr "Pak"
-#: ../rules/base.xml.in.h:541
+#: ../rules/base.xml.in.h:545
msgid "Pakistan"
msgstr "Pakistan"
# Pannonian Rusyn or simply Rusyn (Ruthenian) is a Slavic language or dialect spoken
# in north-western Serbia and eastern Croatia
-#: ../rules/base.xml.in.h:542
+#: ../rules/base.xml.in.h:546
msgid "Pannonian Rusyn Homophonic"
msgstr "Pannonian Rusyn homofoni"
-#: ../rules/base.xml.in.h:543
+#: ../rules/base.xml.in.h:547
msgid "Pashto"
msgstr "Pashto"
-#: ../rules/base.xml.in.h:544
+#: ../rules/base.xml.in.h:548
msgid "Pattachote"
msgstr "Pattachote"
-#: ../rules/base.xml.in.h:545
+#: ../rules/base.xml.in.h:549
msgid "Pause"
msgstr "Pause"
-#: ../rules/base.xml.in.h:546
+#: ../rules/base.xml.in.h:550
msgid "Persian, with Persian Keypad"
msgstr "Persisk, med persisk numerisk tastatur"
-#: ../rules/base.xml.in.h:547
+#: ../rules/base.xml.in.h:551
msgid "Phonetic"
msgstr "Fonetisk"
-#: ../rules/base.xml.in.h:548
+#: ../rules/base.xml.in.h:552
msgid "Phonetic Winkeys"
msgstr "Fonetiske Wintaster"
-#: ../rules/base.xml.in.h:549
+#: ../rules/base.xml.in.h:553
msgid "Pol"
msgstr "Pol"
-#: ../rules/base.xml.in.h:550
+#: ../rules/base.xml.in.h:554
msgid "Poland"
msgstr "Polen"
-#: ../rules/base.xml.in.h:551
+#: ../rules/base.xml.in.h:555
msgid "Polytonic"
msgstr "Polytonisk"
-#: ../rules/base.xml.in.h:552
+#: ../rules/base.xml.in.h:556
msgid "Portugal"
msgstr "Portugal"
-#: ../rules/base.xml.in.h:553
+#: ../rules/base.xml.in.h:557
msgid "Probhat"
msgstr "Probhat"
-#: ../rules/base.xml.in.h:554
+#: ../rules/base.xml.in.h:558
msgid "Programmer Dvorak"
msgstr "Programmørdvorak"
-#: ../rules/base.xml.in.h:555
+#: ../rules/base.xml.in.h:559
msgid "Propeller Voyager (KTEZ-1000)"
msgstr "Propeller Voyager (KTEZ-1000)"
-#: ../rules/base.xml.in.h:556
+#: ../rules/base.xml.in.h:560
msgid "Prt"
msgstr "Prt"
-#: ../rules/base.xml.in.h:557
+#: ../rules/base.xml.in.h:561
msgid "PrtSc"
msgstr "Prtsc"
-#: ../rules/base.xml.in.h:558
+#: ../rules/base.xml.in.h:562
msgid "QTronix Scorpius 98N+"
msgstr "QTronix Scorpius 98N+"
-#: ../rules/base.xml.in.h:559
+#: ../rules/base.xml.in.h:563
msgid "Right Alt"
msgstr "Højre Alt"
-#: ../rules/base.xml.in.h:560
+#: ../rules/base.xml.in.h:564
msgid "Right Alt (while pressed)"
msgstr "Højre Alt (mens trykket ned)"
-#: ../rules/base.xml.in.h:561
+#: ../rules/base.xml.in.h:565
msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "Højre Alt vælge femte niveau, låser når trykket ned sammen med en anden femte niveauvælger"
-#: ../rules/base.xml.in.h:562
+#: ../rules/base.xml.in.h:566
msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "Højre Alt vælge femte niveau, låser når trykket ned sammen med en anden femte niveauvælger, et tryk frigiver låsen"
-#: ../rules/base.xml.in.h:563
+#: ../rules/base.xml.in.h:567
msgid "Right Alt key never chooses 3rd level"
msgstr "Højre Alt-tast vælger aldrig tredje niveau"
-#: ../rules/base.xml.in.h:564
+#: ../rules/base.xml.in.h:568
msgid "Right Alt, Shift+Right Alt key is Multi_Key"
msgstr "Højre Alt-tast, Skift+højre Alt-tast er fler_tast"
-#: ../rules/base.xml.in.h:565
+#: ../rules/base.xml.in.h:569
msgid "Right Ctrl"
msgstr "Højre Ctrl"
-#: ../rules/base.xml.in.h:566
+#: ../rules/base.xml.in.h:570
msgid "Right Ctrl (while pressed)"
msgstr "Højre Ctrl-tast (mens trykket ned)"
-#: ../rules/base.xml.in.h:567
+#: ../rules/base.xml.in.h:571
msgid "Right Ctrl as Right Alt"
msgstr "Højre Ctrl-tast virker som højre Alt"
-#: ../rules/base.xml.in.h:568
+#: ../rules/base.xml.in.h:572
msgid "Right Ctrl+Right Shift"
msgstr "Højre Ctrl+Højre Skift"
-#: ../rules/base.xml.in.h:569
+#: ../rules/base.xml.in.h:573
msgid "Right Shift"
msgstr "Højre Skift"
-#: ../rules/base.xml.in.h:570
+#: ../rules/base.xml.in.h:574
msgid "Right Win"
msgstr "Højre Win"
-#: ../rules/base.xml.in.h:571
+#: ../rules/base.xml.in.h:575
msgid "Right Win (while pressed)"
msgstr "Højre Win-tast (mens trykket ned)"
-#: ../rules/base.xml.in.h:572
+#: ../rules/base.xml.in.h:576
msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "Højre Win-tast vælger femte niveau, låser når trykket ned sammen med en anden femte niveauvælger"
-#: ../rules/base.xml.in.h:573
+#: ../rules/base.xml.in.h:577
msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "Højre Win-tast vælger femte niveau, låser når trykket ned sammen med en anden femte niveauvælger, et tryk frigiver låsen"
-#: ../rules/base.xml.in.h:574
+#: ../rules/base.xml.in.h:578
msgid "Right hand"
msgstr "Højre hånd"
-#: ../rules/base.xml.in.h:575
+#: ../rules/base.xml.in.h:579
msgid "Right handed Dvorak"
msgstr "Højre hånd dvorak"
-#: ../rules/base.xml.in.h:576
+#: ../rules/base.xml.in.h:580
msgid "Romania"
msgstr "Rumænien"
-#: ../rules/base.xml.in.h:577
+#: ../rules/base.xml.in.h:581
msgid "Romanian keyboard with German letters"
msgstr "Rumænsk tastatur med tyske bogstaver"
-#: ../rules/base.xml.in.h:578
+#: ../rules/base.xml.in.h:582
msgid "Romanian keyboard with German letters, eliminate dead keys"
msgstr "Rumænsk tastatur med tyske bogstaver, eliminer døde taster"
-#: ../rules/base.xml.in.h:579
+#: ../rules/base.xml.in.h:583
msgid "Rou"
msgstr "Rum"
-#: ../rules/base.xml.in.h:580
+#: ../rules/base.xml.in.h:584
msgid "Rus"
msgstr "Rus"
-#: ../rules/base.xml.in.h:581
+#: ../rules/base.xml.in.h:585
msgid "Russia"
msgstr "Rusland"
-#: ../rules/base.xml.in.h:582
+#: ../rules/base.xml.in.h:586
msgid "Russian"
msgstr "Russisk"
-#: ../rules/base.xml.in.h:583
+#: ../rules/base.xml.in.h:587
msgid "Russian phonetic"
msgstr "Russisk fonetisk"
-#: ../rules/base.xml.in.h:584
+#: ../rules/base.xml.in.h:588
msgid "Russian phonetic Dvorak"
msgstr "Russisk fonetisk dvorak"
-#: ../rules/base.xml.in.h:585
+#: ../rules/base.xml.in.h:589
msgid "Russian phonetic, eliminate dead keys"
msgstr "Russisk fonetisk, slå døde taster fra"
-#: ../rules/base.xml.in.h:586
+#: ../rules/base.xml.in.h:590
msgid "Russian with Kazakh"
msgstr "Russisk med kazakh"
-#: ../rules/base.xml.in.h:587
+#: ../rules/base.xml.in.h:591
msgid "SILVERCREST Multimedia Wireless Keyboard"
msgstr "SILVERCREST Multimedia Wireless Keyboard"
-#: ../rules/base.xml.in.h:588
+#: ../rules/base.xml.in.h:592
msgid "SK-1300"
msgstr "SK-1300"
-#: ../rules/base.xml.in.h:589
+#: ../rules/base.xml.in.h:593
msgid "SK-2500"
msgstr "SK-2500"
-#: ../rules/base.xml.in.h:590
+#: ../rules/base.xml.in.h:594
msgid "SK-6200"
msgstr "SK-6200"
-#: ../rules/base.xml.in.h:591
+#: ../rules/base.xml.in.h:595
msgid "SK-7100"
msgstr "SK-7100"
-#: ../rules/base.xml.in.h:592 ../rules/base.extras.xml.in.h:7
+#: ../rules/base.xml.in.h:596 ../rules/base.extras.xml.in.h:9
msgid "SRB"
msgstr "SRB"
-#: ../rules/base.xml.in.h:593
+#: ../rules/base.xml.in.h:597
msgid "SVEN Ergonomic 2500"
msgstr "SVEN Ergonomic 2500"
-#: ../rules/base.xml.in.h:594
+#: ../rules/base.xml.in.h:598
msgid "SVEN Slim 303"
msgstr "SVEN Slim 303"
-#: ../rules/base.xml.in.h:595
+#: ../rules/base.xml.in.h:599
msgid "Samsung SDM 4500P"
msgstr "Samsung SDM 4500P"
-#: ../rules/base.xml.in.h:596
+#: ../rules/base.xml.in.h:600
msgid "Samsung SDM 4510P"
msgstr "Samsung SDM 4510P"
-#: ../rules/base.xml.in.h:597
-msgid "ScrollLock"
-msgstr "ScrollLock"
+#: ../rules/base.xml.in.h:601
+msgid "Scroll Lock"
+msgstr "Scroll Lock"
-#: ../rules/base.xml.in.h:598
+#: ../rules/base.xml.in.h:602
msgid "Secwepemctsin"
msgstr "Secwepemctsin"
-#: ../rules/base.xml.in.h:599
+#: ../rules/base.xml.in.h:603
msgid "Semi-colon on third level"
msgstr "Semikolon på tredje niveau"
-#: ../rules/base.xml.in.h:600
+#: ../rules/base.xml.in.h:604
msgid "Sen"
msgstr "Sen"
-#: ../rules/base.xml.in.h:601
+#: ../rules/base.xml.in.h:605
msgid "Senegal"
msgstr "Senegal"
-#: ../rules/base.xml.in.h:602 ../rules/base.extras.xml.in.h:8
+#: ../rules/base.xml.in.h:606 ../rules/base.extras.xml.in.h:10
msgid "Serbia"
msgstr "Serbien"
-#: ../rules/base.xml.in.h:603
+#: ../rules/base.xml.in.h:607
msgid "Serbian"
-msgstr "Serbien"
+msgstr "Serbisk"
-#: ../rules/base.xml.in.h:604
-msgid "Shift cancels CapsLock"
-msgstr "Skift afbryder CapsLock"
+#: ../rules/base.xml.in.h:608
+msgid "Shift cancels Caps Lock"
+msgstr "Skift afbryder Caps Lock"
-#: ../rules/base.xml.in.h:605
-msgid "Shift does not cancel NumLock, chooses 3rd level instead"
-msgstr "Skift afbryder ikke NumLock, vælger tredje niveau i steden for"
+#: ../rules/base.xml.in.h:609
+msgid "Shift does not cancel Num Lock, chooses 3rd level instead"
+msgstr "Skift afbryder ikke Num Lock, vælger tredje niveau i steden for"
-#: ../rules/base.xml.in.h:606
+#: ../rules/base.xml.in.h:610
msgid "Shift with numeric keypad keys works as in MS Windows"
msgstr "Skift med numeriske taster virker som i MS Windows"
-#: ../rules/base.xml.in.h:607
-msgid "Shift+CapsLock"
-msgstr "Skift+CapsLock"
+#: ../rules/base.xml.in.h:611
+msgid "Shift+Caps Lock"
+msgstr "Skift+Caps Lock"
-#: ../rules/base.xml.in.h:608
+#: ../rules/base.xml.in.h:612
msgid "Simple"
msgstr "Simpel"
-#: ../rules/base.xml.in.h:609
+#: ../rules/base.xml.in.h:613
+msgid "Sindhi"
+msgstr "Sindhi"
+
+#: ../rules/base.xml.in.h:614
msgid "Slovakia"
msgstr "Slovakiet"
-#: ../rules/base.xml.in.h:610
+#: ../rules/base.xml.in.h:615
msgid "Slovenia"
msgstr "Slovenien"
-#: ../rules/base.xml.in.h:611
+#: ../rules/base.xml.in.h:616
msgid "South Africa"
msgstr "Sydafrika"
-#: ../rules/base.xml.in.h:612
+#: ../rules/base.xml.in.h:617
msgid "Southern Uzbek"
msgstr "Sydlig uzbek"
-#: ../rules/base.xml.in.h:613
+#: ../rules/base.xml.in.h:618
msgid "Spain"
msgstr "Spanien"
-#: ../rules/base.xml.in.h:614
+#: ../rules/base.xml.in.h:619
msgid "Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server"
msgstr "Specialtaster (Ctrl+Alt+&lt;key&gt;) håndteret i en server"
-#: ../rules/base.xml.in.h:615
+#: ../rules/base.xml.in.h:620
msgid "Sri Lanka"
msgstr "Sri Lanka"
-#: ../rules/base.xml.in.h:616
+#: ../rules/base.xml.in.h:621
msgid "Standard"
msgstr "Standard"
-#: ../rules/base.xml.in.h:617
+#: ../rules/base.xml.in.h:622
msgid "Standard (Cedilla)"
msgstr "Standard (Cedilla)"
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:619
+#: ../rules/base.xml.in.h:624
msgid "Standard RSTU"
msgstr "Standard RSTU"
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:621
+#: ../rules/base.xml.in.h:626
msgid "Standard RSTU on Russian layout"
msgstr "Standard-RSTU på russisk layout"
-#: ../rules/base.xml.in.h:622
+#: ../rules/base.xml.in.h:627
msgid "Sun Type 5/6"
msgstr "Sun type 5/6"
-#: ../rules/base.xml.in.h:623
+#: ../rules/base.xml.in.h:628
msgid "Sun dead keys"
msgstr "Sun døde taster"
-#: ../rules/base.xml.in.h:624
+#: ../rules/base.xml.in.h:629
msgid "Super Power Multimedia Keyboard"
msgstr "Super Power Multimedia Keyboard"
-#: ../rules/base.xml.in.h:625
+#: ../rules/base.xml.in.h:630
msgid "Svdvorak"
msgstr "Svdvorak"
-#: ../rules/base.xml.in.h:626
+#: ../rules/base.xml.in.h:631
msgid "Svk"
msgstr "Svk"
-#: ../rules/base.xml.in.h:627
+#: ../rules/base.xml.in.h:632
msgid "Svn"
msgstr "Svn"
-#: ../rules/base.xml.in.h:628
-msgid "Swap Ctrl and CapsLock"
-msgstr "Ombyt Ctrl og CapsLock"
+#: ../rules/base.xml.in.h:633
+msgid "Swap Ctrl and Caps Lock"
+msgstr "Ombyt Ctrl og Caps Lock"
-#: ../rules/base.xml.in.h:629
-msgid "Swap ESC and CapsLock"
-msgstr "Ombyt Ctrl og CapsLock"
+#: ../rules/base.xml.in.h:634
+msgid "Swap ESC and Caps Lock"
+msgstr "Ombyt ESC og Caps Lock"
-#: ../rules/base.xml.in.h:630
+#: ../rules/base.xml.in.h:635
msgid "Swe"
msgstr "Sve"
-#: ../rules/base.xml.in.h:631
+#: ../rules/base.xml.in.h:636
msgid "Sweden"
msgstr "Sverige"
-#: ../rules/base.xml.in.h:632
+#: ../rules/base.xml.in.h:637
msgid "Switzerland"
msgstr "Schweiz"
-#: ../rules/base.xml.in.h:633
+#: ../rules/base.xml.in.h:638
msgid "Symplon PaceBook (tablet PC)"
msgstr "Symplon PaceBook (tablet-pc)"
-#: ../rules/base.xml.in.h:634
+#: ../rules/base.xml.in.h:639
msgid "Syr"
msgstr "Syr"
-#: ../rules/base.xml.in.h:635
+#: ../rules/base.xml.in.h:640
msgid "Syria"
msgstr "Syrien"
-#: ../rules/base.xml.in.h:636
+#: ../rules/base.xml.in.h:641
msgid "Syriac"
msgstr "Syrisk"
-#: ../rules/base.xml.in.h:637
+#: ../rules/base.xml.in.h:642
msgid "Syriac phonetic"
msgstr "Syrisk fonetisk"
-#: ../rules/base.xml.in.h:638
+#: ../rules/base.xml.in.h:643
msgid "TIS-820.2538"
msgstr "TIS-820.2538"
-#: ../rules/base.xml.in.h:639
+#: ../rules/base.xml.in.h:644
msgid "Tajikistan"
msgstr "Tadjikistan"
-#: ../rules/base.xml.in.h:640
+#: ../rules/base.xml.in.h:645
msgid "Tamil"
msgstr "Tamil"
-#: ../rules/base.xml.in.h:641
+#: ../rules/base.xml.in.h:646
msgid "Tamil Keyboard with Numerals"
msgstr "Tamilsk tastatur med numre"
-#: ../rules/base.xml.in.h:642
+#: ../rules/base.xml.in.h:647
msgid "Tamil TAB Typewriter"
msgstr "Tamil TAB-skrivemaskine"
-#: ../rules/base.xml.in.h:643
+#: ../rules/base.xml.in.h:648
msgid "Tamil TSCII Typewriter"
msgstr "Tamil TSCII-skrivemaskine"
-#: ../rules/base.xml.in.h:644
+#: ../rules/base.xml.in.h:649
msgid "Tamil Unicode"
msgstr "Tamil unicode"
-#: ../rules/base.xml.in.h:645
+#: ../rules/base.xml.in.h:650
msgid "Tanzania"
msgstr "Tanzania"
-#: ../rules/base.xml.in.h:646
+#: ../rules/base.xml.in.h:651
msgid "Targa Visionary 811"
msgstr "Targa Visionary 811"
-#: ../rules/base.xml.in.h:647
+#: ../rules/base.xml.in.h:652
msgid "Tatar"
msgstr "Tatar"
-#: ../rules/base.xml.in.h:648
+#: ../rules/base.xml.in.h:653
msgid "Telugu"
msgstr "Telugu"
-#: ../rules/base.xml.in.h:649
+#: ../rules/base.xml.in.h:654
msgid "Tha"
msgstr "Tha"
-#: ../rules/base.xml.in.h:650
+#: ../rules/base.xml.in.h:655
msgid "Thailand"
msgstr "Thailand"
-#: ../rules/base.xml.in.h:651
+#: ../rules/base.xml.in.h:656
msgid "Tibetan"
msgstr "Tibetansk"
-#: ../rules/base.xml.in.h:652
+#: ../rules/base.xml.in.h:657
msgid "Tibetan (with ASCII numerals)"
msgstr "Tibetansk (med ASCII-numre)"
-#: ../rules/base.xml.in.h:653
+#: ../rules/base.xml.in.h:658
msgid "Tifinagh"
msgstr "Tifinagh"
-#: ../rules/base.xml.in.h:654
-msgid "Tifinagh Alternative"
+#: ../rules/base.xml.in.h:659
+msgid "Tifinagh alternative"
msgstr "Tifinagh alternativ"
-#: ../rules/base.xml.in.h:655
-msgid "Tifinagh Alternative Phonetic"
+#: ../rules/base.xml.in.h:660
+msgid "Tifinagh alternative phonetic"
msgstr "Tifinagh alternativ fonetisk"
-#: ../rules/base.xml.in.h:656
-msgid "Tifinagh Extended"
+#: ../rules/base.xml.in.h:661
+msgid "Tifinagh extended"
msgstr "Tifinagh udvidet"
-#: ../rules/base.xml.in.h:657
-msgid "Tifinagh Extended Phonetic"
+#: ../rules/base.xml.in.h:662
+msgid "Tifinagh extended phonetic"
msgstr "Tifinagh udvidet fonetisk"
-#: ../rules/base.xml.in.h:658
-msgid "Tifinagh Phonetic"
+#: ../rules/base.xml.in.h:663
+msgid "Tifinagh phonetic"
msgstr "Tifinagh fonetisk"
-#: ../rules/base.xml.in.h:659
+#: ../rules/base.xml.in.h:664
msgid "Tilde (~) variant"
msgstr "Tilde (~) variant"
-#: ../rules/base.xml.in.h:660
+#: ../rules/base.xml.in.h:665
msgid "Tjk"
msgstr "Tjk"
-#: ../rules/base.xml.in.h:661
+#: ../rules/base.xml.in.h:666
msgid "Tkm"
msgstr "Tkm"
-#: ../rules/base.xml.in.h:662
+#: ../rules/base.xml.in.h:667
msgid "To the corresponding key in a Dvorak keyboard."
msgstr "Til den tilsvarende tast i et Dvoraktastatur."
-#: ../rules/base.xml.in.h:663
+#: ../rules/base.xml.in.h:668
msgid "To the corresponding key in a Qwerty keyboard."
msgstr "Til den tilsvarende tast på et Qwertytastatur."
-#: ../rules/base.xml.in.h:664
+#: ../rules/base.xml.in.h:669
msgid "Toshiba Satellite S3000"
msgstr "Toshiba Satellite S3000"
-#: ../rules/base.xml.in.h:665
+#: ../rules/base.xml.in.h:670
msgid "Traditional phonetic"
msgstr "Traditionel fonetisk"
-#: ../rules/base.xml.in.h:666
+#: ../rules/base.xml.in.h:671
msgid "Trust Direct Access Keyboard"
msgstr "Trust Direct Access Keyboard"
-#: ../rules/base.xml.in.h:667
+#: ../rules/base.xml.in.h:672
msgid "Trust Slimline"
msgstr "Trust Slimline"
-#: ../rules/base.xml.in.h:668
+#: ../rules/base.xml.in.h:673
msgid "Trust Wireless Keyboard Classic"
msgstr "Trust Wireless Keyboard Classic"
-#: ../rules/base.xml.in.h:669
+#: ../rules/base.xml.in.h:674
msgid "Tur"
msgstr "Tyr"
-#: ../rules/base.xml.in.h:670
+#: ../rules/base.xml.in.h:675
msgid "Turkey"
msgstr "Tyrkiet"
-#: ../rules/base.xml.in.h:671
+#: ../rules/base.xml.in.h:676
msgid "Turkmenistan"
msgstr "Turkmenistan"
-#: ../rules/base.xml.in.h:672
+#: ../rules/base.xml.in.h:677
msgid "TypeMatrix EZ-Reach 2020"
msgstr "TypeMatrix EZ-Reach 2020"
-#: ../rules/base.xml.in.h:673
+#: ../rules/base.xml.in.h:678
msgid "TypeMatrix EZ-Reach 2030 PS2"
msgstr "TypeMatrix EZ-Reach 2030 PS2"
-#: ../rules/base.xml.in.h:674
+#: ../rules/base.xml.in.h:679
msgid "TypeMatrix EZ-Reach 2030 USB"
msgstr "TypeMatrix EZ-Reach 2030 USB"
-#: ../rules/base.xml.in.h:675
+#: ../rules/base.xml.in.h:680
msgid "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)"
msgstr "TypeMatrix EZ-Reach 2030 USB (102/105:EU-tilstand)"
-#: ../rules/base.xml.in.h:676
+#: ../rules/base.xml.in.h:681
msgid "TypeMatrix EZ-Reach 2030 USB (106:JP mode)"
msgstr "TypeMatrix EZ-Reach 2030 USB (106:JP-tilstand)"
-#: ../rules/base.xml.in.h:677
+#: ../rules/base.xml.in.h:682
msgid "Typewriter"
msgstr "Skrivemaskine"
-#: ../rules/base.xml.in.h:678
+#: ../rules/base.xml.in.h:683
msgid "Typewriter, legacy"
msgstr "Skrivemaskine, forældet"
-#: ../rules/base.xml.in.h:679
+#: ../rules/base.xml.in.h:684
msgid "Tza"
msgstr "Tza"
-#: ../rules/base.xml.in.h:680
+#: ../rules/base.xml.in.h:685
msgid "UCW layout (accented letters only)"
msgstr "UCW-layout (kun bogstaver med accent)"
-#: ../rules/base.xml.in.h:681
+#: ../rules/base.xml.in.h:686
msgid "US Dvorak with CZ UCW support"
msgstr "US Dvorak med CZ UCW-understøttelse"
-#: ../rules/base.xml.in.h:682
+#: ../rules/base.xml.in.h:687
msgid "US keyboard with Bosnian digraphs"
msgstr "US-tastatur med bosniske digrafer"
-#: ../rules/base.xml.in.h:683
+#: ../rules/base.xml.in.h:688
msgid "US keyboard with Bosnian letters"
msgstr "US-tastatur med bosniske bogstaver"
-#: ../rules/base.xml.in.h:684
+#: ../rules/base.xml.in.h:689
msgid "US keyboard with Croatian digraphs"
msgstr "US-tastatur med kroatiske digrafer"
-#: ../rules/base.xml.in.h:685
+#: ../rules/base.xml.in.h:690
msgid "US keyboard with Croatian letters"
msgstr "US-tastatur med kroatiske bogstaver"
-#: ../rules/base.xml.in.h:686
+#: ../rules/base.xml.in.h:691
msgid "US keyboard with Estonian letters"
msgstr "US-tastatur med esttiske bogstaver"
-#: ../rules/base.xml.in.h:687
+#: ../rules/base.xml.in.h:692
msgid "US keyboard with Italian letters"
msgstr "US-tastatur med italienske bogstaver"
-#: ../rules/base.xml.in.h:688
+#: ../rules/base.xml.in.h:693
msgid "US keyboard with Lithuanian letters"
msgstr "US-tastatur med litauiske bogstaver"
-#: ../rules/base.xml.in.h:689
+#: ../rules/base.xml.in.h:694
msgid "US keyboard with Slovenian letters"
msgstr "US-tastatur med slovenske bogstaver"
-#: ../rules/base.xml.in.h:690 ../rules/base.extras.xml.in.h:9
+#: ../rules/base.xml.in.h:695 ../rules/base.extras.xml.in.h:11
msgid "USA"
msgstr "USA"
-#: ../rules/base.xml.in.h:691
+#: ../rules/base.xml.in.h:696
msgid "Udmurt"
msgstr "Udmurt"
-#: ../rules/base.xml.in.h:692
+#: ../rules/base.xml.in.h:697
msgid "Ukr"
msgstr "Ukr"
-#: ../rules/base.xml.in.h:693
+#: ../rules/base.xml.in.h:698
msgid "Ukraine"
msgstr "Ukraine"
-#: ../rules/base.xml.in.h:694
+#: ../rules/base.xml.in.h:699
msgid "Unicode additions (arrows and math operators)"
msgstr "Unicode tilføjelser (pile og matematiske tegn)"
-#: ../rules/base.xml.in.h:695
+#: ../rules/base.xml.in.h:700
msgid "Unicode additions (arrows and math operators). Math operators on default level"
msgstr "Unicode tilføjelser (pile og matematiske tegn). Matematiske tegn på standardniveau"
-#: ../rules/base.xml.in.h:696
+#: ../rules/base.xml.in.h:701
msgid "UnicodeExpert"
msgstr "UnicodeExpert"
-#: ../rules/base.xml.in.h:697
+#: ../rules/base.xml.in.h:702
msgid "United Kingdom"
msgstr "United Kingdom"
-#: ../rules/base.xml.in.h:698
+#: ../rules/base.xml.in.h:703
msgid "Unitek KB-1925"
msgstr "Unitek KB-1925"
-#: ../rules/base.xml.in.h:699
+#: ../rules/base.xml.in.h:704
msgid "Urdu, Alternative phonetic"
msgstr "Urdu, alternativ fonetisk"
-#: ../rules/base.xml.in.h:700
+#: ../rules/base.xml.in.h:705
msgid "Urdu, Phonetic"
msgstr "Urdu, fonetisk"
-#: ../rules/base.xml.in.h:701
+#: ../rules/base.xml.in.h:706
msgid "Urdu, Winkeys"
msgstr "Urdu, Win-taster"
-#: ../rules/base.xml.in.h:702
+#: ../rules/base.xml.in.h:707
msgid "Use Bosnian digraphs"
msgstr "Anvend bosniske digrafer"
-#: ../rules/base.xml.in.h:703
+#: ../rules/base.xml.in.h:708
msgid "Use Croatian digraphs"
msgstr "Anvend kroatiske digrafer"
-#: ../rules/base.xml.in.h:704
+#: ../rules/base.xml.in.h:709
msgid "Use guillemets for quotes"
msgstr "Anvend guillemeter som anførelsestegn"
-#: ../rules/base.xml.in.h:705
+#: ../rules/base.xml.in.h:710
msgid "Use keyboard LED to show alternative layout"
msgstr "Brug tastatur-LED til at vise alternativ layout"
-#: ../rules/base.xml.in.h:706
+#: ../rules/base.xml.in.h:711
msgid "Using space key to input non-breakable space character"
msgstr "Brug mellemrum for at indtaste ubrydelig mellemrumskarakter"
-#: ../rules/base.xml.in.h:707
+#: ../rules/base.xml.in.h:712
msgid "Usual space at any level"
msgstr "Normal mellemrum på alle niveauer"
-#: ../rules/base.xml.in.h:708
+#: ../rules/base.xml.in.h:713
msgid "Uzb"
msgstr "Uzb"
-#: ../rules/base.xml.in.h:709
+#: ../rules/base.xml.in.h:714
msgid "Uzbekistan"
msgstr "Usbekistan"
-#: ../rules/base.xml.in.h:710
+#: ../rules/base.xml.in.h:715
msgid "Vietnam"
msgstr "Vietnam"
-#: ../rules/base.xml.in.h:711
+#: ../rules/base.xml.in.h:716
msgid "ViewSonic KU-306 Internet Keyboard"
msgstr "ViewSonic KU-306 Internet Keyboard"
-#: ../rules/base.xml.in.h:712
+#: ../rules/base.xml.in.h:717
msgid "Vnm"
msgstr "Vnm"
-#: ../rules/base.xml.in.h:713
+#: ../rules/base.xml.in.h:718
msgid "Wang 724 keypad with unicode additions (arrows and math operators)"
msgstr "Wang 724 numerisk tastatur med unicode tilføjelser (pile og matematiske tegn)"
-#: ../rules/base.xml.in.h:714
+#: ../rules/base.xml.in.h:719
msgid "Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level"
msgstr "Wang 724 numerisk tastatur med unicode tilføjelser (pile og matematiske tegn). Matematiske tegn på standardniveau"
-#: ../rules/base.xml.in.h:715
+#: ../rules/base.xml.in.h:720
msgid "Wang model 724 azerty"
msgstr "Wang model 724 azerty"
-#: ../rules/base.xml.in.h:716
+#: ../rules/base.xml.in.h:721
msgid "Western"
msgstr "Vestlig"
-#: ../rules/base.xml.in.h:717
+#: ../rules/base.xml.in.h:722
msgid "Winbook Model XP5"
msgstr "Winbook Model XP5"
-#: ../rules/base.xml.in.h:718
+#: ../rules/base.xml.in.h:723
msgid "Winkeys"
msgstr "Win-taster"
-#: ../rules/base.xml.in.h:719
+#: ../rules/base.xml.in.h:724
msgid "With &lt;\\|&gt; key"
msgstr "Med &lt;\\|&gt; tast"
-#: ../rules/base.xml.in.h:720
+#: ../rules/base.xml.in.h:725
msgid "With EuroSign on 5"
msgstr "Med eurotegn på 5"
-#: ../rules/base.xml.in.h:721
+#: ../rules/base.xml.in.h:726
msgid "With guillemets"
msgstr "Med guillemeter"
-#: ../rules/base.xml.in.h:722
+#: ../rules/base.xml.in.h:727
msgid "Yahoo! Internet Keyboard"
msgstr "Yahoo! Internet Keyboard"
-#: ../rules/base.xml.in.h:723
+#: ../rules/base.xml.in.h:728
msgid "Yakut"
msgstr "Yakut"
-#: ../rules/base.xml.in.h:724
+#: ../rules/base.xml.in.h:729
msgid "Yoruba"
msgstr "Yoruba"
-#: ../rules/base.xml.in.h:725
+#: ../rules/base.xml.in.h:730
msgid "Z and ZHE swapped"
msgstr "Z og ZHE ombyttet"
-#: ../rules/base.xml.in.h:726
+#: ../rules/base.xml.in.h:731
msgid "Zaf"
msgstr "Zaf"
@@ -2949,71 +2971,71 @@ msgstr "Zaf"
# is desirable to keep the words closer together. The ZWNJ is represented in Unicode
# is U+200C, and can be represented in HTML as &#x200C;, &#8204; or &zwnj;. Kilde eng.
# wikipedia 12. maj 2010
-#: ../rules/base.xml.in.h:727
+#: ../rules/base.xml.in.h:732
msgid "Zero-width non-joiner character at second level"
msgstr "Ubrydeligt mellemrumstegn (ZWNJ) på andet niveau"
-#: ../rules/base.xml.in.h:728
+#: ../rules/base.xml.in.h:733
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level"
msgstr "Ubrydeligt mellemrumstegn (ZWNJ) på andet niveau, ubrydeligt mellemrumstegn på tredje niveau"
-#: ../rules/base.xml.in.h:729
+#: ../rules/base.xml.in.h:734
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level"
msgstr "Ubrydeligt mellemrumstegn (ZWNJ) på andet niveau, ubrydeligt på mellemrum på tredje niveau"
-#: ../rules/base.xml.in.h:730
+#: ../rules/base.xml.in.h:735
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level"
msgstr "Ubrydeligt mellemrumstegn (ZWNJ) på andet niveau, ubrydeligt mellemrumstegn på tredje niveau"
-#: ../rules/base.xml.in.h:731
+#: ../rules/base.xml.in.h:736
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level"
msgstr "Ubrydeligt mellemrumstegn (ZWNJ) på andet niveau, ubrydeligt mellemrumstegn på tredje niveau, ubrydeligt mellemrumstegn (ZWNJ) på fjerde niveau"
-#: ../rules/base.xml.in.h:732
+#: ../rules/base.xml.in.h:737
msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level"
msgstr "Ubrydeligt mellemrumstegn (ZWNJ) på andet niveau, ombrydeligt mellemrumstegn på tredje niveau"
-#: ../rules/base.xml.in.h:733
+#: ../rules/base.xml.in.h:738
msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level"
msgstr "Ubrydeligt mellemrumstegn (ZWNJ) på andet niveau, ombrydeligt mellemrumstegn på tredje niveau, ubrydeligt mellemrumsteng på fjerde niveau"
-#: ../rules/base.xml.in.h:734
+#: ../rules/base.xml.in.h:739
msgid "Zero-width non-joiner character at third level, zero-width joiner at fourth level"
msgstr "Ubrydeligt mellemrumstegn (ZWNJ) på tredje niveau, ombrydeligt mellemrumstegn på fjerde niveau"
-#: ../rules/base.xml.in.h:735
+#: ../rules/base.xml.in.h:740
msgid "azerty"
msgstr "azerty"
-#: ../rules/base.xml.in.h:736
+#: ../rules/base.xml.in.h:741
msgid "azerty/digits"
msgstr "azerty/cifre"
-#: ../rules/base.xml.in.h:737
+#: ../rules/base.xml.in.h:742
msgid "digits"
msgstr "cifre"
-#: ../rules/base.xml.in.h:738
+#: ../rules/base.xml.in.h:743
msgid "displaced semicolon and quote (obsolete)"
msgstr "forkert placeret semikolon og anførelsestegn (forældet)"
-#: ../rules/base.xml.in.h:739
+#: ../rules/base.xml.in.h:744
msgid "lyx"
msgstr "lyx"
-#: ../rules/base.xml.in.h:740
+#: ../rules/base.xml.in.h:745
msgid "qwerty"
msgstr "qwerty"
-#: ../rules/base.xml.in.h:741
+#: ../rules/base.xml.in.h:746
msgid "qwerty, extended Backslash"
msgstr "qwerty, udvidet omvendt skråstreg"
-#: ../rules/base.xml.in.h:742
+#: ../rules/base.xml.in.h:747
msgid "qwerty/digits"
msgstr "qwerty/cifre"
-#: ../rules/base.xml.in.h:743
+#: ../rules/base.xml.in.h:748
msgid "qwertz"
msgstr "qwertz"
@@ -3025,61 +3047,24 @@ msgstr "APL"
msgid "Atsina"
msgstr "Atsina"
+# Avestisk er et uddødt iransk sprog
#: ../rules/base.extras.xml.in.h:3
+msgid "Avestan"
+msgstr "Avestisk"
+
+#: ../rules/base.extras.xml.in.h:4
msgid "Combining accents instead of dead keys"
msgstr "Sammensætte accenter fremfor døde taster"
# http://en.wikipedia.org/wiki/Interior_Salish_languages
-#: ../rules/base.extras.xml.in.h:4
+#: ../rules/base.extras.xml.in.h:5
msgid "Couer D'alene Salish"
msgstr "Couer D'alene Salish"
-#: ../rules/base.extras.xml.in.h:5
+#: ../rules/base.extras.xml.in.h:6
msgid "International (AltGr Unicode combining)"
msgstr "International (AltGr Unicode sammensætning)"
-#: ../rules/base.extras.xml.in.h:6
+#: ../rules/base.extras.xml.in.h:7
msgid "International (AltGr Unicode combining, alternative)"
msgstr "International (AltGr Unicode sammensætning, alternativ)"
-
-#~ msgid "ACPI Standard"
-#~ msgstr "ACPI-standard"
-
-#~ msgid "Bhu"
-#~ msgstr "Bhu"
-
-#~ msgid "Caps Lock"
-#~ msgstr "Caps Lock"
-
-#~ msgid "DRC"
-#~ msgstr "DRC"
-
-#~ msgid "Dvorak international"
-#~ msgstr "Dvorak international"
-
-#~ msgid "Evdev-managed keyboard"
-#~ msgstr "Evdev-håndteret tastatur"
-
-#~ msgid "Gre"
-#~ msgstr "Græ"
-
-#~ msgid "Gui"
-#~ msgstr "Gui"
-
-#~ msgid "Lav"
-#~ msgstr "Lav"
-
-#~ msgid "Nep"
-#~ msgstr "Nep"
-
-#~ msgid "Scroll Lock"
-#~ msgstr "Scroll Lock"
-
-#~ msgid "SrL"
-#~ msgstr "SrL"
-
-#~ msgid "Baltic+"
-#~ msgstr "Baltisk+"
-
-#~ msgid "IBM ThinkPad 560Z/600/600E/A22E, Intl"
-#~ msgstr "IBM ThinkPad 560Z/600/600E/A22E, intl"
diff --git a/xorg-server/xkeyboard-config/po/de.po b/xorg-server/xkeyboard-config/po/de.po
index 34c9a8ba2..472b1cbc2 100644
--- a/xorg-server/xkeyboard-config/po/de.po
+++ b/xorg-server/xkeyboard-config/po/de.po
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: xkeyboard-config-1.9\n"
+"Project-Id-Version: xkeyboard-config-2.0\n"
"Report-Msgid-Bugs-To: svu@users.sourceforge.net\n"
-"POT-Creation-Date: 2010-05-11 21:34+0100\n"
-"PO-Revision-Date: 2010-05-15 21:34+0100\n"
+"POT-Creation-Date: 2010-09-15 21:57+0100\n"
+"PO-Revision-Date: 2010-09-16 11:56+0100\n"
"Last-Translator: Mario Blättermann <mariobl@gnome.org>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
@@ -202,7 +202,7 @@ msgid "Alt is mapped to Right Win, Super to Menu"
msgstr "Alt ist der rechten Win-Taste zugeordnet und Super der Menü-Taste."
#: ../rules/base.xml.in.h:47
-msgid "Alt+CapsLock"
+msgid "Alt+Caps Lock"
msgstr "Alt+Feststelltaste"
#: ../rules/base.xml.in.h:48
@@ -294,7 +294,7 @@ msgid "Apple Aluminium Keyboard (JIS)"
msgstr "Apple Aluminium Keyboard (JIS)"
#: ../rules/base.xml.in.h:70
-msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll_Lock, Pause, NumLock)"
+msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num Lock)"
msgstr "Apple Aluminium Keyboard: PC-Tasten emulieren (Druck, Scroll_Lock, Pause, NumLock)"
#: ../rules/base.xml.in.h:71
@@ -334,2644 +334,2664 @@ msgid "At left of 'A'"
msgstr "Links von »A«"
#: ../rules/base.xml.in.h:80
+msgid "Austria"
+msgstr "Österreich"
+
+#: ../rules/base.xml.in.h:81
+msgid "Aut"
+msgstr "Aut"
+
+#: ../rules/base.xml.in.h:82
msgid "Avatime"
msgstr "Avatime"
-#: ../rules/base.xml.in.h:81
+#: ../rules/base.xml.in.h:83
msgid "Aze"
msgstr "Aze"
-#: ../rules/base.xml.in.h:82
+#: ../rules/base.xml.in.h:84
msgid "Azerbaijan"
msgstr "Aserbaidschan"
-#: ../rules/base.xml.in.h:83
+#: ../rules/base.xml.in.h:85
msgid "Azona RF2300 wireless Internet Keyboard"
msgstr "Azona RF2300 wireless Internet Keyboard"
-#: ../rules/base.xml.in.h:84
+#: ../rules/base.xml.in.h:86
msgid "BTC 5090"
msgstr "BTC 5090"
-#: ../rules/base.xml.in.h:85
+#: ../rules/base.xml.in.h:87
msgid "BTC 5113RF Multimedia"
msgstr "BTC 5113RF Multimedia"
-#: ../rules/base.xml.in.h:86
+#: ../rules/base.xml.in.h:88
msgid "BTC 5126T"
msgstr "BTC 5126T"
-#: ../rules/base.xml.in.h:87
+#: ../rules/base.xml.in.h:89
msgid "BTC 6301URF"
msgstr "BTC 6301URF"
-#: ../rules/base.xml.in.h:88
+#: ../rules/base.xml.in.h:90
msgid "BTC 9000"
msgstr "BTC 9000"
-#: ../rules/base.xml.in.h:89
+#: ../rules/base.xml.in.h:91
msgid "BTC 9000A"
msgstr "BTC 9000A"
-#: ../rules/base.xml.in.h:90
+#: ../rules/base.xml.in.h:92
msgid "BTC 9001AH"
msgstr "BTC 9001AH"
-#: ../rules/base.xml.in.h:91
+#: ../rules/base.xml.in.h:93
msgid "BTC 9019U"
msgstr "BTC 9019U"
-#: ../rules/base.xml.in.h:92
+#: ../rules/base.xml.in.h:94
msgid "BTC 9116U Mini Wireless Internet and Gaming"
msgstr "BTC 9116U Mini Wireless Internet and Gaming"
-#: ../rules/base.xml.in.h:93
+#: ../rules/base.xml.in.h:95
msgid "Backslash"
msgstr "Backslash"
-#: ../rules/base.xml.in.h:94
+#: ../rules/base.xml.in.h:96
msgid "Bangladesh"
msgstr "Bangladesch"
-#: ../rules/base.xml.in.h:95
+#: ../rules/base.xml.in.h:97
msgid "Bashkirian"
msgstr "Baschkirisch"
-#: ../rules/base.xml.in.h:96
+#: ../rules/base.xml.in.h:98
msgid "Bel"
msgstr "Bel"
-#: ../rules/base.xml.in.h:97
+#: ../rules/base.xml.in.h:99
msgid "Belarus"
msgstr "Weißrussland"
-#: ../rules/base.xml.in.h:98
+#: ../rules/base.xml.in.h:100
msgid "Belgium"
msgstr "Belgien"
-#: ../rules/base.xml.in.h:99
+#: ../rules/base.xml.in.h:101
msgid "BenQ X-Touch"
msgstr "BenQ X-Touch"
-#: ../rules/base.xml.in.h:100
+#: ../rules/base.xml.in.h:102
msgid "BenQ X-Touch 730"
msgstr "BenQ X-Touch 730"
-#: ../rules/base.xml.in.h:101
+#: ../rules/base.xml.in.h:103
msgid "BenQ X-Touch 800"
msgstr "BenQ X-Touch 800"
-#: ../rules/base.xml.in.h:102
+#: ../rules/base.xml.in.h:104
msgid "Bengali"
msgstr "Bengalisch"
-#: ../rules/base.xml.in.h:103
+#: ../rules/base.xml.in.h:105
msgid "Bengali Probhat"
msgstr "Bengali Probhat"
-#: ../rules/base.xml.in.h:104
+#: ../rules/base.xml.in.h:106
msgid "Bepo, ergonomic, Dvorak way"
msgstr "Bepo, ergonomisch, Dvorak-ähnlich"
-#: ../rules/base.xml.in.h:105
+#: ../rules/base.xml.in.h:107
msgid "Bepo, ergonomic, Dvorak way, latin-9 only"
msgstr "Bepo, ergonomisch, Dvorak-ähnlich, nur latin-9"
-#: ../rules/base.xml.in.h:106
+#: ../rules/base.xml.in.h:108
msgid "Bgd"
msgstr "Bgd"
-#: ../rules/base.xml.in.h:107
+#: ../rules/base.xml.in.h:109
msgid "Bgr"
msgstr "Bgr"
-#: ../rules/base.xml.in.h:108
+#: ../rules/base.xml.in.h:110
msgid "Bhutan"
msgstr "Bhutan"
-#: ../rules/base.xml.in.h:109
+#: ../rules/base.xml.in.h:111
msgid "Biblical Hebrew (Tiro)"
msgstr "Althebräisch (Tiro)"
-#: ../rules/base.xml.in.h:110
+#: ../rules/base.xml.in.h:112
msgid "Bih"
msgstr "Bih"
-#: ../rules/base.xml.in.h:111
+#: ../rules/base.xml.in.h:113
msgid "Blr"
msgstr "Blr"
-#: ../rules/base.xml.in.h:112
+#: ../rules/base.xml.in.h:114
msgid "Bosnia and Herzegovina"
msgstr "Bosnien-Herzegowina"
-#: ../rules/base.xml.in.h:113
+#: ../rules/base.xml.in.h:115
msgid "Both Alt keys together"
msgstr "Beide Alt-Tasten gleichzeitig"
-#: ../rules/base.xml.in.h:114
+#: ../rules/base.xml.in.h:116
msgid "Both Ctrl keys together"
msgstr "Beide Steuerungstasten gleichzeitig"
-#: ../rules/base.xml.in.h:115
+#: ../rules/base.xml.in.h:117
msgid "Both Shift keys together"
msgstr "Beide Umschalttasten gleichzeitig"
-#: ../rules/base.xml.in.h:116
-msgid "Both Shift-Keys together toggle CapsLock"
+#: ../rules/base.xml.in.h:118
+msgid "Both Shift-Keys together toggle Caps Lock"
msgstr "Beide Umschalttasten gleichzeitig schalten CapsLock ein und aus"
-#: ../rules/base.xml.in.h:117
+#: ../rules/base.xml.in.h:119
msgid "Botswana"
msgstr "Botswana"
-#: ../rules/base.xml.in.h:118
+#: ../rules/base.xml.in.h:120
msgid "Bra"
msgstr "Bra"
-#: ../rules/base.xml.in.h:119
+#: ../rules/base.xml.in.h:121
msgid "Braille"
msgstr "Braille"
-#: ../rules/base.xml.in.h:120
+#: ../rules/base.xml.in.h:122
msgid "Brazil"
msgstr "Brasilien"
-#: ../rules/base.xml.in.h:121
+#: ../rules/base.xml.in.h:123
msgid "Breton"
msgstr "Bretonisch"
-#: ../rules/base.xml.in.h:122
+#: ../rules/base.xml.in.h:124
msgid "Brl"
msgstr "Brl"
-#: ../rules/base.xml.in.h:123
+#: ../rules/base.xml.in.h:125
msgid "Brother Internet Keyboard"
msgstr "Brother Internet Keyboard"
-#: ../rules/base.xml.in.h:124
+#: ../rules/base.xml.in.h:126
msgid "Btn"
msgstr "Btn"
-#: ../rules/base.xml.in.h:125
+#: ../rules/base.xml.in.h:127
msgid "Buckwalter"
msgstr "Buckwalter"
-#: ../rules/base.xml.in.h:126
+#: ../rules/base.xml.in.h:128
msgid "Bulgaria"
msgstr "Bulgarien"
-#: ../rules/base.xml.in.h:127
+#: ../rules/base.xml.in.h:129
msgid "Bwa"
msgstr "Bwa"
-#: ../rules/base.xml.in.h:128
+#: ../rules/base.xml.in.h:130
msgid "COD"
msgstr "COD"
-#: ../rules/base.xml.in.h:129
+#: ../rules/base.xml.in.h:131
msgid "CRULP"
msgstr "CRULP"
-#: ../rules/base.xml.in.h:130
+#: ../rules/base.xml.in.h:132
msgid "Cambodia"
msgstr "Kambodscha"
-#: ../rules/base.xml.in.h:131
+#: ../rules/base.xml.in.h:133
msgid "Can"
msgstr "Can"
-#: ../rules/base.xml.in.h:132
+#: ../rules/base.xml.in.h:134
msgid "Canada"
msgstr "Kanada"
-#: ../rules/base.xml.in.h:133
-msgid "CapsLock"
+#: ../rules/base.xml.in.h:135
+msgid "Caps Lock"
msgstr "Feststelltaste"
-#: ../rules/base.xml.in.h:134
-msgid "CapsLock (to first layout), Shift+CapsLock (to last layout)"
+#: ../rules/base.xml.in.h:136
+msgid "Caps Lock (to first layout), Shift+Caps Lock (to last layout)"
msgstr "Feststelltaste (zur ersten Belegung), Umschalttaste+Feststelltaste (zur letzten Belegung)"
-#: ../rules/base.xml.in.h:135
-msgid "CapsLock (while pressed), Alt+CapsLock does the original capslock action"
+#: ../rules/base.xml.in.h:137
+msgid "Caps Lock (while pressed), Alt+Caps Lock does the original capslock action"
msgstr "Feststelltaste (gedrückt halten), Alt+Feststelltaste führen die normale Feststelltasten-Aktion aus"
-#: ../rules/base.xml.in.h:136
-msgid "CapsLock acts as Shift with locking. Shift \"pauses\" CapsLock"
+#: ../rules/base.xml.in.h:138
+msgid "Caps Lock acts as Shift with locking. Shift \"pauses\" Caps Lock"
msgstr "Feststelltaste arbeitet als Umschalttaste mit Sperrung. Umschalttaste »unterbricht« Feststelltaste"
-#: ../rules/base.xml.in.h:137
-msgid "CapsLock acts as Shift with locking. Shift doesn't affect CapsLock"
+#: ../rules/base.xml.in.h:139
+msgid "Caps Lock acts as Shift with locking. Shift doesn't affect Caps Lock"
msgstr "Feststelltaste arbeitet als Umschalttaste mit Sperrung. Umschalttaste beeinflusst Feststelltaste nicht"
-#: ../rules/base.xml.in.h:138
-msgid "CapsLock is disabled"
+#: ../rules/base.xml.in.h:140
+msgid "Caps Lock is disabled"
msgstr "Feststelltaste ist deaktiviert"
-#: ../rules/base.xml.in.h:139
-msgid "CapsLock key behavior"
+#: ../rules/base.xml.in.h:141
+msgid "Caps Lock key behavior"
msgstr "Verhalten der Feststelltaste"
-#: ../rules/base.xml.in.h:140
-msgid "CapsLock toggles Shift so all keys are affected"
+#: ../rules/base.xml.in.h:142
+msgid "Caps Lock toggles Shift so all keys are affected"
msgstr "Feststelltaste kehrt Umschalttaste um, so dass alle Tasten beeinflusst werden"
-#: ../rules/base.xml.in.h:141
-msgid "CapsLock toggles normal capitalization of alphabetic characters"
+#: ../rules/base.xml.in.h:143
+msgid "Caps Lock toggles normal capitalization of alphabetic characters"
msgstr "Feststelltaste kehrt die normale Großschreibung alphabetischer Zeichen um"
-#: ../rules/base.xml.in.h:142
-msgid "CapsLock uses internal capitalization. Shift \"pauses\" CapsLock"
+#: ../rules/base.xml.in.h:144
+msgid "Caps Lock uses internal capitalization. Shift \"pauses\" Caps Lock"
msgstr "Feststelltaste verwendet interne Großschreibung. Umschalttaste »unterbricht« Feststelltaste"
-#: ../rules/base.xml.in.h:143
-msgid "CapsLock uses internal capitalization. Shift doesn't affect CapsLock"
+#: ../rules/base.xml.in.h:145
+msgid "Caps Lock uses internal capitalization. Shift doesn't affect Caps Lock"
msgstr "Feststelltaste verwendet interne Großschreibung. Umschalttaste beeinflusst Feststelltaste nicht"
-#: ../rules/base.xml.in.h:144
+#: ../rules/base.xml.in.h:146
msgid "Catalan variant with middle-dot L"
msgstr "Katalanische Variante mit mittelpunktiertem L"
-#: ../rules/base.xml.in.h:145
+#: ../rules/base.xml.in.h:147
msgid "Cedilla"
msgstr "Cedilla"
-#: ../rules/base.xml.in.h:146
+#: ../rules/base.xml.in.h:148
msgid "Che"
msgstr "Che"
-#: ../rules/base.xml.in.h:147
+#: ../rules/base.xml.in.h:149
msgid "Cherokee"
msgstr "Cherokee"
-#: ../rules/base.xml.in.h:148
+#: ../rules/base.xml.in.h:150
msgid "Cherry B.UNLIMITED"
msgstr "Cherry B.UNLIMITED"
-#: ../rules/base.xml.in.h:149
+#: ../rules/base.xml.in.h:151
msgid "Cherry Blue Line CyBo@rd"
msgstr "Cherry Blue Line CyBo@rd"
-#: ../rules/base.xml.in.h:150
+#: ../rules/base.xml.in.h:152
msgid "Cherry Blue Line CyBo@rd (alternate option)"
msgstr "Cherry Blue Line CyBo@rd (alternative Option)"
-#: ../rules/base.xml.in.h:151
+#: ../rules/base.xml.in.h:153
msgid "Cherry CyBo@rd USB-Hub"
msgstr "Cherry CyBo@rd USB-Hub"
-#: ../rules/base.xml.in.h:152
+#: ../rules/base.xml.in.h:154
msgid "Cherry CyMotion Expert"
msgstr "Cherry CyMotion Expert"
-#: ../rules/base.xml.in.h:153
+#: ../rules/base.xml.in.h:155
msgid "Cherry CyMotion Master Linux"
msgstr "Cherry CyMotion Master Linux"
-#: ../rules/base.xml.in.h:154
+#: ../rules/base.xml.in.h:156
msgid "Cherry CyMotion Master XPress"
msgstr "Cherry CyMotion Master XPress"
-#: ../rules/base.xml.in.h:155
+#: ../rules/base.xml.in.h:157
msgid "Chicony Internet Keyboard"
msgstr "Chicony Internet Keyboard"
-#: ../rules/base.xml.in.h:156
+#: ../rules/base.xml.in.h:158
msgid "Chicony KB-9885"
msgstr "Chicony KB-9885"
-#: ../rules/base.xml.in.h:157
+#: ../rules/base.xml.in.h:159
msgid "Chicony KU-0108"
msgstr "Chicony KU-0108"
-#: ../rules/base.xml.in.h:158
+#: ../rules/base.xml.in.h:160
msgid "Chicony KU-0420"
msgstr "Chicony KU-0420"
-#: ../rules/base.xml.in.h:159
+#: ../rules/base.xml.in.h:161
msgid "China"
msgstr "China"
-#: ../rules/base.xml.in.h:160
+#: ../rules/base.xml.in.h:162
msgid "Chn"
msgstr "Chn"
-#: ../rules/base.xml.in.h:161
+#: ../rules/base.xml.in.h:163
msgid "Chuvash"
msgstr "Tschuwaschisch"
-#: ../rules/base.xml.in.h:162
+#: ../rules/base.xml.in.h:164
msgid "Chuvash Latin"
msgstr "Tschuwaschisch (lateinische Schrift)"
-#: ../rules/base.xml.in.h:163
+#: ../rules/base.xml.in.h:165
msgid "Classic"
msgstr "Klassisch"
-#: ../rules/base.xml.in.h:164
+#: ../rules/base.xml.in.h:166
msgid "Classic Dvorak"
msgstr "Dvorak (klassisch)"
-#: ../rules/base.xml.in.h:165
+#: ../rules/base.xml.in.h:167
msgid "Classic, eliminate dead keys"
msgstr "Klassisch, ohne Akzenttasten"
-#: ../rules/base.xml.in.h:166
+#: ../rules/base.xml.in.h:168
msgid "Classmate PC"
msgstr "Classmate PC"
-#: ../rules/base.xml.in.h:167
+#: ../rules/base.xml.in.h:169
msgid "CloGaelach"
msgstr "CloGaelach"
-#: ../rules/base.xml.in.h:168
+#: ../rules/base.xml.in.h:170
msgid "Colemak"
msgstr "Colemak"
-#: ../rules/base.xml.in.h:169
+#: ../rules/base.xml.in.h:171
msgid "Compaq Easy Access Keyboard"
msgstr "Compaq Easy Access Keyboard"
-#: ../rules/base.xml.in.h:170
+#: ../rules/base.xml.in.h:172
msgid "Compaq Internet Keyboard (13 keys)"
msgstr "Compaq Internet Keyboard (13 Tasten)"
-#: ../rules/base.xml.in.h:171
+#: ../rules/base.xml.in.h:173
msgid "Compaq Internet Keyboard (18 keys)"
msgstr "Compaq Internet Keyboard (18 Tasten)"
-#: ../rules/base.xml.in.h:172
+#: ../rules/base.xml.in.h:174
msgid "Compaq Internet Keyboard (7 keys)"
msgstr "Compaq Internet Keyboard (7 Tasten)"
-#: ../rules/base.xml.in.h:173
+#: ../rules/base.xml.in.h:175
msgid "Compaq iPaq Keyboard"
msgstr "Compaq iPaq Keyboard"
-#: ../rules/base.xml.in.h:174
+#: ../rules/base.xml.in.h:176
msgid "Compose key position"
msgstr "Position der Compose-Taste"
-#: ../rules/base.xml.in.h:175
+#: ../rules/base.xml.in.h:177
msgid "Congo, Democratic Republic of the"
msgstr "Demokratische Republik Kongo"
-#: ../rules/base.xml.in.h:176
+#: ../rules/base.xml.in.h:178
msgid "Control + Alt + Backspace"
msgstr "Strg + Alt + Löschtaste"
-#: ../rules/base.xml.in.h:177
+#: ../rules/base.xml.in.h:179
msgid "Control is mapped to Alt keys, Alt is mapped to Win keys"
msgstr "Strg ist den Alt-Tasten zugeordnet, Alt ist den Windows-Tasten zugeordnet"
-#: ../rules/base.xml.in.h:178
+#: ../rules/base.xml.in.h:180
msgid "Control is mapped to Win keys (and the usual Ctrl keys)"
msgstr "Strg ist den Win-Tasten zugeordnet (und den üblichen Strg-Tasten)"
-#: ../rules/base.xml.in.h:179
+#: ../rules/base.xml.in.h:181
msgid "Creative Desktop Wireless 7000"
msgstr "Creative Desktop Wireless 7000"
-#: ../rules/base.xml.in.h:180
+#: ../rules/base.xml.in.h:182
msgid "Crimean Tatar (Dobruca-1 Q)"
msgstr "Krimtatarisch (Dobruca-1 Q)"
-#: ../rules/base.xml.in.h:181
+#: ../rules/base.xml.in.h:183
msgid "Crimean Tatar (Dobruca-2 Q)"
msgstr "Krimtatarisch (Dobruca-2 Q)"
-#: ../rules/base.xml.in.h:182
+#: ../rules/base.xml.in.h:184
msgid "Crimean Tatar (Turkish Alt-Q)"
msgstr "Krimtatarisch (Türkisch Alt-Q)"
-#: ../rules/base.xml.in.h:183
+#: ../rules/base.xml.in.h:185
msgid "Crimean Tatar (Turkish F)"
msgstr "Krimtatarisch (Türkisch F)"
-#: ../rules/base.xml.in.h:184
+#: ../rules/base.xml.in.h:186
msgid "Crimean Tatar (Turkish Q)"
msgstr "Krimtatarisch (Türkisch Q)"
-#: ../rules/base.xml.in.h:185
+#: ../rules/base.xml.in.h:187
msgid "Croatia"
msgstr "Kroatien"
-#: ../rules/base.xml.in.h:186
+#: ../rules/base.xml.in.h:188
msgid "Ctrl key position"
msgstr "Position der Strg-Taste"
-#: ../rules/base.xml.in.h:187
+#: ../rules/base.xml.in.h:189
msgid "Ctrl+Shift"
msgstr "Strg+Umschalttaste"
-#: ../rules/base.xml.in.h:188
+#: ../rules/base.xml.in.h:190
msgid "Cyrillic"
msgstr "Kyrillisch"
-#: ../rules/base.xml.in.h:189
+#: ../rules/base.xml.in.h:191
msgid "Cyrillic with guillemets"
msgstr "Kyrillisch mit Anführungszeichen"
-#: ../rules/base.xml.in.h:190
+#: ../rules/base.xml.in.h:192
msgid "Cyrillic, Z and ZHE swapped"
msgstr "Kyrillisch, »З« und »Ж« vertauscht"
-#: ../rules/base.xml.in.h:191
+#: ../rules/base.xml.in.h:193
msgid "Cze"
msgstr "Cze"
-#: ../rules/base.xml.in.h:192
+#: ../rules/base.xml.in.h:194
msgid "Czechia"
msgstr "Tschechien"
-#: ../rules/base.xml.in.h:193
+#: ../rules/base.xml.in.h:195
msgid "DOS"
msgstr "DOS"
-#: ../rules/base.xml.in.h:194
+#: ../rules/base.xml.in.h:196
msgid "DTK2000"
msgstr "DTK2000"
-#: ../rules/base.xml.in.h:195
+#: ../rules/base.xml.in.h:197
msgid "Dead acute"
msgstr "Ohne Acute-(')Akzentzeichen"
-#: ../rules/base.xml.in.h:196
+#: ../rules/base.xml.in.h:198
msgid "Dead grave acute"
msgstr "Ohne Grave-(`) und Acute-(')Akzentzeichen"
-#: ../rules/base.xml.in.h:197
+#: ../rules/base.xml.in.h:199
msgid "Default numeric keypad keys"
msgstr "Vorgegebene Nummernblocktasten"
-#: ../rules/base.xml.in.h:198
+#: ../rules/base.xml.in.h:200
msgid "Dell"
msgstr "Dell"
-#: ../rules/base.xml.in.h:199
+#: ../rules/base.xml.in.h:201
msgid "Dell 101-key PC"
msgstr "Dell PC-Tastatur mit 101 Tasten"
-#: ../rules/base.xml.in.h:200
+#: ../rules/base.xml.in.h:202
msgid "Dell Laptop/notebook Inspiron 6xxx/8xxx"
msgstr "Dell Laptop/Notebook Inspiron 6xxx/8xxx"
-#: ../rules/base.xml.in.h:201
+#: ../rules/base.xml.in.h:203
msgid "Dell Laptop/notebook Precision M series"
msgstr "Dell Laptop/Notebook Precision-M-Serie"
-#: ../rules/base.xml.in.h:202
+#: ../rules/base.xml.in.h:204
msgid "Dell Latitude series laptop"
msgstr "Dell Latitude-Laptop"
-#: ../rules/base.xml.in.h:203
+#: ../rules/base.xml.in.h:205
msgid "Dell Precision M65"
msgstr "Dell Precision M65"
-#: ../rules/base.xml.in.h:204
+#: ../rules/base.xml.in.h:206
msgid "Dell SK-8125"
msgstr "Dell SK-8125"
-#: ../rules/base.xml.in.h:205
+#: ../rules/base.xml.in.h:207
msgid "Dell SK-8135"
msgstr "Dell SK-8135"
-#: ../rules/base.xml.in.h:206
+#: ../rules/base.xml.in.h:208
msgid "Dell USB Multimedia Keyboard"
msgstr "Dell USB Multimedia Keybard"
-#: ../rules/base.xml.in.h:207
+#: ../rules/base.xml.in.h:209
msgid "Denmark"
msgstr "Dänemark"
-#: ../rules/base.xml.in.h:208
+#: ../rules/base.xml.in.h:210
msgid "Deu"
msgstr "Deu"
-#: ../rules/base.xml.in.h:209
+#: ../rules/base.xml.in.h:211
msgid "Dexxa Wireless Desktop Keyboard"
msgstr "Dexxa Wireless Desktop Keyboard"
-#: ../rules/base.xml.in.h:210
+#: ../rules/base.xml.in.h:212
msgid "Diamond 9801 / 9802 series"
msgstr "Diamond 9801 / 9802-Serie"
-#: ../rules/base.xml.in.h:211
+#: ../rules/base.xml.in.h:213
msgid "Dnk"
msgstr "Dnk"
-#: ../rules/base.xml.in.h:212
+#: ../rules/base.xml.in.h:214
msgid "Dvorak"
msgstr "Dvorak"
-#: ../rules/base.xml.in.h:213
+#: ../rules/base.xml.in.h:215
msgid "Dvorak (UK Punctuation)"
msgstr "Dvorak (britische Punktierung)"
-#: ../rules/base.xml.in.h:214
+#: ../rules/base.xml.in.h:216
msgid "Dvorak alternative international (no dead keys)"
msgstr "Dvorak Alternative international (ohne Akzenttasten)"
-#: ../rules/base.xml.in.h:215
+#: ../rules/base.xml.in.h:217
msgid "Dvorak international (with dead keys)"
msgstr "Dvorak International (mit Akzenttasten)"
-#: ../rules/base.xml.in.h:216
+#: ../rules/base.xml.in.h:218
msgid "Dvorak, Polish quotes on key 1"
msgstr "Dvorak, polnische Anführungszeichen auf Taste 1"
-#: ../rules/base.xml.in.h:217
+#: ../rules/base.xml.in.h:219
msgid "Dvorak, Polish quotes on quotemark key"
msgstr "Dvorak, polnische Anführungszeichen auf Taste mit Zitatzeichen"
-#: ../rules/base.xml.in.h:218
+#: ../rules/base.xml.in.h:220
msgid "E"
msgstr "E"
-#: ../rules/base.xml.in.h:219
+#: ../rules/base.xml.in.h:221
msgid "Eastern"
msgstr "Östlich"
-#: ../rules/base.xml.in.h:220
+#: ../rules/base.xml.in.h:222
msgid "Eliminate dead keys"
msgstr "Akzenttasten deaktivieren"
-#: ../rules/base.xml.in.h:221
+#: ../rules/base.xml.in.h:223
msgid "Enable extra typographic characters"
msgstr "Typographische Sonderzeichen aktivieren"
-#: ../rules/base.xml.in.h:222
+#: ../rules/base.xml.in.h:224
msgid "English"
msgstr "Englisch"
-#: ../rules/base.xml.in.h:223
+#: ../rules/base.xml.in.h:225
msgid "English (USA International)"
msgstr "Englisch (USA International)"
-#: ../rules/base.xml.in.h:224
+#: ../rules/base.xml.in.h:226
msgid "English (USA Macintosh)"
msgstr "Englisch (USA Macintosh)"
-#: ../rules/base.xml.in.h:225
+#: ../rules/base.xml.in.h:227
msgid "Ennyah DKB-1008"
msgstr "Ennyah DKB-1008"
-#: ../rules/base.xml.in.h:226
+#: ../rules/base.xml.in.h:228
msgid "Enter on keypad"
msgstr "Eingabetaste im Nummernblock"
-#: ../rules/base.xml.in.h:227
+#: ../rules/base.xml.in.h:229
msgid "Epo"
msgstr "Epo"
-#: ../rules/base.xml.in.h:228
+#: ../rules/base.xml.in.h:230
msgid "Ergonomic"
msgstr "Ergonomic"
-#: ../rules/base.xml.in.h:229
+#: ../rules/base.xml.in.h:231
msgid "Esp"
msgstr "Esp"
-#: ../rules/base.xml.in.h:230
+#: ../rules/base.xml.in.h:232
msgid "Esperanto"
msgstr "Esperanto"
-#: ../rules/base.xml.in.h:231
+#: ../rules/base.xml.in.h:233
msgid "Est"
msgstr "Est"
-#: ../rules/base.xml.in.h:232
+#: ../rules/base.xml.in.h:234
msgid "Estonia"
msgstr "Estland"
-#: ../rules/base.xml.in.h:233
+#: ../rules/base.xml.in.h:235
msgid "Eth"
msgstr "Eth"
-#: ../rules/base.xml.in.h:234
+#: ../rules/base.xml.in.h:236
msgid "Ethiopia"
msgstr "Äthiopien"
-#: ../rules/base.xml.in.h:235
+#: ../rules/base.xml.in.h:237
msgid "Everex STEPnote"
msgstr "Everex STEPnote"
-#: ../rules/base.xml.in.h:236
+#: ../rules/base.xml.in.h:238
msgid "Ewe"
msgstr "Ewe"
-#: ../rules/base.xml.in.h:237
+#: ../rules/base.xml.in.h:239
msgid "Extended"
msgstr "Erweitert"
-#: ../rules/base.xml.in.h:238
+#: ../rules/base.xml.in.h:240
msgid "Extended - Winkeys"
msgstr "Erweitert - Windows-Tasten"
-#: ../rules/base.xml.in.h:239
+#: ../rules/base.xml.in.h:241
msgid "Extended Backslash"
msgstr "Erweiterter Backslash"
-#: ../rules/base.xml.in.h:240
+#: ../rules/base.xml.in.h:242
msgid "F-letter (F) variant"
msgstr "F-Variante"
-#: ../rules/base.xml.in.h:241
+#: ../rules/base.xml.in.h:243
msgid "FL90"
msgstr "FL90"
-#: ../rules/base.xml.in.h:242
+#: ../rules/base.xml.in.h:244
msgid "Faroe Islands"
msgstr "Färöer-Inseln"
-#: ../rules/base.xml.in.h:243
+#: ../rules/base.xml.in.h:245
msgid "Fin"
msgstr "Fin"
-#: ../rules/base.xml.in.h:244
+#: ../rules/base.xml.in.h:246
msgid "Finland"
msgstr "Finnland"
#. This assumes the KP_ abstract symbols are actually useful for some apps
#. The description needs to be rewritten
-#: ../rules/base.xml.in.h:247
+#: ../rules/base.xml.in.h:249
msgid "Four-level key with abstract separators"
msgstr "Taste der vierten Ebene mit abstrakten Trennern"
-#: ../rules/base.xml.in.h:248
+#: ../rules/base.xml.in.h:250
msgid "Four-level key with comma"
msgstr "Taste der vierten Ebene mit Komma"
-#: ../rules/base.xml.in.h:249
+#: ../rules/base.xml.in.h:251
msgid "Four-level key with dot"
msgstr "Taste der vierten Ebene mit Punkt"
-#: ../rules/base.xml.in.h:250
+#: ../rules/base.xml.in.h:252
msgid "Four-level key with dot, latin-9 restriction"
msgstr "Taste der vierten Ebene mit Punkt, latin-9-Einschränkung"
# momayyez? Was ist das?
-#: ../rules/base.xml.in.h:251
+#: ../rules/base.xml.in.h:253
msgid "Four-level key with momayyez"
msgstr "Taste der vierten Ebene mit »momayyez«"
-#: ../rules/base.xml.in.h:252
+#: ../rules/base.xml.in.h:254
msgid "Fra"
msgstr "Fra"
-#: ../rules/base.xml.in.h:253
+#: ../rules/base.xml.in.h:255
msgid "France"
msgstr "Frankreich"
-#: ../rules/base.xml.in.h:254
+#: ../rules/base.xml.in.h:256
msgid "Français (France Alternative)"
msgstr "Französisch (Französisch Alternative)"
-#: ../rules/base.xml.in.h:255
+#: ../rules/base.xml.in.h:257
msgid "French"
msgstr "Französisch"
-#: ../rules/base.xml.in.h:256
+#: ../rules/base.xml.in.h:258
msgid "French (Macintosh)"
msgstr "Französisch (Macintosh)"
-#: ../rules/base.xml.in.h:257
+#: ../rules/base.xml.in.h:259
msgid "French (legacy)"
msgstr "Französisch (veraltet)"
-#: ../rules/base.xml.in.h:258
+#: ../rules/base.xml.in.h:260
msgid "French Dvorak"
msgstr "Französisch (Dvorak)"
-#: ../rules/base.xml.in.h:259
+#: ../rules/base.xml.in.h:261
msgid "French, Sun dead keys"
msgstr "Französisch, Sun-Akzenttasten"
-#: ../rules/base.xml.in.h:260
+#: ../rules/base.xml.in.h:262
msgid "French, eliminate dead keys"
msgstr "Französisch, ohne Akzenttasten"
-#: ../rules/base.xml.in.h:261
+#: ../rules/base.xml.in.h:263
msgid "Fro"
msgstr "Fro"
-#: ../rules/base.xml.in.h:262
+#: ../rules/base.xml.in.h:264
msgid "Fujitsu-Siemens Computers AMILO laptop"
msgstr "Fujitsu-Siemens Computers AMILO Laptop"
-#: ../rules/base.xml.in.h:263
+#: ../rules/base.xml.in.h:265
msgid "Fula"
msgstr "Fula"
-#: ../rules/base.xml.in.h:264
+#: ../rules/base.xml.in.h:266
msgid "GBr"
msgstr "GBr"
-#: ../rules/base.xml.in.h:265
+#: ../rules/base.xml.in.h:267
msgid "GILLBT"
msgstr "GILLBT"
-#: ../rules/base.xml.in.h:266
+#: ../rules/base.xml.in.h:268
msgid "Ga"
msgstr "Ga"
-#: ../rules/base.xml.in.h:267
+#: ../rules/base.xml.in.h:269
msgid "Generic 101-key PC"
msgstr "Generische PC-Tastatur mit 101 Tasten"
-#: ../rules/base.xml.in.h:268
+#: ../rules/base.xml.in.h:270
msgid "Generic 102-key (Intl) PC"
msgstr "Generische PC-Tastatur mit 102 Tasten (Intl)"
-#: ../rules/base.xml.in.h:269
+#: ../rules/base.xml.in.h:271
msgid "Generic 104-key PC"
msgstr "Generische PC-Tastatur mit 104 Tasten"
-#: ../rules/base.xml.in.h:270
+#: ../rules/base.xml.in.h:272
msgid "Generic 105-key (Intl) PC"
msgstr "Generische PC-Tastatur mit 105 Tasten (Intl)"
-#: ../rules/base.xml.in.h:271
+#: ../rules/base.xml.in.h:273
msgid "Genius Comfy KB-12e"
msgstr "Genius Comfy KB-12e"
-#: ../rules/base.xml.in.h:272
+#: ../rules/base.xml.in.h:274
msgid "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
msgstr "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
-#: ../rules/base.xml.in.h:273
+#: ../rules/base.xml.in.h:275
msgid "Genius Comfy KB-21e-Scroll"
msgstr "Genius Comfy KB-21e-Scroll"
-#: ../rules/base.xml.in.h:274
+#: ../rules/base.xml.in.h:276
msgid "Genius KB-19e NB"
msgstr "Genius KB-19e NB"
-#: ../rules/base.xml.in.h:275
+#: ../rules/base.xml.in.h:277
msgid "Genius KKB-2050HS"
msgstr "Genius KKB-2050HS"
-#: ../rules/base.xml.in.h:276
+#: ../rules/base.xml.in.h:278
msgid "Geo"
msgstr "Geo"
-#: ../rules/base.xml.in.h:277
+#: ../rules/base.xml.in.h:279
msgid "Georgia"
msgstr "Georgien"
-#: ../rules/base.xml.in.h:278
+#: ../rules/base.xml.in.h:280
msgid "Georgian"
msgstr "Georgisch"
-#: ../rules/base.xml.in.h:279
+#: ../rules/base.xml.in.h:281
msgid "Georgian AZERTY Tskapo"
msgstr "Georgisch, AZERTY Tskapo"
-#: ../rules/base.xml.in.h:280
+#: ../rules/base.xml.in.h:282
msgid "German (Macintosh)"
msgstr "Deutsch (Macintosh)"
-#: ../rules/base.xml.in.h:281
+#: ../rules/base.xml.in.h:283
msgid "German, Sun dead keys"
msgstr "Deutsch, Sun-Akzenttasten"
-#: ../rules/base.xml.in.h:282
+#: ../rules/base.xml.in.h:284
msgid "German, eliminate dead keys"
msgstr "Deutsch, ohne Akzenttasten"
-#: ../rules/base.xml.in.h:283
+#: ../rules/base.xml.in.h:285
msgid "Germany"
msgstr "Deutschland"
-#: ../rules/base.xml.in.h:284
+#: ../rules/base.xml.in.h:286
msgid "Gha"
msgstr "Gha"
-#: ../rules/base.xml.in.h:285
+#: ../rules/base.xml.in.h:287
msgid "Ghana"
msgstr "Ghana"
-#: ../rules/base.xml.in.h:286
+#: ../rules/base.xml.in.h:288
msgid "Gin"
msgstr "Gin"
-#: ../rules/base.xml.in.h:287
+#: ../rules/base.xml.in.h:289
msgid "Grc"
msgstr "Grc"
-#: ../rules/base.xml.in.h:288
+#: ../rules/base.xml.in.h:290
msgid "Greece"
msgstr "Griechenland"
-#: ../rules/base.xml.in.h:289
+#: ../rules/base.xml.in.h:291
msgid "Guinea"
msgstr "Guinea"
-#: ../rules/base.xml.in.h:290
+#: ../rules/base.xml.in.h:292
msgid "Gujarati"
msgstr "Gujarati"
-#: ../rules/base.xml.in.h:291
+#: ../rules/base.xml.in.h:293
msgid "Gurmukhi"
msgstr "Gurmukhi"
-#: ../rules/base.xml.in.h:292
+#: ../rules/base.xml.in.h:294
msgid "Gurmukhi Jhelum"
msgstr "Gurmukhi Jhelum"
-#: ../rules/base.xml.in.h:293
+#: ../rules/base.xml.in.h:295
msgid "Gyration"
msgstr "Gyration"
-#: ../rules/base.xml.in.h:294
+#: ../rules/base.xml.in.h:296
msgid "Happy Hacking Keyboard"
msgstr "Happy Hacking Keyboard"
-#: ../rules/base.xml.in.h:295
+#: ../rules/base.xml.in.h:297
msgid "Happy Hacking Keyboard for Mac"
msgstr "»Happy Hacking Keyboard« für Mac"
-#: ../rules/base.xml.in.h:296
+#: ../rules/base.xml.in.h:298
msgid "Hausa"
msgstr "Haussa"
-#: ../rules/base.xml.in.h:297
+#: ../rules/base.xml.in.h:299
msgid "Hewlett-Packard Internet Keyboard"
msgstr "Hewlett-Packard Internet Keyboard"
-#: ../rules/base.xml.in.h:298
+#: ../rules/base.xml.in.h:300
msgid "Hewlett-Packard Mini 110 Notebook"
msgstr "Hewlett-Packard Mini 110 Notebook"
-#: ../rules/base.xml.in.h:299
+#: ../rules/base.xml.in.h:301
msgid "Hewlett-Packard Omnibook 500 FA"
msgstr "Hewlett-Packard Omnibook 500 FA"
-#: ../rules/base.xml.in.h:300
+#: ../rules/base.xml.in.h:302
msgid "Hewlett-Packard Omnibook 5xx"
msgstr "Hewlett-Packard Omnibook 5xx"
-#: ../rules/base.xml.in.h:301
+#: ../rules/base.xml.in.h:303
msgid "Hewlett-Packard Omnibook 6000/6100"
msgstr "Hewlett-Packard Omnibook 6000/6100"
-#: ../rules/base.xml.in.h:302
+#: ../rules/base.xml.in.h:304
msgid "Hewlett-Packard Omnibook XE3 GC"
msgstr "Hewlett-Packard Omnibook XE3 GC"
-#: ../rules/base.xml.in.h:303
+#: ../rules/base.xml.in.h:305
msgid "Hewlett-Packard Omnibook XE3 GF"
msgstr "Hewlett-Packard Omnibook XE3 GF"
-#: ../rules/base.xml.in.h:304
+#: ../rules/base.xml.in.h:306
msgid "Hewlett-Packard Omnibook XT1000"
msgstr "Hewlett-Packard Omnibook XT1000"
-#: ../rules/base.xml.in.h:305
+#: ../rules/base.xml.in.h:307
msgid "Hewlett-Packard Pavilion ZT11xx"
msgstr "Hewlett-Packard Pavilion ZT11xx"
-#: ../rules/base.xml.in.h:306
+#: ../rules/base.xml.in.h:308
msgid "Hewlett-Packard Pavilion dv5"
msgstr "Hewlett-Packard Pavilion dv5"
-#: ../rules/base.xml.in.h:307
+#: ../rules/base.xml.in.h:309
msgid "Hewlett-Packard SK-250x Multimedia Keyboard"
msgstr "Hewlett-Packard SK-250x Multimedia Keyboard"
-#: ../rules/base.xml.in.h:308
+#: ../rules/base.xml.in.h:310
msgid "Hewlett-Packard nx9020"
msgstr "Hewlett-Packard nx9020"
-#: ../rules/base.xml.in.h:309
+#: ../rules/base.xml.in.h:311
msgid "Hexadecimal"
msgstr "Hexadezimal"
-#: ../rules/base.xml.in.h:310
+#: ../rules/base.xml.in.h:312
msgid "Hindi Bolnagri"
msgstr "Hindi Bolnagri"
-#: ../rules/base.xml.in.h:311
+#: ../rules/base.xml.in.h:313
msgid "Hindi Wx"
msgstr "Hindi Wx"
-#: ../rules/base.xml.in.h:312
+#: ../rules/base.xml.in.h:314
msgid "Homophonic"
msgstr "Homophonic"
-#: ../rules/base.xml.in.h:313
+#: ../rules/base.xml.in.h:315
msgid "Honeywell Euroboard"
msgstr "Honeywell Euroboard"
-#: ../rules/base.xml.in.h:314
+#: ../rules/base.xml.in.h:316
msgid "Hrv"
msgstr "Hrv"
-#: ../rules/base.xml.in.h:315
+#: ../rules/base.xml.in.h:317
msgid "Hun"
msgstr "Hun"
-#: ../rules/base.xml.in.h:316
+#: ../rules/base.xml.in.h:318
msgid "Hungary"
msgstr "Ungarn"
-#: ../rules/base.xml.in.h:317
+#: ../rules/base.xml.in.h:319
msgid "Hyper is mapped to Win-keys"
msgstr "Hyper ist den Win-Tasten zugeordnet"
-#: ../rules/base.xml.in.h:318
+#: ../rules/base.xml.in.h:320
msgid "IBM (LST 1205-92)"
msgstr "IBM (LST 1205-92)"
-#: ../rules/base.xml.in.h:319
+#: ../rules/base.xml.in.h:321
msgid "IBM Rapid Access"
msgstr "IBM Rapid Access"
-#: ../rules/base.xml.in.h:320
+#: ../rules/base.xml.in.h:322
msgid "IBM Rapid Access II"
msgstr "IBM Rapid Access II"
-#: ../rules/base.xml.in.h:321
+#: ../rules/base.xml.in.h:323
msgid "IBM Space Saver"
msgstr "IBM Space Saver"
-#: ../rules/base.xml.in.h:322
+#: ../rules/base.xml.in.h:324
msgid "IBM ThinkPad 560Z/600/600E/A22E"
msgstr "IBM ThinkPad 560Z/600/600E/A22E"
-#: ../rules/base.xml.in.h:323
+#: ../rules/base.xml.in.h:325
msgid "IBM ThinkPad R60/T60/R61/T61"
msgstr "IBM ThinkPad R60/T60/R61/T61"
-#: ../rules/base.xml.in.h:324
+#: ../rules/base.xml.in.h:326
msgid "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
msgstr "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
-#: ../rules/base.xml.in.h:325
+#: ../rules/base.xml.in.h:327
msgid "ISO Alternate"
msgstr "ISO-Alternative"
-#: ../rules/base.xml.in.h:326
+#: ../rules/base.xml.in.h:328
msgid "Iceland"
msgstr "Island"
-#: ../rules/base.xml.in.h:327
+#: ../rules/base.xml.in.h:329
msgid "Igbo"
msgstr "Igbo"
-#: ../rules/base.xml.in.h:328
+#: ../rules/base.xml.in.h:330
msgid "Include dead tilde"
msgstr "Akzent-Tilde einschließen"
-#: ../rules/base.xml.in.h:329
+#: ../rules/base.xml.in.h:331
msgid "Ind"
msgstr "Ind"
-#: ../rules/base.xml.in.h:330
+#: ../rules/base.xml.in.h:332
msgid "India"
msgstr "Indien"
-#: ../rules/base.xml.in.h:331
+#: ../rules/base.xml.in.h:333
msgid "International (AltGr dead keys)"
msgstr "International (AltGr-Akzenttasten)"
-#: ../rules/base.xml.in.h:332
+#: ../rules/base.xml.in.h:334
msgid "International (with dead keys)"
msgstr "International (mit Akzenttasten)"
-#: ../rules/base.xml.in.h:333
+#: ../rules/base.xml.in.h:335
msgid "Inuktitut"
msgstr "Inuktitut"
-#: ../rules/base.xml.in.h:334
+#: ../rules/base.xml.in.h:336 ../rules/base.extras.xml.in.h:8
msgid "Iran"
msgstr "Iran"
-#: ../rules/base.xml.in.h:335
+#: ../rules/base.xml.in.h:337
msgid "Iraq"
msgstr "Irak"
-#: ../rules/base.xml.in.h:336
+#: ../rules/base.xml.in.h:338
msgid "Ireland"
msgstr "Irland"
-#: ../rules/base.xml.in.h:337
+#: ../rules/base.xml.in.h:339
msgid "Irl"
msgstr "Irl"
-#: ../rules/base.xml.in.h:338
+#: ../rules/base.xml.in.h:340
msgid "Irn"
msgstr "Irn"
-#: ../rules/base.xml.in.h:339
+#: ../rules/base.xml.in.h:341
msgid "Irq"
msgstr "Irq"
-#: ../rules/base.xml.in.h:340
+#: ../rules/base.xml.in.h:342
msgid "Isl"
msgstr "Isl"
-#: ../rules/base.xml.in.h:341
+#: ../rules/base.xml.in.h:343
msgid "Isr"
msgstr "Isr"
-#: ../rules/base.xml.in.h:342
+#: ../rules/base.xml.in.h:344
msgid "Israel"
msgstr "Israel"
-#: ../rules/base.xml.in.h:343
+#: ../rules/base.xml.in.h:345
msgid "Ita"
msgstr "Ita"
-#: ../rules/base.xml.in.h:344
+#: ../rules/base.xml.in.h:346
msgid "Italy"
msgstr "Italien"
-#: ../rules/base.xml.in.h:345
+#: ../rules/base.xml.in.h:347
msgid "Japan"
msgstr "Japan"
-#: ../rules/base.xml.in.h:346
+#: ../rules/base.xml.in.h:348
msgid "Japan (PC-98xx Series)"
msgstr "Japan (PC-98xx-Serie)"
-#: ../rules/base.xml.in.h:347
+#: ../rules/base.xml.in.h:349
msgid "Japanese keyboard options"
msgstr "Japanische Tastaturoptionen"
-#: ../rules/base.xml.in.h:348
+#: ../rules/base.xml.in.h:350
msgid "Jpn"
msgstr "Jpn"
-#: ../rules/base.xml.in.h:349
+#: ../rules/base.xml.in.h:351
msgid "Kalmyk"
msgstr "Kalmückisch"
-#: ../rules/base.xml.in.h:350
+#: ../rules/base.xml.in.h:352
msgid "Kana"
msgstr "Kana"
-#: ../rules/base.xml.in.h:351
+#: ../rules/base.xml.in.h:353
msgid "Kana Lock key is locking"
msgstr "Kana-Sperrtaste ist gesperrt"
-#: ../rules/base.xml.in.h:352
+#: ../rules/base.xml.in.h:354
msgid "Kannada"
msgstr "Kannada"
-#: ../rules/base.xml.in.h:353
+#: ../rules/base.xml.in.h:355
msgid "Kashubian"
msgstr "Kaschubisch"
-#: ../rules/base.xml.in.h:354
+#: ../rules/base.xml.in.h:356
msgid "Kaz"
msgstr "Kaz"
-#: ../rules/base.xml.in.h:355
+#: ../rules/base.xml.in.h:357
msgid "Kazakh with Russian"
msgstr "Kasachisch mit russischer Belegung"
-#: ../rules/base.xml.in.h:356
+#: ../rules/base.xml.in.h:358
msgid "Kazakhstan"
msgstr "Kasachstan"
-#: ../rules/base.xml.in.h:357
+#: ../rules/base.xml.in.h:359
msgid "Ken"
msgstr "Ken"
-#: ../rules/base.xml.in.h:358
+#: ../rules/base.xml.in.h:360
msgid "Kenya"
msgstr "Kenia"
-#: ../rules/base.xml.in.h:359
+#: ../rules/base.xml.in.h:361
msgid "Key sequence to kill the X server"
msgstr "Tastenkombination zum erzwungenen Beenden des X-Servers"
-#: ../rules/base.xml.in.h:360
+#: ../rules/base.xml.in.h:362
msgid "Key to choose 3rd level"
msgstr "Taste zum Wechsel in die dritte Tastaturebene"
-#: ../rules/base.xml.in.h:361
+#: ../rules/base.xml.in.h:363
msgid "Key to choose 5th level"
msgstr "Taste zum Wechsel in die fünfte Tastaturebene"
-#: ../rules/base.xml.in.h:362
+#: ../rules/base.xml.in.h:364
msgid "Key(s) to change layout"
msgstr "Taste(n) zum Wechseln der Belegung"
-#: ../rules/base.xml.in.h:363
+#: ../rules/base.xml.in.h:365
msgid "Keytronic FlexPro"
msgstr "Keytronic FlexPro"
-#: ../rules/base.xml.in.h:364
+#: ../rules/base.xml.in.h:366
msgid "Kgz"
msgstr "Kgz"
-#: ../rules/base.xml.in.h:365
+#: ../rules/base.xml.in.h:367
msgid "Khm"
msgstr "Khm"
-#: ../rules/base.xml.in.h:366
+#: ../rules/base.xml.in.h:368
msgid "Kikuyu"
msgstr "Kikuyu"
-#: ../rules/base.xml.in.h:367
+#: ../rules/base.xml.in.h:369
+msgid "Kinesis"
+msgstr "Kinesis"
+
+#: ../rules/base.xml.in.h:370
msgid "Komi"
msgstr "Komi"
-#: ../rules/base.xml.in.h:368
+#: ../rules/base.xml.in.h:371
msgid "Kor"
msgstr "Kor"
-#: ../rules/base.xml.in.h:369
+#: ../rules/base.xml.in.h:372
msgid "Korea, Republic of"
msgstr "Korea, Republik"
-#: ../rules/base.xml.in.h:370
+#: ../rules/base.xml.in.h:373
msgid "Ktunaxa"
msgstr "Ktunaxa"
-#: ../rules/base.xml.in.h:371
+#: ../rules/base.xml.in.h:374
msgid "Kurdish, (F)"
msgstr "Kurdisch, (F)"
-#: ../rules/base.xml.in.h:372
+#: ../rules/base.xml.in.h:375
msgid "Kurdish, Arabic-Latin"
msgstr "Kurdisch, Arabisch-Lateinisch"
-#: ../rules/base.xml.in.h:373
+#: ../rules/base.xml.in.h:376
msgid "Kurdish, Latin Alt-Q"
msgstr "Kurdisch, Lateinisches Alt-Q"
-#: ../rules/base.xml.in.h:374
+#: ../rules/base.xml.in.h:377
msgid "Kurdish, Latin Q"
msgstr "Kurdisch, Lateinisches Q"
-#: ../rules/base.xml.in.h:375
+#: ../rules/base.xml.in.h:378
msgid "Kyrgyzstan"
msgstr "Kirgisistan"
-#: ../rules/base.xml.in.h:376
+#: ../rules/base.xml.in.h:379
msgid "LAm"
msgstr "LAm"
-#: ../rules/base.xml.in.h:377
+#: ../rules/base.xml.in.h:380
msgid "LEKP"
msgstr "LEKP"
-#: ../rules/base.xml.in.h:378
+#: ../rules/base.xml.in.h:381
msgid "LEKPa"
msgstr "LEKPa"
-#: ../rules/base.xml.in.h:379
+#: ../rules/base.xml.in.h:382
msgid "Lao"
msgstr "Lao"
-#: ../rules/base.xml.in.h:380
+#: ../rules/base.xml.in.h:383
msgid "Laos"
msgstr "Laos"
-#: ../rules/base.xml.in.h:381
+#: ../rules/base.xml.in.h:384
msgid "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard"
msgstr "Compaq Laptop/Notebook-Tastatur (z.B. Armada) Laptop-Tastatur"
-#: ../rules/base.xml.in.h:382
+#: ../rules/base.xml.in.h:385
msgid "Laptop/notebook Compaq (eg. Presario) Internet Keyboard"
msgstr "Compaq Laptop/Notebook-Tastatur (z.B. Presario) Laptop-Tastatur"
-#: ../rules/base.xml.in.h:383
+#: ../rules/base.xml.in.h:386
msgid "Laptop/notebook eMachines m68xx"
msgstr "Laptop/notebook eMachines m68xx"
-#: ../rules/base.xml.in.h:384
+#: ../rules/base.xml.in.h:387
msgid "Latin"
msgstr "Latein"
-#: ../rules/base.xml.in.h:385
+#: ../rules/base.xml.in.h:388
msgid "Latin American"
msgstr "Lateinamerikanisch"
-#: ../rules/base.xml.in.h:386
+#: ../rules/base.xml.in.h:389
msgid "Latin Unicode"
msgstr "Latein (Unicode)"
-#: ../rules/base.xml.in.h:387
+#: ../rules/base.xml.in.h:390
msgid "Latin Unicode qwerty"
msgstr "Lateinische qwerty-Tastatur (Unicode)"
-#: ../rules/base.xml.in.h:388
+#: ../rules/base.xml.in.h:391
msgid "Latin qwerty"
msgstr "Lateinische qwerty-Tastatur"
-#: ../rules/base.xml.in.h:389
+#: ../rules/base.xml.in.h:392
msgid "Latin unicode"
msgstr "Latein (Unicode)"
-#: ../rules/base.xml.in.h:390
+#: ../rules/base.xml.in.h:393
msgid "Latin unicode qwerty"
msgstr "Lateinische qwerty-Tastatur (Unicode)"
-#: ../rules/base.xml.in.h:391
+#: ../rules/base.xml.in.h:394
msgid "Latin with guillemets"
msgstr "Lateinisch mit Anführungszeichen"
-#: ../rules/base.xml.in.h:392
+#: ../rules/base.xml.in.h:395
msgid "Latvia"
msgstr "Lettland"
-#: ../rules/base.xml.in.h:393
+#: ../rules/base.xml.in.h:396
msgid "Layout toggle on multiply/divide key"
msgstr "Belegungsumschalter auf der Multiplikations-/Divisionstaste"
-#: ../rules/base.xml.in.h:394
+#: ../rules/base.xml.in.h:397
msgid "Left Alt"
msgstr "Linke Alt-Taste"
-#: ../rules/base.xml.in.h:395
+#: ../rules/base.xml.in.h:398
msgid "Left Alt (while pressed)"
msgstr "Linke Alt-Taste (gedrückt halten)"
-#: ../rules/base.xml.in.h:396
+#: ../rules/base.xml.in.h:399
msgid "Left Alt is swapped with Left Win"
msgstr "Linke Alt-Taste ist gegen linke Windows-Taste vertauscht"
-#: ../rules/base.xml.in.h:397
+#: ../rules/base.xml.in.h:400
msgid "Left Ctrl"
msgstr "Linke Strg-Taste"
-#: ../rules/base.xml.in.h:398
+#: ../rules/base.xml.in.h:401
msgid "Left Ctrl (to first layout), Right Ctrl (to last layout)"
msgstr "Linke Strg-Taste (zur ersten Belegung), rechte Strg-Taste (zur letzten Belegung)"
-#: ../rules/base.xml.in.h:399
+#: ../rules/base.xml.in.h:402
msgid "Left Ctrl+Left Shift"
msgstr "Linke Strg-Taste+Linke Umschalttaste"
-#: ../rules/base.xml.in.h:400
+#: ../rules/base.xml.in.h:403
msgid "Left Shift"
msgstr "Linke Umschalttaste"
-#: ../rules/base.xml.in.h:401
+#: ../rules/base.xml.in.h:404
msgid "Left Win"
msgstr "Linke Windows-Taste"
-#: ../rules/base.xml.in.h:402
+#: ../rules/base.xml.in.h:405
msgid "Left Win (to first layout), Right Win/Menu (to last layout)"
msgstr "Linke Windows-Taste (zur ersten Belegung), rechte Windows/Menütaste (zur letzten Belegung)"
-#: ../rules/base.xml.in.h:403
+#: ../rules/base.xml.in.h:406
msgid "Left Win (while pressed)"
msgstr "Linke Windows-Taste (gedrückt halten)"
-#: ../rules/base.xml.in.h:404
+#: ../rules/base.xml.in.h:407
msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "Linke Win-Taste wählt die fünfte Ebene, sperrt wenn gedrückt, zusammen mit einer anderen Taste zum Wählen der fünften Ebene"
-#: ../rules/base.xml.in.h:405
+#: ../rules/base.xml.in.h:408
msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "Linke Win-Taste wählt die fünfte Ebene, sperrt wenn gedrückt, zusammen mit einer anderen Taste zum Wählen der fünften Ebene. Einmaliges Drücken löst die Sperrung."
-#: ../rules/base.xml.in.h:406
+#: ../rules/base.xml.in.h:409
msgid "Left hand"
msgstr "Linkshändig"
-#: ../rules/base.xml.in.h:407
+#: ../rules/base.xml.in.h:410
msgid "Left handed Dvorak"
msgstr "Dvorak (linkshändig)"
-#: ../rules/base.xml.in.h:408
+#: ../rules/base.xml.in.h:411
msgid "Legacy"
msgstr "Veraltet"
-#: ../rules/base.xml.in.h:409
+#: ../rules/base.xml.in.h:412
msgid "Legacy Wang 724"
msgstr "Wang 724 (veraltet)"
#. Actually, with KP_SEPARATOR, as the old keypad(comma)
-#: ../rules/base.xml.in.h:411
+#: ../rules/base.xml.in.h:414
msgid "Legacy key with comma"
msgstr "Veraltete Taste mit Komma"
-#: ../rules/base.xml.in.h:412
+#: ../rules/base.xml.in.h:415
msgid "Legacy key with dot"
msgstr "Veraltete Taste mit Punkt"
-#: ../rules/base.xml.in.h:413
+#: ../rules/base.xml.in.h:416
msgid "Lithuania"
msgstr "Litauen"
-#: ../rules/base.xml.in.h:414
+#: ../rules/base.xml.in.h:417
msgid "Lka"
msgstr "Lka"
-#: ../rules/base.xml.in.h:415
+#: ../rules/base.xml.in.h:418
msgid "Logitech Access Keyboard"
msgstr "Logitech Access Keyboard"
-#: ../rules/base.xml.in.h:416
+#: ../rules/base.xml.in.h:419
msgid "Logitech Cordless Desktop"
msgstr "Logitech Cordless Desktop"
-#: ../rules/base.xml.in.h:417
+#: ../rules/base.xml.in.h:420
msgid "Logitech Cordless Desktop (alternate option)"
msgstr "Logitech Cordless Desktop (alternative Option)"
-#: ../rules/base.xml.in.h:418
+#: ../rules/base.xml.in.h:421
msgid "Logitech Cordless Desktop EX110"
msgstr "Logitech Cordless Desktop EX110"
-#: ../rules/base.xml.in.h:419
+#: ../rules/base.xml.in.h:422
msgid "Logitech Cordless Desktop LX-300"
msgstr "Logitech Cordless Desktop LX-300"
-#: ../rules/base.xml.in.h:420
+#: ../rules/base.xml.in.h:423
msgid "Logitech Cordless Desktop Navigator"
msgstr "Logitech Cordless Desktop Navigator"
-#: ../rules/base.xml.in.h:421
+#: ../rules/base.xml.in.h:424
msgid "Logitech Cordless Desktop Optical"
msgstr "Logitech Cordless Desktop Optical"
-#: ../rules/base.xml.in.h:422
+#: ../rules/base.xml.in.h:425
msgid "Logitech Cordless Desktop Pro (alternate option 2)"
msgstr "Logitech Cordless Desktop Pro (alternative Option 2)"
-#: ../rules/base.xml.in.h:423
+#: ../rules/base.xml.in.h:426
msgid "Logitech Cordless Desktop iTouch"
msgstr "Logitech Cordless Desktop iTouch"
-#: ../rules/base.xml.in.h:424
+#: ../rules/base.xml.in.h:427
msgid "Logitech Cordless Freedom/Desktop Navigator"
msgstr "Logitech Cordless Freedom/Desktop Navigator"
-#: ../rules/base.xml.in.h:425
+#: ../rules/base.xml.in.h:428
msgid "Logitech G15 extra keys via G15daemon"
msgstr "Logitech G15-Sondertasten über den G1-Daemon"
-#: ../rules/base.xml.in.h:426
+#: ../rules/base.xml.in.h:429
msgid "Logitech Generic Keyboard"
msgstr "Generische Logitech-Tastatur"
-#: ../rules/base.xml.in.h:427
+#: ../rules/base.xml.in.h:430
msgid "Logitech Internet 350 Keyboard"
msgstr "Logitech Internet 350 Keyboard"
-#: ../rules/base.xml.in.h:428
+#: ../rules/base.xml.in.h:431
msgid "Logitech Internet Keyboard"
msgstr "Logitech Internet Keyboard"
-#: ../rules/base.xml.in.h:429
+#: ../rules/base.xml.in.h:432
msgid "Logitech Internet Navigator Keyboard"
msgstr "Logitech Internet Navigator Keyboard"
-#: ../rules/base.xml.in.h:430
+#: ../rules/base.xml.in.h:433
msgid "Logitech Media Elite Keyboard"
msgstr "Logitech Media Elite Keyboard"
-#: ../rules/base.xml.in.h:431
+#: ../rules/base.xml.in.h:434
msgid "Logitech Ultra-X Cordless Media Desktop Keyboard"
msgstr "Logitech Ultra-X Cordless Media Desktop Keyboard"
-#: ../rules/base.xml.in.h:432
+#: ../rules/base.xml.in.h:435
msgid "Logitech Ultra-X Keyboard"
msgstr "Logitech Ultra-X Keyboard"
-#: ../rules/base.xml.in.h:433
+#: ../rules/base.xml.in.h:436
msgid "Logitech diNovo Edge Keyboard"
msgstr "Logitech diNovo Edge Keyboard"
-#: ../rules/base.xml.in.h:434
+#: ../rules/base.xml.in.h:437
msgid "Logitech diNovo Keyboard"
msgstr "Logitech diNovo Keyboard"
-#: ../rules/base.xml.in.h:435
+#: ../rules/base.xml.in.h:438
msgid "Logitech iTouch"
msgstr "Logitech iTouch"
-#: ../rules/base.xml.in.h:436
+#: ../rules/base.xml.in.h:439
msgid "Logitech iTouch Cordless Keyboard (model Y-RB6)"
msgstr "Logitech iTouch Cordless Keyboard (Modell Y-RB6)"
-#: ../rules/base.xml.in.h:437
+#: ../rules/base.xml.in.h:440
msgid "Logitech iTouch Internet Navigator Keyboard SE"
msgstr "Logitech iTouch Internet Navigator Keyboard SE"
-#: ../rules/base.xml.in.h:438
+#: ../rules/base.xml.in.h:441
msgid "Logitech iTouch Internet Navigator Keyboard SE (USB)"
msgstr "Logitech iTouch Internet Navigator Keyboard SE (USB)"
-#: ../rules/base.xml.in.h:439
+#: ../rules/base.xml.in.h:442
msgid "Lower Sorbian"
msgstr "Niedersorbisch"
-#: ../rules/base.xml.in.h:440
+#: ../rules/base.xml.in.h:443
msgid "Lower Sorbian (qwertz)"
msgstr "Niedersorbisch (qwertz)"
-#: ../rules/base.xml.in.h:441
+#: ../rules/base.xml.in.h:444
msgid "Ltu"
msgstr "Ltu"
-#: ../rules/base.xml.in.h:442
+#: ../rules/base.xml.in.h:445
msgid "Lva"
msgstr "Lva"
-#: ../rules/base.xml.in.h:443
+#: ../rules/base.xml.in.h:446
msgid "MESS"
msgstr "MESS"
-#: ../rules/base.xml.in.h:444
+#: ../rules/base.xml.in.h:447
msgid "MNE"
msgstr "MNE"
-#: ../rules/base.xml.in.h:445
+#: ../rules/base.xml.in.h:448
msgid "MacBook/MacBook Pro"
msgstr "MacBook/MacBook Pro"
-#: ../rules/base.xml.in.h:446
+#: ../rules/base.xml.in.h:449
msgid "MacBook/MacBook Pro (Intl)"
msgstr "MacBook/MacBook Pro (Intl)"
-#: ../rules/base.xml.in.h:447
+#: ../rules/base.xml.in.h:450
msgid "Macedonia"
msgstr "Mazedonien"
-#: ../rules/base.xml.in.h:448
+#: ../rules/base.xml.in.h:451
msgid "Macintosh"
msgstr "Macintosh"
-#: ../rules/base.xml.in.h:449
+#: ../rules/base.xml.in.h:452
+msgid "Macintosh (International)"
+msgstr "Macintosh (International)"
+
+#: ../rules/base.xml.in.h:453
msgid "Macintosh Old"
msgstr "Macintosh (Alt)"
-#: ../rules/base.xml.in.h:450
+#: ../rules/base.xml.in.h:454
msgid "Macintosh, Sun dead keys"
msgstr "Macintosh, Sun-Akzenttasten"
-#: ../rules/base.xml.in.h:451
+#: ../rules/base.xml.in.h:455
msgid "Macintosh, eliminate dead keys"
msgstr "Macintosh (ohne Akzenttasten)"
-#: ../rules/base.xml.in.h:452
-msgid "Make CapsLock an additional Backspace"
+#: ../rules/base.xml.in.h:456
+msgid "Make Caps Lock an additional Backspace"
msgstr "Feststelltaste als zusätzliche Löschtaste verwenden"
-#: ../rules/base.xml.in.h:453
-msgid "Make CapsLock an additional Ctrl"
+#: ../rules/base.xml.in.h:457
+msgid "Make Caps Lock an additional Ctrl"
msgstr "Feststelltaste als zusätzliche Strg-Taste verwenden"
-#: ../rules/base.xml.in.h:454
-msgid "Make CapsLock an additional ESC"
-msgstr "Feststelltaste als zusätzliche Esc-Taste verwenden."
+#: ../rules/base.xml.in.h:458
+msgid "Make Caps Lock an additional ESC"
+msgstr "Feststelltaste als zusätzliche Esc-Taste verwenden"
-#: ../rules/base.xml.in.h:455
-msgid "Make CapsLock an additional Hyper"
+#: ../rules/base.xml.in.h:459
+msgid "Make Caps Lock an additional Hyper"
msgstr "Feststelltaste als zusätzliche Hyper-Taste verwenden"
-#: ../rules/base.xml.in.h:456
-msgid "Make CapsLock an additional NumLock"
-msgstr "Feststelltaste als zusätzliche NumLock-Taste verwenden."
+#: ../rules/base.xml.in.h:460
+msgid "Make Caps Lock an additional Num Lock"
+msgstr "Feststelltaste als zusätzliche NumLock-Taste verwenden"
-#: ../rules/base.xml.in.h:457
-msgid "Make CapsLock an additional Super"
-msgstr "Feststelltaste als zusätzliche Super-Taste verwenden."
+#: ../rules/base.xml.in.h:461
+msgid "Make Caps Lock an additional Super"
+msgstr "Feststelltaste als zusätzliche Super-Taste verwenden"
-#: ../rules/base.xml.in.h:458
+#: ../rules/base.xml.in.h:462
msgid "Malayalam"
msgstr "Malayalam"
-#: ../rules/base.xml.in.h:459
+#: ../rules/base.xml.in.h:463
msgid "Malayalam Lalitha"
msgstr "Malayalam Lalitha"
-#: ../rules/base.xml.in.h:460
+#: ../rules/base.xml.in.h:464
msgid "Maldives"
msgstr "Malediven"
-#: ../rules/base.xml.in.h:461
+#: ../rules/base.xml.in.h:465
msgid "Mali"
msgstr "Mali"
-#: ../rules/base.xml.in.h:462
+#: ../rules/base.xml.in.h:466
msgid "Malta"
msgstr "Malta"
-#: ../rules/base.xml.in.h:463
+#: ../rules/base.xml.in.h:467
msgid "Maltese keyboard with US layout"
msgstr "Maltesische Tastatur mit US-Belegung"
-#: ../rules/base.xml.in.h:464
+#: ../rules/base.xml.in.h:468
msgid "Mao"
msgstr "Mao"
-#: ../rules/base.xml.in.h:465
+#: ../rules/base.xml.in.h:469
msgid "Maori"
msgstr "Maori"
-#: ../rules/base.xml.in.h:466
+#: ../rules/base.xml.in.h:470
msgid "Mdv"
msgstr "Mdv"
-#: ../rules/base.xml.in.h:467
+#: ../rules/base.xml.in.h:471
msgid "Memorex MX1998"
msgstr "Memorex MX1998"
-#: ../rules/base.xml.in.h:468
+#: ../rules/base.xml.in.h:472
msgid "Memorex MX2500 EZ-Access Keyboard"
msgstr "Memorex MX2500 EZ-Access Keyboard"
-#: ../rules/base.xml.in.h:469
+#: ../rules/base.xml.in.h:473
msgid "Memorex MX2750"
msgstr "Memorex MX2750"
-#: ../rules/base.xml.in.h:470
+#: ../rules/base.xml.in.h:474
msgid "Menu"
msgstr "Menü"
-#: ../rules/base.xml.in.h:471
+#: ../rules/base.xml.in.h:475
msgid "Meta is mapped to Left Win"
msgstr "Meta ist der linken Windows-Taste zugeordnet"
-#: ../rules/base.xml.in.h:472
+#: ../rules/base.xml.in.h:476
msgid "Meta is mapped to Win keys"
msgstr "Meta ist den Windows-Tasten zugeordnet"
-#: ../rules/base.xml.in.h:473
+#: ../rules/base.xml.in.h:477
msgid "Microsoft Comfort Curve Keyboard 2000"
msgstr "Microsoft Comfort Curve Keyboard 2000"
-#: ../rules/base.xml.in.h:474
+#: ../rules/base.xml.in.h:478
msgid "Microsoft Internet Keyboard"
msgstr "Microsoft Internet Keyboard"
-#: ../rules/base.xml.in.h:475
+#: ../rules/base.xml.in.h:479
msgid "Microsoft Internet Keyboard Pro, Swedish"
msgstr "Microsoft Internet Keyboard Pro, Schwedisch"
-#: ../rules/base.xml.in.h:476
+#: ../rules/base.xml.in.h:480
msgid "Microsoft Natural"
msgstr "Microsoft Natural"
-#: ../rules/base.xml.in.h:477
+#: ../rules/base.xml.in.h:481
msgid "Microsoft Natural Keyboard Elite"
msgstr "Microsoft Natural Keyboard Elite"
-#: ../rules/base.xml.in.h:478
+#: ../rules/base.xml.in.h:482
msgid "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
msgstr "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
-#: ../rules/base.xml.in.h:479
+#: ../rules/base.xml.in.h:483
msgid "Microsoft Natural Keyboard Pro OEM"
msgstr "Microsoft Natural Keyboard Pro OEM"
-#: ../rules/base.xml.in.h:480
+#: ../rules/base.xml.in.h:484
msgid "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
msgstr "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
-#: ../rules/base.xml.in.h:481
+#: ../rules/base.xml.in.h:485
msgid "Microsoft Natural Wireless Ergonomic Keyboard 7000"
msgstr "Microsoft Natural Wireless Ergonomic Keyboard 7000"
-#: ../rules/base.xml.in.h:482
+#: ../rules/base.xml.in.h:486
msgid "Microsoft Office Keyboard"
msgstr "Microsoft Office Keyboard"
-#: ../rules/base.xml.in.h:483
+#: ../rules/base.xml.in.h:487
msgid "Microsoft Wireless Multimedia Keyboard 1.0A"
msgstr "Microsoft Wireless Multimedia Keyboard 1.0A"
-#: ../rules/base.xml.in.h:484
+#: ../rules/base.xml.in.h:488
msgid "Miscellaneous compatibility options"
msgstr "Verschiedene Optionen zur Kompatibilität"
-#: ../rules/base.xml.in.h:485
+#: ../rules/base.xml.in.h:489
msgid "Mkd"
msgstr "Mkd"
-#: ../rules/base.xml.in.h:486
+#: ../rules/base.xml.in.h:490
msgid "Mli"
msgstr "Mli"
-#: ../rules/base.xml.in.h:487
+#: ../rules/base.xml.in.h:491
msgid "Mlt"
msgstr "Mlt"
-#: ../rules/base.xml.in.h:488
+#: ../rules/base.xml.in.h:492
msgid "Mmr"
msgstr "Mmr"
-#: ../rules/base.xml.in.h:489
+#: ../rules/base.xml.in.h:493
msgid "Mng"
msgstr "Mng"
-#: ../rules/base.xml.in.h:490
+#: ../rules/base.xml.in.h:494
msgid "Mongolia"
msgstr "Mongolei"
-#: ../rules/base.xml.in.h:491
+#: ../rules/base.xml.in.h:495
msgid "Montenegro"
msgstr "Montenegro"
-#: ../rules/base.xml.in.h:492
+#: ../rules/base.xml.in.h:496
msgid "Morocco"
msgstr "Marokko"
-#: ../rules/base.xml.in.h:493
+#: ../rules/base.xml.in.h:497
msgid "Multilingual"
msgstr "Mehrsprachig"
-#: ../rules/base.xml.in.h:494
+#: ../rules/base.xml.in.h:498
msgid "Multilingual, first part"
msgstr "Mehrsprachig, erster Teil"
-#: ../rules/base.xml.in.h:495
+#: ../rules/base.xml.in.h:499
msgid "Multilingual, second part"
msgstr "Mehrsprachig, zweiter Teil"
-#: ../rules/base.xml.in.h:496
+#: ../rules/base.xml.in.h:500
msgid "Myanmar"
msgstr "Myanmar"
-#: ../rules/base.xml.in.h:497
+#: ../rules/base.xml.in.h:501
msgid "NICOLA-F style Backspace"
msgstr "Löschtaste wie NICOLA-F"
-#: ../rules/base.xml.in.h:498
+#: ../rules/base.xml.in.h:502
msgid "NLA"
msgstr "NLA"
-#: ../rules/base.xml.in.h:499
+#: ../rules/base.xml.in.h:503
msgid "Nativo"
msgstr "Nativo"
-#: ../rules/base.xml.in.h:500
+#: ../rules/base.xml.in.h:504
msgid "Nativo for Esperanto"
msgstr "Nativo für Esperanto"
-#: ../rules/base.xml.in.h:501
+#: ../rules/base.xml.in.h:505
msgid "Nativo for USA keyboards"
msgstr "Nativo für US-Tastaturen"
-#: ../rules/base.xml.in.h:502
+#: ../rules/base.xml.in.h:506
msgid "Neo 2"
msgstr "Neo 2"
-#: ../rules/base.xml.in.h:503
+#: ../rules/base.xml.in.h:507
msgid "Nepal"
msgstr "Nepal"
-#: ../rules/base.xml.in.h:504
+#: ../rules/base.xml.in.h:508
msgid "Netherlands"
msgstr "Niederlande"
-#: ../rules/base.xml.in.h:505
+#: ../rules/base.xml.in.h:509
msgid "New phonetic"
msgstr "Phonetisch, neu"
-#: ../rules/base.xml.in.h:506
+#: ../rules/base.xml.in.h:510
msgid "Nga"
msgstr "Nga"
-#: ../rules/base.xml.in.h:507
+#: ../rules/base.xml.in.h:511
msgid "Nigeria"
msgstr "Nigeria"
-#: ../rules/base.xml.in.h:508
+#: ../rules/base.xml.in.h:512
msgid "Nld"
msgstr "Nld"
-#: ../rules/base.xml.in.h:509
+#: ../rules/base.xml.in.h:513
msgid "Non-breakable space character at fourth level"
msgstr "Nicht umbrechbares Leerzeichen in der vierten Tastaturebene"
-#: ../rules/base.xml.in.h:510
+#: ../rules/base.xml.in.h:514
msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level"
msgstr "Nicht umbrechbares Leerzeichen in der vierten Tastaturebene, schmales nicht umbrechbares Leerzeichen in der sechsten Ebene"
-#: ../rules/base.xml.in.h:511
+#: ../rules/base.xml.in.h:515
msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)"
msgstr "Nicht umbrechbares Leerzeichen in der vierten Tastaturebene, schmales nicht umbrechbares Leerzeichen in der sechsten Ebene (mit Strg + Umschalttaste)"
-#: ../rules/base.xml.in.h:512
+#: ../rules/base.xml.in.h:516
msgid "Non-breakable space character at second level"
msgstr "Nicht umbrechbares Leerzeichen in der zweiten Tastaturebene"
-#: ../rules/base.xml.in.h:513
+#: ../rules/base.xml.in.h:517
msgid "Non-breakable space character at third level"
msgstr "Nicht umbrechbares Leerzeichen in der dritten Tastaturebene"
-#: ../rules/base.xml.in.h:514
+#: ../rules/base.xml.in.h:518
msgid "Non-breakable space character at third level, nothing at fourth level"
msgstr "Nicht umbrechbares Leerzeichen in der dritten Tastaturebene, nichts in der vierten Ebene"
-#: ../rules/base.xml.in.h:515
+#: ../rules/base.xml.in.h:519
msgid "Non-breakable space character at third level, thin non-breakable space character at fourth level"
msgstr "Nicht umbrechbares Leerzeichen in der dritten Tastaturebene, schmales nicht umbrechbares Leerzeichen in der vierten Ebene"
-#: ../rules/base.xml.in.h:516
+#: ../rules/base.xml.in.h:520
msgid "Nor"
msgstr "Nor"
-#: ../rules/base.xml.in.h:517
+#: ../rules/base.xml.in.h:521
msgid "Northern Saami"
msgstr "Nördliches Saami"
-#: ../rules/base.xml.in.h:518
+#: ../rules/base.xml.in.h:522
msgid "Northern Saami, eliminate dead keys"
msgstr "Nördliches Saami, ohne Akzenttasten"
-#: ../rules/base.xml.in.h:519
+#: ../rules/base.xml.in.h:523
msgid "Northgate OmniKey 101"
msgstr "Northgate OmniKey 101"
-#: ../rules/base.xml.in.h:520
+#: ../rules/base.xml.in.h:524
msgid "Norway"
msgstr "Norwegen"
-#: ../rules/base.xml.in.h:521
+#: ../rules/base.xml.in.h:525
msgid "Npl"
msgstr "Npl"
-#: ../rules/base.xml.in.h:522
-msgid "NumLock"
+#: ../rules/base.xml.in.h:526
+msgid "Num Lock"
msgstr "NumLock"
-#: ../rules/base.xml.in.h:523
+#: ../rules/base.xml.in.h:527
msgid "Numeric keypad delete key behaviour"
msgstr "Verhalten der Löschtaste des Nummernblocks"
-#: ../rules/base.xml.in.h:524
+#: ../rules/base.xml.in.h:528
msgid "Numeric keypad keys work as with Mac"
msgstr "Tasten des Nummernblocks arbeiten wie bei Mac"
-#: ../rules/base.xml.in.h:525
+#: ../rules/base.xml.in.h:529
msgid "Numeric keypad layout selection"
msgstr "Belegungsauswahl des Nummernblocks"
-#: ../rules/base.xml.in.h:526
+#: ../rules/base.xml.in.h:530
msgid "OADG 109A"
msgstr "OADG 109A"
-#: ../rules/base.xml.in.h:527
+#: ../rules/base.xml.in.h:531
msgid "OLPC"
msgstr "OLPC"
-#: ../rules/base.xml.in.h:528
+#: ../rules/base.xml.in.h:532
msgid "OLPC Dari"
msgstr "OLPC Dari"
-#: ../rules/base.xml.in.h:529
+#: ../rules/base.xml.in.h:533
msgid "OLPC Pashto"
msgstr "OLPC Paschtunisch"
-#: ../rules/base.xml.in.h:530
+#: ../rules/base.xml.in.h:534
msgid "OLPC Southern Uzbek"
msgstr "OLPC Süd-Usbekisch"
-#: ../rules/base.xml.in.h:531
+#: ../rules/base.xml.in.h:535
msgid "Occitan"
msgstr "Okzitanisch"
-#: ../rules/base.xml.in.h:532
+#: ../rules/base.xml.in.h:536
msgid "Ogham"
msgstr "Ogham"
-#: ../rules/base.xml.in.h:533
+#: ../rules/base.xml.in.h:537
msgid "Ogham IS434"
msgstr "Ogham IS434"
-#: ../rules/base.xml.in.h:534
+#: ../rules/base.xml.in.h:538
msgid "Oriya"
msgstr "Oriya"
-#: ../rules/base.xml.in.h:535
+#: ../rules/base.xml.in.h:539
msgid "Ortek MCK-800 MM/Internet keyboard"
msgstr "Ortek MCK-800 MM/Internettastatur"
-#: ../rules/base.xml.in.h:536
+#: ../rules/base.xml.in.h:540
msgid "Ossetian"
msgstr "Ossetisch"
-#: ../rules/base.xml.in.h:537
+#: ../rules/base.xml.in.h:541
msgid "Ossetian, Winkeys"
msgstr "Ossetisch, Windows-Tasten"
-#: ../rules/base.xml.in.h:538
+#: ../rules/base.xml.in.h:542
msgid "Ossetian, legacy"
msgstr "Ossetisch, veraltet"
-#: ../rules/base.xml.in.h:539
+#: ../rules/base.xml.in.h:543
msgid "PC-98xx Series"
msgstr "PC-98xx-Serie"
-#: ../rules/base.xml.in.h:540
+#: ../rules/base.xml.in.h:544
msgid "Pak"
msgstr "Pak"
-#: ../rules/base.xml.in.h:541
+#: ../rules/base.xml.in.h:545
msgid "Pakistan"
msgstr "Pakistan"
-#: ../rules/base.xml.in.h:542
+#: ../rules/base.xml.in.h:546
msgid "Pannonian Rusyn Homophonic"
msgstr "Pannonian Rusyn Homophonic"
-#: ../rules/base.xml.in.h:543
+#: ../rules/base.xml.in.h:547
msgid "Pashto"
msgstr "Paschtunisch"
-#: ../rules/base.xml.in.h:544
+#: ../rules/base.xml.in.h:548
msgid "Pattachote"
msgstr "Pattachote"
-#: ../rules/base.xml.in.h:545
+#: ../rules/base.xml.in.h:549
msgid "Pause"
msgstr "Pause"
-#: ../rules/base.xml.in.h:546
+#: ../rules/base.xml.in.h:550
msgid "Persian, with Persian Keypad"
msgstr "Persisch. mit persischem Nummernblock"
-#: ../rules/base.xml.in.h:547
+#: ../rules/base.xml.in.h:551
msgid "Phonetic"
msgstr "Phonetisch"
-#: ../rules/base.xml.in.h:548
+#: ../rules/base.xml.in.h:552
msgid "Phonetic Winkeys"
msgstr "Phonetisch, Windows-Tasten"
-#: ../rules/base.xml.in.h:549
+#: ../rules/base.xml.in.h:553
msgid "Pol"
msgstr "Pol"
-#: ../rules/base.xml.in.h:550
+#: ../rules/base.xml.in.h:554
msgid "Poland"
msgstr "Polen"
-#: ../rules/base.xml.in.h:551
+#: ../rules/base.xml.in.h:555
msgid "Polytonic"
msgstr "Polytonic"
-#: ../rules/base.xml.in.h:552
+#: ../rules/base.xml.in.h:556
msgid "Portugal"
msgstr "Portugal"
-#: ../rules/base.xml.in.h:553
+#: ../rules/base.xml.in.h:557
msgid "Probhat"
msgstr "Probhat"
-#: ../rules/base.xml.in.h:554
+#: ../rules/base.xml.in.h:558
msgid "Programmer Dvorak"
msgstr "Dvorak für Programmierer"
-#: ../rules/base.xml.in.h:555
+#: ../rules/base.xml.in.h:559
msgid "Propeller Voyager (KTEZ-1000)"
msgstr "Propeller Voyager (KTEZ-1000)"
-#: ../rules/base.xml.in.h:556
+#: ../rules/base.xml.in.h:560
msgid "Prt"
msgstr "Prt"
-#: ../rules/base.xml.in.h:557
+#: ../rules/base.xml.in.h:561
msgid "PrtSc"
msgstr "Druck"
-#: ../rules/base.xml.in.h:558
+#: ../rules/base.xml.in.h:562
msgid "QTronix Scorpius 98N+"
msgstr "QTronix Scorpius 98N+"
-#: ../rules/base.xml.in.h:559
+#: ../rules/base.xml.in.h:563
msgid "Right Alt"
msgstr "Rechte Alt-Taste"
-#: ../rules/base.xml.in.h:560
+#: ../rules/base.xml.in.h:564
msgid "Right Alt (while pressed)"
msgstr "Rechte Alt-Taste (gedrückt halten)"
-#: ../rules/base.xml.in.h:561
+#: ../rules/base.xml.in.h:565
msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "Rechte Alt-Taste wählt die fünfte Ebene, sperrt wenn gedrückt, zusammen mit einer anderen Taste zum Wählen der fünften Ebene"
-#: ../rules/base.xml.in.h:562
+#: ../rules/base.xml.in.h:566
msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "Rechte Alt-Taste wählt die fünfte Ebene, sperrt wenn gedrückt, zusammen mit einer anderen Taste zum Wählen der fünften Ebene. Einmaliges Drücken löst die Sperrung."
-#: ../rules/base.xml.in.h:563
+#: ../rules/base.xml.in.h:567
msgid "Right Alt key never chooses 3rd level"
msgstr "Rechte Alt-Taste wählt niemals die dritte Tastaturebene."
-#: ../rules/base.xml.in.h:564
+#: ../rules/base.xml.in.h:568
msgid "Right Alt, Shift+Right Alt key is Multi_Key"
msgstr "Rechte Alt-Taste, Umschalttaste+rechte Alt-Taste ist Multi-Taste"
-#: ../rules/base.xml.in.h:565
+#: ../rules/base.xml.in.h:569
msgid "Right Ctrl"
msgstr "Rechte Strg-Taste"
-#: ../rules/base.xml.in.h:566
+#: ../rules/base.xml.in.h:570
msgid "Right Ctrl (while pressed)"
msgstr "Rechte Strg-Taste (gedrückt halten)"
-#: ../rules/base.xml.in.h:567
+#: ../rules/base.xml.in.h:571
msgid "Right Ctrl as Right Alt"
msgstr "Rechte Strg-Taste wie rechte Alt-Taste"
-#: ../rules/base.xml.in.h:568
+#: ../rules/base.xml.in.h:572
msgid "Right Ctrl+Right Shift"
msgstr "Rechte Strg-Taste und rechte Umschalttaste"
-#: ../rules/base.xml.in.h:569
+#: ../rules/base.xml.in.h:573
msgid "Right Shift"
msgstr "Rechte Umschalttaste"
-#: ../rules/base.xml.in.h:570
+#: ../rules/base.xml.in.h:574
msgid "Right Win"
msgstr "Rechte Windows-Taste"
-#: ../rules/base.xml.in.h:571
+#: ../rules/base.xml.in.h:575
msgid "Right Win (while pressed)"
msgstr "Rechte Windows-Taste (gedrückt halten)"
-#: ../rules/base.xml.in.h:572
+#: ../rules/base.xml.in.h:576
msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "Rechte Win-Taste wählt die fünfte Ebene, sperrt wenn gedrückt, zusammen mit einer anderen Taste zum Wählen der fünften Ebene"
-#: ../rules/base.xml.in.h:573
+#: ../rules/base.xml.in.h:577
msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "Rechte Win-Taste wählt die fünfte Ebene, sperrt wenn gedrückt, zusammen mit einer anderen Taste zum Wählen der fünften Ebene. Einmaliges Drücken löst die Sperrung."
-#: ../rules/base.xml.in.h:574
+#: ../rules/base.xml.in.h:578
msgid "Right hand"
msgstr "Rechtshändig"
-#: ../rules/base.xml.in.h:575
+#: ../rules/base.xml.in.h:579
msgid "Right handed Dvorak"
msgstr "Dvorak (rechtshändig)"
-#: ../rules/base.xml.in.h:576
+#: ../rules/base.xml.in.h:580
msgid "Romania"
msgstr "Rumänien"
-#: ../rules/base.xml.in.h:577
+#: ../rules/base.xml.in.h:581
msgid "Romanian keyboard with German letters"
msgstr "Rumänische Tastatur mit deutschen Buchstaben"
-#: ../rules/base.xml.in.h:578
+#: ../rules/base.xml.in.h:582
msgid "Romanian keyboard with German letters, eliminate dead keys"
msgstr "Rumänische Tastatur mit deutschen Buchstaben, ohne Akzenttasten"
-#: ../rules/base.xml.in.h:579
+#: ../rules/base.xml.in.h:583
msgid "Rou"
msgstr "Rou"
-#: ../rules/base.xml.in.h:580
+#: ../rules/base.xml.in.h:584
msgid "Rus"
msgstr "Rus"
-#: ../rules/base.xml.in.h:581
+#: ../rules/base.xml.in.h:585
msgid "Russia"
msgstr "Russland"
-#: ../rules/base.xml.in.h:582
+#: ../rules/base.xml.in.h:586
msgid "Russian"
msgstr "Russisch"
-#: ../rules/base.xml.in.h:583
+#: ../rules/base.xml.in.h:587
msgid "Russian phonetic"
msgstr "Russisch (phonetisch)"
-#: ../rules/base.xml.in.h:584
+#: ../rules/base.xml.in.h:588
msgid "Russian phonetic Dvorak"
msgstr "Russisch (phonetisch, Dvorak)"
-#: ../rules/base.xml.in.h:585
+#: ../rules/base.xml.in.h:589
msgid "Russian phonetic, eliminate dead keys"
msgstr "Russisch (phonetisch), ohne Akzenttasten"
-#: ../rules/base.xml.in.h:586
+#: ../rules/base.xml.in.h:590
msgid "Russian with Kazakh"
msgstr "Russisch mit kasachischer Belegung"
-#: ../rules/base.xml.in.h:587
+#: ../rules/base.xml.in.h:591
msgid "SILVERCREST Multimedia Wireless Keyboard"
msgstr "SILVERCREST Multimedia Wireless Keyboard"
-#: ../rules/base.xml.in.h:588
+#: ../rules/base.xml.in.h:592
msgid "SK-1300"
msgstr "SK-1300"
-#: ../rules/base.xml.in.h:589
+#: ../rules/base.xml.in.h:593
msgid "SK-2500"
msgstr "SK-2500"
-#: ../rules/base.xml.in.h:590
+#: ../rules/base.xml.in.h:594
msgid "SK-6200"
msgstr "SK-6200"
-#: ../rules/base.xml.in.h:591
+#: ../rules/base.xml.in.h:595
msgid "SK-7100"
msgstr "SK-7100"
-#: ../rules/base.xml.in.h:592 ../rules/base.extras.xml.in.h:7
+#: ../rules/base.xml.in.h:596 ../rules/base.extras.xml.in.h:9
msgid "SRB"
msgstr "SRB"
-#: ../rules/base.xml.in.h:593
+#: ../rules/base.xml.in.h:597
msgid "SVEN Ergonomic 2500"
msgstr "SVEN Ergonomic 2500"
-#: ../rules/base.xml.in.h:594
+#: ../rules/base.xml.in.h:598
msgid "SVEN Slim 303"
msgstr "SVEN Slim 303"
-#: ../rules/base.xml.in.h:595
+#: ../rules/base.xml.in.h:599
msgid "Samsung SDM 4500P"
msgstr "Samsung SDM 4500P"
-#: ../rules/base.xml.in.h:596
+#: ../rules/base.xml.in.h:600
msgid "Samsung SDM 4510P"
msgstr "Samsung SDM 4510P"
-#: ../rules/base.xml.in.h:597
-msgid "ScrollLock"
+#: ../rules/base.xml.in.h:601
+msgid "Scroll Lock"
msgstr "Rollen"
-#: ../rules/base.xml.in.h:598
+#: ../rules/base.xml.in.h:602
msgid "Secwepemctsin"
msgstr "Secwepemctsin"
-#: ../rules/base.xml.in.h:599
+#: ../rules/base.xml.in.h:603
msgid "Semi-colon on third level"
msgstr "Semikolon in der dritten Tastaturebene"
-#: ../rules/base.xml.in.h:600
+#: ../rules/base.xml.in.h:604
msgid "Sen"
msgstr "Sen"
-#: ../rules/base.xml.in.h:601
+#: ../rules/base.xml.in.h:605
msgid "Senegal"
msgstr "Senegal"
-#: ../rules/base.xml.in.h:602 ../rules/base.extras.xml.in.h:8
+#: ../rules/base.xml.in.h:606 ../rules/base.extras.xml.in.h:10
msgid "Serbia"
msgstr "Serbien"
-#: ../rules/base.xml.in.h:603
+#: ../rules/base.xml.in.h:607
msgid "Serbian"
msgstr "Serbisch"
-#: ../rules/base.xml.in.h:604
-msgid "Shift cancels CapsLock"
+#: ../rules/base.xml.in.h:608
+msgid "Shift cancels Caps Lock"
msgstr "Umschalttaste deaktiviert Feststelltaste"
-#: ../rules/base.xml.in.h:605
-msgid "Shift does not cancel NumLock, chooses 3rd level instead"
+#: ../rules/base.xml.in.h:609
+msgid "Shift does not cancel Num Lock, chooses 3rd level instead"
msgstr "Umschalttaste deaktiviert NumLock nicht, wechselt stattdessen in die dritte Tastaturebene"
-#: ../rules/base.xml.in.h:606
+#: ../rules/base.xml.in.h:610
msgid "Shift with numeric keypad keys works as in MS Windows"
-msgstr "Unschalttaste funktioniert mit den Tasten des Nummernblocks wie in MS Windows"
+msgstr "Umschalttaste funktioniert mit den Tasten des Nummernblocks wie in MS Windows"
-#: ../rules/base.xml.in.h:607
-msgid "Shift+CapsLock"
+#: ../rules/base.xml.in.h:611
+msgid "Shift+Caps Lock"
msgstr "Umschalt-+Feststelltaste"
-#: ../rules/base.xml.in.h:608
+#: ../rules/base.xml.in.h:612
msgid "Simple"
msgstr "Einfach"
-#: ../rules/base.xml.in.h:609
+#: ../rules/base.xml.in.h:613
+msgid "Sindhi"
+msgstr "Sindhi"
+
+#: ../rules/base.xml.in.h:614
msgid "Slovakia"
msgstr "Slowakei"
-#: ../rules/base.xml.in.h:610
+#: ../rules/base.xml.in.h:615
msgid "Slovenia"
msgstr "Slowenien"
-#: ../rules/base.xml.in.h:611
+#: ../rules/base.xml.in.h:616
msgid "South Africa"
msgstr "Südafrika"
-#: ../rules/base.xml.in.h:612
+#: ../rules/base.xml.in.h:617
msgid "Southern Uzbek"
msgstr "Süd-Usbekisch"
-#: ../rules/base.xml.in.h:613
+#: ../rules/base.xml.in.h:618
msgid "Spain"
msgstr "Spanien"
-#: ../rules/base.xml.in.h:614
+#: ../rules/base.xml.in.h:619
msgid "Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server"
msgstr "Spezialtasten für Server (Strg+Alt+&lt;Taste&gt;)"
-#: ../rules/base.xml.in.h:615
+#: ../rules/base.xml.in.h:620
msgid "Sri Lanka"
msgstr "Sri Lanka"
-#: ../rules/base.xml.in.h:616
+#: ../rules/base.xml.in.h:621
msgid "Standard"
msgstr "Standard"
-#: ../rules/base.xml.in.h:617
+#: ../rules/base.xml.in.h:622
msgid "Standard (Cedilla)"
msgstr "Standard (Cedilla)"
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:619
+#: ../rules/base.xml.in.h:624
msgid "Standard RSTU"
msgstr "Standard RSTU"
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:621
+#: ../rules/base.xml.in.h:626
msgid "Standard RSTU on Russian layout"
msgstr "Standard-RSTU mit russischer Belegung"
-#: ../rules/base.xml.in.h:622
+#: ../rules/base.xml.in.h:627
msgid "Sun Type 5/6"
msgstr "Sun Typ 5/6"
-#: ../rules/base.xml.in.h:623
+#: ../rules/base.xml.in.h:628
msgid "Sun dead keys"
msgstr "Sun-Akzenttasten"
-#: ../rules/base.xml.in.h:624
+#: ../rules/base.xml.in.h:629
msgid "Super Power Multimedia Keyboard"
msgstr "Super Power Multimedia Keyboard"
-#: ../rules/base.xml.in.h:625
+#: ../rules/base.xml.in.h:630
msgid "Svdvorak"
msgstr "Svdvorak"
-#: ../rules/base.xml.in.h:626
+#: ../rules/base.xml.in.h:631
msgid "Svk"
msgstr "Svk"
-#: ../rules/base.xml.in.h:627
+#: ../rules/base.xml.in.h:632
msgid "Svn"
msgstr "Svn"
-#: ../rules/base.xml.in.h:628
-msgid "Swap Ctrl and CapsLock"
+#: ../rules/base.xml.in.h:633
+msgid "Swap Ctrl and Caps Lock"
msgstr "Strg-Taste und Feststelltaste vertauschen"
-#: ../rules/base.xml.in.h:629
-msgid "Swap ESC and CapsLock"
+#: ../rules/base.xml.in.h:634
+msgid "Swap ESC and Caps Lock"
msgstr "Esc und Feststelltaste vertauschen"
-#: ../rules/base.xml.in.h:630
+#: ../rules/base.xml.in.h:635
msgid "Swe"
msgstr "Swe"
-#: ../rules/base.xml.in.h:631
+#: ../rules/base.xml.in.h:636
msgid "Sweden"
msgstr "Schweden"
-#: ../rules/base.xml.in.h:632
+#: ../rules/base.xml.in.h:637
msgid "Switzerland"
msgstr "Schweiz"
-#: ../rules/base.xml.in.h:633
+#: ../rules/base.xml.in.h:638
msgid "Symplon PaceBook (tablet PC)"
msgstr "Symplon PaceBook (tablet PC)"
-#: ../rules/base.xml.in.h:634
+#: ../rules/base.xml.in.h:639
msgid "Syr"
msgstr "Syr"
-#: ../rules/base.xml.in.h:635
+#: ../rules/base.xml.in.h:640
msgid "Syria"
msgstr "Syrien"
-#: ../rules/base.xml.in.h:636
+#: ../rules/base.xml.in.h:641
msgid "Syriac"
msgstr "Syrisch"
-#: ../rules/base.xml.in.h:637
+#: ../rules/base.xml.in.h:642
msgid "Syriac phonetic"
msgstr "Syrisch (phonetisch)"
-#: ../rules/base.xml.in.h:638
+#: ../rules/base.xml.in.h:643
msgid "TIS-820.2538"
msgstr "Thai (TIS-620)"
-#: ../rules/base.xml.in.h:639
+#: ../rules/base.xml.in.h:644
msgid "Tajikistan"
msgstr "Tadschikistan"
-#: ../rules/base.xml.in.h:640
+#: ../rules/base.xml.in.h:645
msgid "Tamil"
msgstr "Tamilisch"
-#: ../rules/base.xml.in.h:641
+#: ../rules/base.xml.in.h:646
msgid "Tamil Keyboard with Numerals"
msgstr "Tamilische Tastatur mit Ziffern"
-#: ../rules/base.xml.in.h:642
+#: ../rules/base.xml.in.h:647
msgid "Tamil TAB Typewriter"
msgstr "Tamilisch (TAB Schreibmaschine)"
-#: ../rules/base.xml.in.h:643
+#: ../rules/base.xml.in.h:648
msgid "Tamil TSCII Typewriter"
msgstr "Tamilisch (TSCII Schreibmaschine)"
-#: ../rules/base.xml.in.h:644
+#: ../rules/base.xml.in.h:649
msgid "Tamil Unicode"
msgstr "Tamilisch (Unicode)"
-#: ../rules/base.xml.in.h:645
+#: ../rules/base.xml.in.h:650
msgid "Tanzania"
msgstr "Tansania"
-#: ../rules/base.xml.in.h:646
+#: ../rules/base.xml.in.h:651
msgid "Targa Visionary 811"
msgstr "Targa Visionary 811"
-#: ../rules/base.xml.in.h:647
+#: ../rules/base.xml.in.h:652
msgid "Tatar"
msgstr "Tatarisch"
-#: ../rules/base.xml.in.h:648
+#: ../rules/base.xml.in.h:653
msgid "Telugu"
msgstr "Telugu"
-#: ../rules/base.xml.in.h:649
+#: ../rules/base.xml.in.h:654
msgid "Tha"
msgstr "Tha"
-#: ../rules/base.xml.in.h:650
+#: ../rules/base.xml.in.h:655
msgid "Thailand"
msgstr "Thailand"
-#: ../rules/base.xml.in.h:651
+#: ../rules/base.xml.in.h:656
msgid "Tibetan"
msgstr "Tibetisch"
-#: ../rules/base.xml.in.h:652
+#: ../rules/base.xml.in.h:657
msgid "Tibetan (with ASCII numerals)"
msgstr "Tibetanisch (mit ASCII-Ziffern)"
-#: ../rules/base.xml.in.h:653
+#: ../rules/base.xml.in.h:658
msgid "Tifinagh"
msgstr "Tifinagh"
-#: ../rules/base.xml.in.h:654
-msgid "Tifinagh Alternative"
+#: ../rules/base.xml.in.h:659
+msgid "Tifinagh alternative"
msgstr "Tifinagh (alternativ)"
-#: ../rules/base.xml.in.h:655
-msgid "Tifinagh Alternative Phonetic"
+#: ../rules/base.xml.in.h:660
+msgid "Tifinagh alternative phonetic"
msgstr "Tifinagh (alternativ, phonetisch)"
-#: ../rules/base.xml.in.h:656
-msgid "Tifinagh Extended"
+#: ../rules/base.xml.in.h:661
+msgid "Tifinagh extended"
msgstr "Tifinagh (erweitert)"
-#: ../rules/base.xml.in.h:657
-msgid "Tifinagh Extended Phonetic"
+#: ../rules/base.xml.in.h:662
+msgid "Tifinagh extended phonetic"
msgstr "Tifinagh (erweitert, phonetisch)"
-#: ../rules/base.xml.in.h:658
-msgid "Tifinagh Phonetic"
+#: ../rules/base.xml.in.h:663
+msgid "Tifinagh phonetic"
msgstr "Tifinagh (phonetisch)"
-#: ../rules/base.xml.in.h:659
+#: ../rules/base.xml.in.h:664
msgid "Tilde (~) variant"
msgstr "Tilde-Variante (~)"
-#: ../rules/base.xml.in.h:660
+#: ../rules/base.xml.in.h:665
msgid "Tjk"
msgstr "Tjk"
-#: ../rules/base.xml.in.h:661
+#: ../rules/base.xml.in.h:666
msgid "Tkm"
msgstr "Tkm"
-#: ../rules/base.xml.in.h:662
+#: ../rules/base.xml.in.h:667
msgid "To the corresponding key in a Dvorak keyboard."
msgstr "Zur entsprechenden Taste einer Dvorak-Tastatur."
-#: ../rules/base.xml.in.h:663
+#: ../rules/base.xml.in.h:668
msgid "To the corresponding key in a Qwerty keyboard."
msgstr "Zur entsprechenden Taste einer Qwerty-Tastatur."
-#: ../rules/base.xml.in.h:664
+#: ../rules/base.xml.in.h:669
msgid "Toshiba Satellite S3000"
msgstr "Toshiba Satellite S3000"
-#: ../rules/base.xml.in.h:665
+#: ../rules/base.xml.in.h:670
msgid "Traditional phonetic"
msgstr "Traditionell (phonetisch)"
-#: ../rules/base.xml.in.h:666
+#: ../rules/base.xml.in.h:671
msgid "Trust Direct Access Keyboard"
msgstr "Trust Direct Access Keyboard"
-#: ../rules/base.xml.in.h:667
+#: ../rules/base.xml.in.h:672
msgid "Trust Slimline"
msgstr "Trust Slimline"
-#: ../rules/base.xml.in.h:668
+#: ../rules/base.xml.in.h:673
msgid "Trust Wireless Keyboard Classic"
msgstr "Trust Wireless Keyboard Classic"
-#: ../rules/base.xml.in.h:669
+#: ../rules/base.xml.in.h:674
msgid "Tur"
msgstr "Tur"
-#: ../rules/base.xml.in.h:670
+#: ../rules/base.xml.in.h:675
msgid "Turkey"
msgstr "Türkei"
-#: ../rules/base.xml.in.h:671
+#: ../rules/base.xml.in.h:676
msgid "Turkmenistan"
msgstr "Turkmenien"
-#: ../rules/base.xml.in.h:672
+#: ../rules/base.xml.in.h:677
msgid "TypeMatrix EZ-Reach 2020"
msgstr "TypeMatrix EZ-Reach 2020"
-#: ../rules/base.xml.in.h:673
+#: ../rules/base.xml.in.h:678
msgid "TypeMatrix EZ-Reach 2030 PS2"
msgstr "TypeMatrix EZ-Reach 2030 PS2"
-#: ../rules/base.xml.in.h:674
+#: ../rules/base.xml.in.h:679
msgid "TypeMatrix EZ-Reach 2030 USB"
msgstr "TypeMatrix EZ-Reach 2030 USB"
-#: ../rules/base.xml.in.h:675
+#: ../rules/base.xml.in.h:680
msgid "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)"
msgstr "TypeMatrix EZ-Reach 2030 USB (102/105:EU-Modus)"
-#: ../rules/base.xml.in.h:676
+#: ../rules/base.xml.in.h:681
msgid "TypeMatrix EZ-Reach 2030 USB (106:JP mode)"
msgstr "TypeMatrix EZ-Reach 2030 USB (106:JP-Modus)"
-#: ../rules/base.xml.in.h:677
+#: ../rules/base.xml.in.h:682
msgid "Typewriter"
msgstr "Schreibmaschine"
-#: ../rules/base.xml.in.h:678
+#: ../rules/base.xml.in.h:683
msgid "Typewriter, legacy"
msgstr "Schreibmaschine, veraltet"
-#: ../rules/base.xml.in.h:679
+#: ../rules/base.xml.in.h:684
msgid "Tza"
msgstr "Tza"
-#: ../rules/base.xml.in.h:680
+#: ../rules/base.xml.in.h:685
msgid "UCW layout (accented letters only)"
msgstr "UCW-Belegung (nur akzentuierte Buchstaben)"
-#: ../rules/base.xml.in.h:681
+#: ../rules/base.xml.in.h:686
msgid "US Dvorak with CZ UCW support"
msgstr "US Dvorak mit CZ-UCW-Unterstützung"
-#: ../rules/base.xml.in.h:682
+#: ../rules/base.xml.in.h:687
msgid "US keyboard with Bosnian digraphs"
msgstr "US-Tastatur mit bosnischen Digraphen"
-#: ../rules/base.xml.in.h:683
+#: ../rules/base.xml.in.h:688
msgid "US keyboard with Bosnian letters"
msgstr "US-Tastatur mit bosnischen Buchstaben"
-#: ../rules/base.xml.in.h:684
+#: ../rules/base.xml.in.h:689
msgid "US keyboard with Croatian digraphs"
msgstr "US-Tastatur mit kroatischen Digraphen"
-#: ../rules/base.xml.in.h:685
+#: ../rules/base.xml.in.h:690
msgid "US keyboard with Croatian letters"
msgstr "US-Tastatur mit kroatischen Buchstaben"
-#: ../rules/base.xml.in.h:686
+#: ../rules/base.xml.in.h:691
msgid "US keyboard with Estonian letters"
msgstr "US-Tastatur mit estnischen Buchstaben"
-#: ../rules/base.xml.in.h:687
+#: ../rules/base.xml.in.h:692
msgid "US keyboard with Italian letters"
msgstr "US-Tastatur mit italienischen Buchstaben"
-#: ../rules/base.xml.in.h:688
+#: ../rules/base.xml.in.h:693
msgid "US keyboard with Lithuanian letters"
msgstr "US-Tastatur mit litauischen Buchstaben"
-#: ../rules/base.xml.in.h:689
+#: ../rules/base.xml.in.h:694
msgid "US keyboard with Slovenian letters"
msgstr "US-Tastatur mit slowenischen Buchstaben"
-#: ../rules/base.xml.in.h:690 ../rules/base.extras.xml.in.h:9
+#: ../rules/base.xml.in.h:695 ../rules/base.extras.xml.in.h:11
msgid "USA"
msgstr "USA"
-#: ../rules/base.xml.in.h:691
+#: ../rules/base.xml.in.h:696
msgid "Udmurt"
msgstr "Udmurtisch"
-#: ../rules/base.xml.in.h:692
+#: ../rules/base.xml.in.h:697
msgid "Ukr"
msgstr "Ukr"
-#: ../rules/base.xml.in.h:693
+#: ../rules/base.xml.in.h:698
msgid "Ukraine"
msgstr "Ukraine"
-#: ../rules/base.xml.in.h:694
+#: ../rules/base.xml.in.h:699
msgid "Unicode additions (arrows and math operators)"
msgstr "Unicode-Ergänzungen (Pfeile und mathematische Operatoren)"
-#: ../rules/base.xml.in.h:695
+#: ../rules/base.xml.in.h:700
msgid "Unicode additions (arrows and math operators). Math operators on default level"
msgstr "Unicode-Ergänzungen (Pfeile und mathematische Operatoren). Mathematische Operatoren befinden sich in der Standardebene."
-#: ../rules/base.xml.in.h:696
+#: ../rules/base.xml.in.h:701
msgid "UnicodeExpert"
msgstr "UnicodeExpert"
-#: ../rules/base.xml.in.h:697
+#: ../rules/base.xml.in.h:702
msgid "United Kingdom"
msgstr "Vereinigtes Königreich"
-#: ../rules/base.xml.in.h:698
+#: ../rules/base.xml.in.h:703
msgid "Unitek KB-1925"
msgstr "Unitek KB-1925"
-#: ../rules/base.xml.in.h:699
+#: ../rules/base.xml.in.h:704
msgid "Urdu, Alternative phonetic"
msgstr "Urdu, Alternative (phonetisch)"
-#: ../rules/base.xml.in.h:700
+#: ../rules/base.xml.in.h:705
msgid "Urdu, Phonetic"
msgstr "Urdu, phonetisch"
-#: ../rules/base.xml.in.h:701
+#: ../rules/base.xml.in.h:706
msgid "Urdu, Winkeys"
msgstr "Urdu, Windows-Tasten"
-#: ../rules/base.xml.in.h:702
+#: ../rules/base.xml.in.h:707
msgid "Use Bosnian digraphs"
msgstr "Bosnische Digraphen verwenden"
-#: ../rules/base.xml.in.h:703
+#: ../rules/base.xml.in.h:708
msgid "Use Croatian digraphs"
msgstr "Kroatische Digraphen verwenden"
-#: ../rules/base.xml.in.h:704
+#: ../rules/base.xml.in.h:709
msgid "Use guillemets for quotes"
msgstr "Anführungszeichen für Zitate verwenden"
-#: ../rules/base.xml.in.h:705
+#: ../rules/base.xml.in.h:710
msgid "Use keyboard LED to show alternative layout"
msgstr "Tastatur-LED zur Anzeige der alternativen Belegung verwenden"
-#: ../rules/base.xml.in.h:706
+#: ../rules/base.xml.in.h:711
msgid "Using space key to input non-breakable space character"
msgstr "Leertaste zur Eingabe nicht umbrechbarer Zeichen verwenden"
-#: ../rules/base.xml.in.h:707
+#: ../rules/base.xml.in.h:712
msgid "Usual space at any level"
msgstr "Leertaste gibt in jeder Ebene stets Leerzeichen aus"
-#: ../rules/base.xml.in.h:708
+#: ../rules/base.xml.in.h:713
msgid "Uzb"
msgstr "Uzb"
-#: ../rules/base.xml.in.h:709
+#: ../rules/base.xml.in.h:714
msgid "Uzbekistan"
msgstr "Usbekistan"
-#: ../rules/base.xml.in.h:710
+#: ../rules/base.xml.in.h:715
msgid "Vietnam"
msgstr "Vietnam"
-#: ../rules/base.xml.in.h:711
+#: ../rules/base.xml.in.h:716
msgid "ViewSonic KU-306 Internet Keyboard"
msgstr "ViewSonic KU-306 Internet Keyboard"
-#: ../rules/base.xml.in.h:712
+#: ../rules/base.xml.in.h:717
msgid "Vnm"
msgstr "Vnm"
-#: ../rules/base.xml.in.h:713
+#: ../rules/base.xml.in.h:718
msgid "Wang 724 keypad with unicode additions (arrows and math operators)"
msgstr "Wang 724 mit Unicode-Ergänzungen (Pfeile und mathematische Operatoren)"
-#: ../rules/base.xml.in.h:714
+#: ../rules/base.xml.in.h:719
msgid "Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level"
msgstr "Wang 724 mit Unicode-Ergänzungen (Pfeile und mathematische Operatoren). Mathematische Operatoren in der Standardebene"
-#: ../rules/base.xml.in.h:715
+#: ../rules/base.xml.in.h:720
msgid "Wang model 724 azerty"
msgstr "Wang Modell 724 (azerty)"
-#: ../rules/base.xml.in.h:716
+#: ../rules/base.xml.in.h:721
msgid "Western"
msgstr "Westlich"
-#: ../rules/base.xml.in.h:717
+#: ../rules/base.xml.in.h:722
msgid "Winbook Model XP5"
msgstr "Winbook Modell XP5"
-#: ../rules/base.xml.in.h:718
+#: ../rules/base.xml.in.h:723
msgid "Winkeys"
msgstr "Win-Tasten"
-#: ../rules/base.xml.in.h:719
+#: ../rules/base.xml.in.h:724
msgid "With &lt;\\|&gt; key"
msgstr "Mit &lt;\\|&gt;-Taste"
-#: ../rules/base.xml.in.h:720
+#: ../rules/base.xml.in.h:725
msgid "With EuroSign on 5"
msgstr "mit Euro-Symbol auf »5«"
-#: ../rules/base.xml.in.h:721
+#: ../rules/base.xml.in.h:726
msgid "With guillemets"
msgstr "Mit Anführungszeichen"
-#: ../rules/base.xml.in.h:722
+#: ../rules/base.xml.in.h:727
msgid "Yahoo! Internet Keyboard"
msgstr "Yahoo! Internet Keyboard"
-#: ../rules/base.xml.in.h:723
+#: ../rules/base.xml.in.h:728
msgid "Yakut"
msgstr "Jakutisch"
-#: ../rules/base.xml.in.h:724
+#: ../rules/base.xml.in.h:729
msgid "Yoruba"
msgstr "Joruba"
-#: ../rules/base.xml.in.h:725
+#: ../rules/base.xml.in.h:730
msgid "Z and ZHE swapped"
msgstr "»З« und »Ж« sind vertauscht"
-#: ../rules/base.xml.in.h:726
+#: ../rules/base.xml.in.h:731
msgid "Zaf"
msgstr "Zaf"
-#: ../rules/base.xml.in.h:727
+#: ../rules/base.xml.in.h:732
msgid "Zero-width non-joiner character at second level"
msgstr "Nicht verbindendes Zeichen der Breite Null in der zweiten Ebene"
-#: ../rules/base.xml.in.h:728
+#: ../rules/base.xml.in.h:733
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level"
msgstr "Nicht verbindendes Zeichen der Breite Null in der zweiten Ebene, nicht umbrechbares Leerzeichen in der dritten Ebene"
-#: ../rules/base.xml.in.h:729
+#: ../rules/base.xml.in.h:734
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level"
msgstr "Nicht verbindendes Zeichen der Breite Null in der zweiten Ebene, nicht umbrechbares Leerzeichen in der dritten Tastaturebene, nichts in der vierten Ebene"
-#: ../rules/base.xml.in.h:730
+#: ../rules/base.xml.in.h:735
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level"
msgstr "Nicht verbindendes Zeichen der Breite Null in der zweiten Ebene, nicht umbrechbares Leerzeichen in der dritten Tastaturebene, schmales nicht umbrechbares Leerzeichen in der vierten Ebene"
-#: ../rules/base.xml.in.h:731
+#: ../rules/base.xml.in.h:736
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level"
msgstr "Nicht verbindendes Zeichen der Breite Null in der zweiten Ebene, nicht umbrechbares Leerzeichen in der dritten Tastaturebene, verbindendes Zeichen der Breite Null in der vierten Ebene"
-#: ../rules/base.xml.in.h:732
+#: ../rules/base.xml.in.h:737
msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level"
msgstr "Nicht verbindendes Zeichen der Breite Null in der zweiten Ebene, verbindendes Zeichen der Breite Null in der dritten Ebene"
-#: ../rules/base.xml.in.h:733
+#: ../rules/base.xml.in.h:738
msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level"
msgstr "Nicht verbindendes Zeichen der Breite Null in der zweiten Ebene, verbindendes Zeichen der Breite Null in der dritten Ebene, nicht umbrechbares Leerzeichen in der vierten Tastaturebene"
-#: ../rules/base.xml.in.h:734
+#: ../rules/base.xml.in.h:739
msgid "Zero-width non-joiner character at third level, zero-width joiner at fourth level"
msgstr "Nicht verbindendes Zeichen der Breite Null in der dritten Ebene, verbindendes Zeichen der Breite Null in der vierten Ebene"
-#: ../rules/base.xml.in.h:735
+#: ../rules/base.xml.in.h:740
msgid "azerty"
msgstr "azerty"
-#: ../rules/base.xml.in.h:736
+#: ../rules/base.xml.in.h:741
msgid "azerty/digits"
msgstr "azerty/Ziffern"
-#: ../rules/base.xml.in.h:737
+#: ../rules/base.xml.in.h:742
msgid "digits"
msgstr "Ziffern"
-#: ../rules/base.xml.in.h:738
+#: ../rules/base.xml.in.h:743
msgid "displaced semicolon and quote (obsolete)"
msgstr "Falsch platziertes Semikolon und Anführungszeichen (veraltet)"
-#: ../rules/base.xml.in.h:739
+#: ../rules/base.xml.in.h:744
msgid "lyx"
msgstr "LyX"
-#: ../rules/base.xml.in.h:740
+#: ../rules/base.xml.in.h:745
msgid "qwerty"
msgstr "qwerty"
-#: ../rules/base.xml.in.h:741
+#: ../rules/base.xml.in.h:746
msgid "qwerty, extended Backslash"
msgstr "qwerty, erweiterter Backslash"
-#: ../rules/base.xml.in.h:742
+#: ../rules/base.xml.in.h:747
msgid "qwerty/digits"
msgstr "qwerty/Ziffern"
-#: ../rules/base.xml.in.h:743
+#: ../rules/base.xml.in.h:748
msgid "qwertz"
msgstr "qwertz"
@@ -2984,30 +3004,37 @@ msgid "Atsina"
msgstr "Atsina"
#: ../rules/base.extras.xml.in.h:3
+msgid "Avestan"
+msgstr "Avestisch"
+
+#: ../rules/base.extras.xml.in.h:4
msgid "Combining accents instead of dead keys"
msgstr "Akzente kombinieren, anstelle von Akzenttasten"
-#: ../rules/base.extras.xml.in.h:4
+#: ../rules/base.extras.xml.in.h:5
msgid "Couer D'alene Salish"
msgstr "Couer D'alene Salish"
-#: ../rules/base.extras.xml.in.h:5
+#: ../rules/base.extras.xml.in.h:6
msgid "International (AltGr Unicode combining)"
msgstr "International (AltGr-Unicode-Kombination)"
-#: ../rules/base.extras.xml.in.h:6
+#: ../rules/base.extras.xml.in.h:7
msgid "International (AltGr Unicode combining, alternative)"
msgstr "International (AltGr-Unicode-Kombination, alternativ)"
+#~ msgid "CapsLock"
+#~ msgstr "Feststelltaste"
+
+#~ msgid "ScrollLock"
+#~ msgstr "Rollen"
+
#~ msgid "ACPI Standard"
#~ msgstr "ACPI-Standard"
#~ msgid "Bhu"
#~ msgstr "Bhu"
-#~ msgid "Caps Lock"
-#~ msgstr "Feststelltaste"
-
#~ msgid "DRC"
#~ msgstr "DRC"
@@ -3029,9 +3056,6 @@ msgstr "International (AltGr-Unicode-Kombination, alternativ)"
#~ msgid "Nep"
#~ msgstr "Nep"
-#~ msgid "Scroll Lock"
-#~ msgstr "Rollen"
-
#~ msgid "SrL"
#~ msgstr "SrL"
diff --git a/xorg-server/xkeyboard-config/po/eo.po b/xorg-server/xkeyboard-config/po/eo.po
index 26c262000..92e929d7b 100644
--- a/xorg-server/xkeyboard-config/po/eo.po
+++ b/xorg-server/xkeyboard-config/po/eo.po
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: xkeyboard-config 1.8\n"
+"Project-Id-Version: xkeyboard-config 2.0\n"
"Report-Msgid-Bugs-To: svu@users.sourceforge.net\n"
-"POT-Creation-Date: 2010-01-16 18:08+0000\n"
-"PO-Revision-Date: 2010-02-24 21:43-0300\n"
+"POT-Creation-Date: 2010-09-15 21:57+0100\n"
+"PO-Revision-Date: 2010-09-16 21:05-0300\n"
"Last-Translator: Felipe Castro <fefcas@gmail.com>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
@@ -16,2759 +16,2979 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: ../rules/base.xml.in.h:1
+msgid "&lt;Less/Greater&gt;"
+msgstr "&lt;Pli-signo/Malpli-signo&gt;"
+
+#: ../rules/base.xml.in.h:2
+msgid "&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr "&lt;Pli-signo/Malpli-signo&gt; elektas 5-an nivelon, ŝlosas kiam premite kun alia 5-nivela elektilo"
+
+#: ../rules/base.xml.in.h:3
+msgid "&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr "&lt;Pli-signo/Malpli-signo&gt; elektas 5-an nivelon, ŝlosas kiam premite kun alia 5-nivela elektilo, unu premo malfaras la ŝloson"
+
+#: ../rules/base.xml.in.h:4
msgid "(F)"
msgstr "(F)"
-#: ../rules/base.xml.in.h:2
+#: ../rules/base.xml.in.h:5
msgid "(Legacy) Alternative"
msgstr "(Malmoderna) Alternativa"
-#: ../rules/base.xml.in.h:3
+#: ../rules/base.xml.in.h:6
msgid "(Legacy) Alternative, Sun dead keys"
msgstr "(Malmoderna) Alternativa, senpaŝaj klavoj de 'Sun'"
-#: ../rules/base.xml.in.h:4
+#: ../rules/base.xml.in.h:7
msgid "(Legacy) Alternative, eliminate dead keys"
msgstr "(Malmoderna) Alternativa, forigi senpaŝajn klavojn"
-#: ../rules/base.xml.in.h:5
+#: ../rules/base.xml.in.h:8
msgid "101/104 key Compatible"
msgstr "Kongrua al 101/104 klavoj"
-#: ../rules/base.xml.in.h:6
+#: ../rules/base.xml.in.h:9
msgid "101/qwerty/comma/Dead keys"
msgstr "101/qwerty/komo/Senpaŝaj klavoj"
-#: ../rules/base.xml.in.h:7
+#: ../rules/base.xml.in.h:10
msgid "101/qwerty/comma/Eliminate dead keys"
msgstr "101/qwerty/komo/Forigi senpaŝajn klavojn"
-#: ../rules/base.xml.in.h:8
+#: ../rules/base.xml.in.h:11
msgid "101/qwerty/dot/Dead keys"
msgstr "101/qwerty/punkto/Senpaŝaj klavoj"
-#: ../rules/base.xml.in.h:9
+#: ../rules/base.xml.in.h:12
msgid "101/qwerty/dot/Eliminate dead keys"
msgstr "101/qwerty/punkto/Forigi senpaŝajn klavojn"
-#: ../rules/base.xml.in.h:10
+#: ../rules/base.xml.in.h:13
msgid "101/qwertz/comma/Dead keys"
msgstr "101/qwertz/komo/Senpaŝaj klavoj"
-#: ../rules/base.xml.in.h:11
+#: ../rules/base.xml.in.h:14
msgid "101/qwertz/comma/Eliminate dead keys"
msgstr "101/qwertz/komo/Forigi senpaŝajn klavojn"
-#: ../rules/base.xml.in.h:12
+#: ../rules/base.xml.in.h:15
msgid "101/qwertz/dot/Dead keys"
msgstr "101/qwertz/punkto/Senpaŝaj klavoj"
-#: ../rules/base.xml.in.h:13
+#: ../rules/base.xml.in.h:16
msgid "101/qwertz/dot/Eliminate dead keys"
msgstr "101/qwertz/punkto/Forigi senpaŝajn klavojn"
-#: ../rules/base.xml.in.h:14
+#: ../rules/base.xml.in.h:17
msgid "102/qwerty/comma/Dead keys"
msgstr "102/qwerty/komo/Senpaŝaj klavoj"
-#: ../rules/base.xml.in.h:15
+#: ../rules/base.xml.in.h:18
msgid "102/qwerty/comma/Eliminate dead keys"
msgstr "102/qwerty/komo/Forigi senpaŝajn klavojn"
-#: ../rules/base.xml.in.h:16
+#: ../rules/base.xml.in.h:19
msgid "102/qwerty/dot/Dead keys"
msgstr "102/qwerty/punkto/Senpaŝaj klavoj"
-#: ../rules/base.xml.in.h:17
+#: ../rules/base.xml.in.h:20
msgid "102/qwerty/dot/Eliminate dead keys"
msgstr "102/qwerty/punkto/Forigi senpaŝajn klavojn"
-#: ../rules/base.xml.in.h:18
+#: ../rules/base.xml.in.h:21
msgid "102/qwertz/comma/Dead keys"
msgstr "102/qwertz/komo/Senpaŝaj klavoj"
-#: ../rules/base.xml.in.h:19
+#: ../rules/base.xml.in.h:22
msgid "102/qwertz/comma/Eliminate dead keys"
msgstr "102/qwertz/komo/Forigi senpaŝajn klavojn"
-#: ../rules/base.xml.in.h:20
+#: ../rules/base.xml.in.h:23
msgid "102/qwertz/dot/Dead keys"
msgstr "102/qwertz/punkto/Senpaŝaj klavoj"
-#: ../rules/base.xml.in.h:21
+#: ../rules/base.xml.in.h:24
msgid "102/qwertz/dot/Eliminate dead keys"
msgstr "102/qwertz/punkto/Forigi senpaŝajn klavojn"
-#: ../rules/base.xml.in.h:22
+#: ../rules/base.xml.in.h:25
msgid "2"
msgstr "2"
-#: ../rules/base.xml.in.h:23
+#: ../rules/base.xml.in.h:26
msgid "4"
msgstr "4"
-#: ../rules/base.xml.in.h:24
+#: ../rules/base.xml.in.h:27
msgid "5"
msgstr "5"
-#: ../rules/base.xml.in.h:25
+#: ../rules/base.xml.in.h:28
msgid "A4Tech KB-21"
msgstr "A4Tech KB-21"
-#: ../rules/base.xml.in.h:26
+#: ../rules/base.xml.in.h:29
msgid "A4Tech KBS-8"
msgstr "A4Tech KBS-8"
-#: ../rules/base.xml.in.h:27
+#: ../rules/base.xml.in.h:30
msgid "A4Tech Wireless Desktop RFKB-23"
msgstr "A4Tech Wireless Desktop RFKB-23"
-#: ../rules/base.xml.in.h:28
-msgid "ACPI Standard"
-msgstr "ACPI Laŭnorma"
-
-#: ../rules/base.xml.in.h:29
+#: ../rules/base.xml.in.h:31
msgid "ATM/phone-style"
msgstr "ATM/telefon-stilo"
-#: ../rules/base.xml.in.h:30
+#: ../rules/base.xml.in.h:32
msgid "Acer AirKey V"
msgstr "Acer AirKey V"
-#: ../rules/base.xml.in.h:31
+#: ../rules/base.xml.in.h:33
msgid "Acer C300"
msgstr "Acer C300"
-#: ../rules/base.xml.in.h:32
+#: ../rules/base.xml.in.h:34
msgid "Acer Ferrari 4000"
msgstr "Acer Ferrari 4000"
-#: ../rules/base.xml.in.h:33
+#: ../rules/base.xml.in.h:35
msgid "Acer Laptop"
msgstr "Acer Laptop"
-#: ../rules/base.xml.in.h:34
+#: ../rules/base.xml.in.h:36
msgid "Add the standard behavior to Menu key"
msgstr "Aldoni laŭnorman funkciadon al la klavo Menu"
-#: ../rules/base.xml.in.h:35
+#: ../rules/base.xml.in.h:37
msgid "Adding Esperanto circumflexes (supersigno)"
msgstr "Aldonado de Esperantaj supersignoj"
-#: ../rules/base.xml.in.h:36
+#: ../rules/base.xml.in.h:38
msgid "Adding EuroSign to certain keys"
msgstr "Aldonado de EŭroSigno al iuj klavoj"
-#: ../rules/base.xml.in.h:37
+#: ../rules/base.xml.in.h:39
msgid "Advance Scorpius KI"
msgstr "Advance Scorpius KI"
-#: ../rules/base.xml.in.h:38
+#: ../rules/base.xml.in.h:40
msgid "Afg"
msgstr "Afg"
-#: ../rules/base.xml.in.h:39
+#: ../rules/base.xml.in.h:41
msgid "Afghanistan"
msgstr "Afganujo"
-#: ../rules/base.xml.in.h:40
+#: ../rules/base.xml.in.h:42
msgid "Akan"
msgstr "Akan"
-#: ../rules/base.xml.in.h:41
+#: ../rules/base.xml.in.h:43
msgid "Alb"
msgstr "Alb"
-#: ../rules/base.xml.in.h:42
+#: ../rules/base.xml.in.h:44
msgid "Albania"
msgstr "Albanujo"
-#: ../rules/base.xml.in.h:43
+#: ../rules/base.xml.in.h:45
msgid "Alt and Meta are on Alt keys"
msgstr "Alt kaj Meta estas ĉe la klavoj Alt"
-#: ../rules/base.xml.in.h:44
+#: ../rules/base.xml.in.h:46
msgid "Alt is mapped to Right Win, Super to Menu"
msgstr "Alt estas mapita al la dekstra klavo Win kaj Super al Menu"
-#: ../rules/base.xml.in.h:45
-msgid "Alt+CapsLock"
-msgstr "Alt+CapsLock"
+#: ../rules/base.xml.in.h:47
+msgid "Alt+Caps Lock"
+msgstr "Alt+Caps Lock"
-#: ../rules/base.xml.in.h:46
+#: ../rules/base.xml.in.h:48
msgid "Alt+Ctrl"
msgstr "Alt+Ctrl"
-#: ../rules/base.xml.in.h:47
+#: ../rules/base.xml.in.h:49
msgid "Alt+Shift"
msgstr "Alt+Shift"
-#: ../rules/base.xml.in.h:48
+#: ../rules/base.xml.in.h:50
msgid "Alt+Space"
msgstr "Alt+Space"
-#: ../rules/base.xml.in.h:49
+#: ../rules/base.xml.in.h:51
msgid "Alt-Q"
msgstr "Alt-Q"
-#: ../rules/base.xml.in.h:50
+#: ../rules/base.xml.in.h:52
msgid "Alt/Win key behavior"
msgstr "Alt/Win, klava funkciado"
-#: ../rules/base.xml.in.h:51
+#: ../rules/base.xml.in.h:53
msgid "Alternative"
msgstr "Alternativa"
-#: ../rules/base.xml.in.h:52
+#: ../rules/base.xml.in.h:54
msgid "Alternative Eastern"
msgstr "Alternativa Orienta"
-#: ../rules/base.xml.in.h:53
+#: ../rules/base.xml.in.h:55
msgid "Alternative Phonetic"
msgstr "Alternativa Fonetika"
-#: ../rules/base.xml.in.h:54
-msgid "Alternative international (former us_intl)"
-msgstr "Alternativa internacia (antaŭe us_intl)"
+#: ../rules/base.xml.in.h:56
+msgid "Alternative international"
+msgstr "Alternativa internacia"
-#: ../rules/base.xml.in.h:55
+#: ../rules/base.xml.in.h:57
msgid "Alternative, Sun dead keys"
msgstr "Alternava, senpaŝaj klavoj de 'Sun'"
-#: ../rules/base.xml.in.h:56
+#: ../rules/base.xml.in.h:58
msgid "Alternative, eliminate dead keys"
msgstr "Alternativa, forigi senpaŝajn klavojn"
-#: ../rules/base.xml.in.h:57
+#: ../rules/base.xml.in.h:59
msgid "Alternative, latin-9 only"
msgstr "Alternativa, nur latin-9"
-#: ../rules/base.xml.in.h:58
+#: ../rules/base.xml.in.h:60
msgid "And"
msgstr "And"
-#: ../rules/base.xml.in.h:59
+#: ../rules/base.xml.in.h:61
msgid "Andorra"
msgstr "Andoro"
-#: ../rules/base.xml.in.h:60
+#: ../rules/base.xml.in.h:62
msgid "Any Alt key"
msgstr "Iu ajn klavo Alt"
-#: ../rules/base.xml.in.h:61
+#: ../rules/base.xml.in.h:63
msgid "Any Win key"
msgstr "Iu ajn klavo Win"
-#: ../rules/base.xml.in.h:62
+#: ../rules/base.xml.in.h:64
msgid "Any Win key (while pressed)"
msgstr "Iu ajn klavo Win (dum premata)"
-#: ../rules/base.xml.in.h:63
+#: ../rules/base.xml.in.h:65
msgid "Apostrophe (') variant"
msgstr "Variaĵo de citilo (')"
-#: ../rules/base.xml.in.h:64
+#: ../rules/base.xml.in.h:66
msgid "Apple"
msgstr "Apple"
-#: ../rules/base.xml.in.h:65
+#: ../rules/base.xml.in.h:67
+msgid "Apple Aluminium Keyboard (ANSI)"
+msgstr "Apple Aluminium Keyboard (ANSI)"
+
+#: ../rules/base.xml.in.h:68
+msgid "Apple Aluminium Keyboard (ISO)"
+msgstr "Apple Aluminium Keyboard (ISO)"
+
+#: ../rules/base.xml.in.h:69
+msgid "Apple Aluminium Keyboard (JIS)"
+msgstr "Apple Aluminium Keyboard (JIS)"
+
+#: ../rules/base.xml.in.h:70
+msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num Lock)"
+msgstr "Apple Aluminium Keyboard: ŝajnigi klavojn de PC (Print, Scroll Lock, Pause, Num Lock)"
+
+#: ../rules/base.xml.in.h:71
msgid "Apple Laptop"
msgstr "Apple Laptop"
-#: ../rules/base.xml.in.h:66
+#: ../rules/base.xml.in.h:72
msgid "Ara"
msgstr "Ara"
-#: ../rules/base.xml.in.h:67
+#: ../rules/base.xml.in.h:73
msgid "Arabic"
msgstr "Araba"
-#: ../rules/base.xml.in.h:68
+#: ../rules/base.xml.in.h:74
msgid "Arm"
msgstr "Arm"
-#: ../rules/base.xml.in.h:69
+#: ../rules/base.xml.in.h:75
msgid "Armenia"
msgstr "Armenujo"
-#: ../rules/base.xml.in.h:70
+#: ../rules/base.xml.in.h:76
msgid "Asturian variant with bottom-dot H and bottom-dot L"
msgstr "Asturia variaĵo kun subpunktita H kaj subpunktita L"
-#: ../rules/base.xml.in.h:71
+#: ../rules/base.xml.in.h:77
msgid "Asus Laptop"
msgstr "Asus Laptop"
-#: ../rules/base.xml.in.h:72
+#: ../rules/base.xml.in.h:78
msgid "At bottom left"
msgstr "Malsupre maldekstre"
-#: ../rules/base.xml.in.h:73
+#: ../rules/base.xml.in.h:79
msgid "At left of 'A'"
msgstr "Maldekstre de 'A'"
-#: ../rules/base.xml.in.h:74
+#: ../rules/base.xml.in.h:80
+msgid "Austria"
+msgstr "Aŭstrujo"
+
+#: ../rules/base.xml.in.h:81
+msgid "Aut"
+msgstr "Aut"
+
+#: ../rules/base.xml.in.h:82
+msgid "Avatime"
+msgstr "Avatime"
+
+#: ../rules/base.xml.in.h:83
msgid "Aze"
msgstr "Aze"
-#: ../rules/base.xml.in.h:75
+#: ../rules/base.xml.in.h:84
msgid "Azerbaijan"
msgstr "Azerbajĝano"
-#: ../rules/base.xml.in.h:76
+#: ../rules/base.xml.in.h:85
msgid "Azona RF2300 wireless Internet Keyboard"
msgstr "Azona RF2300 sendrata Internet Keyboard"
-#: ../rules/base.xml.in.h:77
+#: ../rules/base.xml.in.h:86
msgid "BTC 5090"
msgstr "BTC 5090"
-#: ../rules/base.xml.in.h:78
+#: ../rules/base.xml.in.h:87
msgid "BTC 5113RF Multimedia"
msgstr "BTC 5113RF Multimedia"
-#: ../rules/base.xml.in.h:79
+#: ../rules/base.xml.in.h:88
msgid "BTC 5126T"
msgstr "BTC 5126T"
-#: ../rules/base.xml.in.h:80
+#: ../rules/base.xml.in.h:89
msgid "BTC 6301URF"
msgstr "BTC 6301URF"
-#: ../rules/base.xml.in.h:81
+#: ../rules/base.xml.in.h:90
msgid "BTC 9000"
msgstr "BTC 9000"
-#: ../rules/base.xml.in.h:82
+#: ../rules/base.xml.in.h:91
msgid "BTC 9000A"
msgstr "BTC 9000A"
-#: ../rules/base.xml.in.h:83
+#: ../rules/base.xml.in.h:92
msgid "BTC 9001AH"
msgstr "BTC 9001AH"
-#: ../rules/base.xml.in.h:84
+#: ../rules/base.xml.in.h:93
msgid "BTC 9019U"
msgstr "BTC 9019U"
-#: ../rules/base.xml.in.h:85
+#: ../rules/base.xml.in.h:94
msgid "BTC 9116U Mini Wireless Internet and Gaming"
msgstr "BTC 9116U Mini Wireless Internet and Gaming"
-#: ../rules/base.xml.in.h:86
-msgid "Ban"
-msgstr "Ban"
+#: ../rules/base.xml.in.h:95
+msgid "Backslash"
+msgstr "Retroklino"
-#: ../rules/base.xml.in.h:87
+#: ../rules/base.xml.in.h:96
msgid "Bangladesh"
msgstr "Bangladeŝo"
-#: ../rules/base.xml.in.h:88
+#: ../rules/base.xml.in.h:97
msgid "Bashkirian"
msgstr "Baŝkira"
-#: ../rules/base.xml.in.h:89
+#: ../rules/base.xml.in.h:98
msgid "Bel"
msgstr "Bel"
-#: ../rules/base.xml.in.h:90
+#: ../rules/base.xml.in.h:99
msgid "Belarus"
msgstr "Belorusujo"
-#: ../rules/base.xml.in.h:91
+#: ../rules/base.xml.in.h:100
msgid "Belgium"
msgstr "Belgujo"
-#: ../rules/base.xml.in.h:92
+#: ../rules/base.xml.in.h:101
msgid "BenQ X-Touch"
msgstr "BenQ X-Touch"
-#: ../rules/base.xml.in.h:93
+#: ../rules/base.xml.in.h:102
msgid "BenQ X-Touch 730"
msgstr "BenQ X-Touch 730"
-#: ../rules/base.xml.in.h:94
+#: ../rules/base.xml.in.h:103
msgid "BenQ X-Touch 800"
msgstr "BenQ X-Touch 800"
-#: ../rules/base.xml.in.h:95
+#: ../rules/base.xml.in.h:104
msgid "Bengali"
msgstr "Bengala"
-#: ../rules/base.xml.in.h:96
+#: ../rules/base.xml.in.h:105
msgid "Bengali Probhat"
msgstr "Bengala Probhat"
-#: ../rules/base.xml.in.h:97
+#: ../rules/base.xml.in.h:106
msgid "Bepo, ergonomic, Dvorak way"
msgstr "Bepo, komforteca, Dvorake"
-#: ../rules/base.xml.in.h:98
+#: ../rules/base.xml.in.h:107
msgid "Bepo, ergonomic, Dvorak way, latin-9 only"
msgstr "Bepo, komforteca, Dvorake, nur latin-9"
-#: ../rules/base.xml.in.h:99
+#: ../rules/base.xml.in.h:108
+msgid "Bgd"
+msgstr "Bgd"
+
+#: ../rules/base.xml.in.h:109
msgid "Bgr"
msgstr "Bgr"
-#: ../rules/base.xml.in.h:100
-msgid "Bhu"
-msgstr "Bhu"
-
-#: ../rules/base.xml.in.h:101
+#: ../rules/base.xml.in.h:110
msgid "Bhutan"
msgstr "Bhutano"
-#: ../rules/base.xml.in.h:102
+#: ../rules/base.xml.in.h:111
msgid "Biblical Hebrew (Tiro)"
msgstr "Biblia Hebrea (Tiro)"
-#: ../rules/base.xml.in.h:103
+#: ../rules/base.xml.in.h:112
msgid "Bih"
msgstr "Bih"
-#: ../rules/base.xml.in.h:104
+#: ../rules/base.xml.in.h:113
msgid "Blr"
msgstr "Blr"
-#: ../rules/base.xml.in.h:105
+#: ../rules/base.xml.in.h:114
msgid "Bosnia and Herzegovina"
msgstr "Bosnujo kaj Hercegovino"
-#: ../rules/base.xml.in.h:106
+#: ../rules/base.xml.in.h:115
msgid "Both Alt keys together"
msgstr "Ambaŭ klavoj Alt kune"
-#: ../rules/base.xml.in.h:107
+#: ../rules/base.xml.in.h:116
msgid "Both Ctrl keys together"
msgstr "Ambaŭ klavoj Ctrl kune"
-#: ../rules/base.xml.in.h:108
+#: ../rules/base.xml.in.h:117
msgid "Both Shift keys together"
msgstr "Ambaŭ klavoj Shift kune"
-#: ../rules/base.xml.in.h:109
+#: ../rules/base.xml.in.h:118
+msgid "Both Shift-Keys together toggle Caps Lock"
+msgstr "Ambaŭ klavoj Shift kune alternigas Caps Lock"
+
+#: ../rules/base.xml.in.h:119
+msgid "Botswana"
+msgstr "Bocvano"
+
+#: ../rules/base.xml.in.h:120
msgid "Bra"
msgstr "Bra"
-#: ../rules/base.xml.in.h:110
+#: ../rules/base.xml.in.h:121
msgid "Braille"
msgstr "Brajla"
-#: ../rules/base.xml.in.h:111
+#: ../rules/base.xml.in.h:122
msgid "Brazil"
msgstr "Brazilo"
-#: ../rules/base.xml.in.h:112
+#: ../rules/base.xml.in.h:123
msgid "Breton"
msgstr "Bretona"
-#: ../rules/base.xml.in.h:113
+#: ../rules/base.xml.in.h:124
msgid "Brl"
msgstr "Brl"
-#: ../rules/base.xml.in.h:114
+#: ../rules/base.xml.in.h:125
msgid "Brother Internet Keyboard"
msgstr "Brother Internet Keyboard"
-#: ../rules/base.xml.in.h:115
+#: ../rules/base.xml.in.h:126
+msgid "Btn"
+msgstr "Btn"
+
+#: ../rules/base.xml.in.h:127
msgid "Buckwalter"
msgstr "Buckwalter"
-#: ../rules/base.xml.in.h:116
+#: ../rules/base.xml.in.h:128
msgid "Bulgaria"
msgstr "Bulgarujo"
-#: ../rules/base.xml.in.h:117
+#: ../rules/base.xml.in.h:129
+msgid "Bwa"
+msgstr "Bwa"
+
+#: ../rules/base.xml.in.h:130
+msgid "COD"
+msgstr "COD"
+
+#: ../rules/base.xml.in.h:131
msgid "CRULP"
msgstr "CRULP"
-#: ../rules/base.xml.in.h:118
+#: ../rules/base.xml.in.h:132
msgid "Cambodia"
msgstr "Kamboĝo"
-#: ../rules/base.xml.in.h:119
+#: ../rules/base.xml.in.h:133
msgid "Can"
msgstr "Can"
-#: ../rules/base.xml.in.h:120
+#: ../rules/base.xml.in.h:134
msgid "Canada"
msgstr "Kanado"
-#: ../rules/base.xml.in.h:121
+#: ../rules/base.xml.in.h:135
msgid "Caps Lock"
msgstr "Caps Lock"
-#: ../rules/base.xml.in.h:122
-msgid "CapsLock"
-msgstr "CapsLock"
-
-#: ../rules/base.xml.in.h:123
-msgid "CapsLock (to first layout), Shift+CapsLock (to last layout)"
-msgstr "CapsLock (al la unua aranĝo), Shift+CapsLock (al la lasta aranĝo)"
+#: ../rules/base.xml.in.h:136
+msgid "Caps Lock (to first layout), Shift+Caps Lock (to last layout)"
+msgstr "Caps Lock (al la unua aranĝo), Shift+Caps Lock (al la lasta aranĝo)"
-#: ../rules/base.xml.in.h:124
-msgid "CapsLock (while pressed), Alt+CapsLock does the original capslock action"
-msgstr "CapsLock (dum premata), Alt+CapsLock restarigas la originalan uskligon"
+#: ../rules/base.xml.in.h:137
+msgid "Caps Lock (while pressed), Alt+Caps Lock does the original capslock action"
+msgstr "Caps Lock (dum premata), Alt+Caps Lock restarigas la originalan uskligon"
-#: ../rules/base.xml.in.h:125
-msgid "CapsLock acts as Shift with locking. Shift \"pauses\" CapsLock"
-msgstr "CapsLock funkcias kiel Shift kun ŝlosado. Shift \"paŭzas\" CapsLock"
+#: ../rules/base.xml.in.h:138
+msgid "Caps Lock acts as Shift with locking. Shift \"pauses\" Caps Lock"
+msgstr "Caps Lock funkcias kiel Shift kun ŝlosado. Shift \"paŭzigas\" Caps Lock"
-#: ../rules/base.xml.in.h:126
-msgid "CapsLock acts as Shift with locking. Shift doesn't affect CapsLock"
-msgstr "CapsLock funkcias kiel Shift kun ŝlosado. Shift ne influas CapsLock"
+#: ../rules/base.xml.in.h:139
+msgid "Caps Lock acts as Shift with locking. Shift doesn't affect Caps Lock"
+msgstr "Caps Lock funkcias kiel Shift kun ŝlosado. Shift ne influas Caps Lock"
-#: ../rules/base.xml.in.h:127
-msgid "CapsLock is disabled"
-msgstr "CapsLock estas malebligita"
+#: ../rules/base.xml.in.h:140
+msgid "Caps Lock is disabled"
+msgstr "Caps Lock estas malebligita"
-#: ../rules/base.xml.in.h:128
-msgid "CapsLock key behavior"
-msgstr "Funkciado de la klavo CapsLock"
+#: ../rules/base.xml.in.h:141
+msgid "Caps Lock key behavior"
+msgstr "Funkciado de la klavo Caps Lock"
-#: ../rules/base.xml.in.h:129
-msgid "CapsLock toggles Shift so all keys are affected"
-msgstr "CapsLock alternigas Shift, influante ĉiujn klavojn"
+#: ../rules/base.xml.in.h:142
+msgid "Caps Lock toggles Shift so all keys are affected"
+msgstr "Caps Lock alternigas Shift, influante ĉiujn klavojn"
-#: ../rules/base.xml.in.h:130
-msgid "CapsLock toggles normal capitalization of alphabetic characters"
-msgstr "CapsLock alternigas la ordinaran uskligon de alfabetaj signoj"
+#: ../rules/base.xml.in.h:143
+msgid "Caps Lock toggles normal capitalization of alphabetic characters"
+msgstr "Caps Lock alternigas la ordinaran uskligon de alfabetaj signoj"
-#: ../rules/base.xml.in.h:131
-msgid "CapsLock uses internal capitalization. Shift \"pauses\" CapsLock"
-msgstr "CapsLock uzas internan uskligon. Shift \"paŭzas\" CapsLock"
+#: ../rules/base.xml.in.h:144
+msgid "Caps Lock uses internal capitalization. Shift \"pauses\" Caps Lock"
+msgstr "Caps Lock uzas internan uskligon. Shift \"paŭzigas\" Caps Lock"
-#: ../rules/base.xml.in.h:132
-msgid "CapsLock uses internal capitalization. Shift doesn't affect CapsLock"
-msgstr "CapsLock uzas internan uskligon. Shift ne influas CapsLock"
+#: ../rules/base.xml.in.h:145
+msgid "Caps Lock uses internal capitalization. Shift doesn't affect Caps Lock"
+msgstr "Caps Lock uzas internan uskligon. Shift ne influas Cap sLock"
-#: ../rules/base.xml.in.h:133
+#: ../rules/base.xml.in.h:146
msgid "Catalan variant with middle-dot L"
msgstr "Kataluna variaĵo kun centro-punktita L"
-#: ../rules/base.xml.in.h:134
+#: ../rules/base.xml.in.h:147
msgid "Cedilla"
msgstr "Subhoketo"
-#: ../rules/base.xml.in.h:135
+#: ../rules/base.xml.in.h:148
msgid "Che"
msgstr "Che"
-#: ../rules/base.xml.in.h:136
+#: ../rules/base.xml.in.h:149
msgid "Cherokee"
msgstr "Ĉeroka"
-#: ../rules/base.xml.in.h:137
+#: ../rules/base.xml.in.h:150
msgid "Cherry B.UNLIMITED"
msgstr "Cherry B.UNLIMITED"
-#: ../rules/base.xml.in.h:138
+#: ../rules/base.xml.in.h:151
msgid "Cherry Blue Line CyBo@rd"
msgstr "Cherry Blue Line CyBo@rd"
-#: ../rules/base.xml.in.h:139
+#: ../rules/base.xml.in.h:152
msgid "Cherry Blue Line CyBo@rd (alternate option)"
msgstr "Cherry Blue Line CyBo@rd (alternativa opcio)"
-#: ../rules/base.xml.in.h:140
+#: ../rules/base.xml.in.h:153
msgid "Cherry CyBo@rd USB-Hub"
msgstr "Cherry CyBo@rd USB-Hub"
-#: ../rules/base.xml.in.h:141
+#: ../rules/base.xml.in.h:154
msgid "Cherry CyMotion Expert"
msgstr "Cherry CyMotion Expert"
-#: ../rules/base.xml.in.h:142
+#: ../rules/base.xml.in.h:155
msgid "Cherry CyMotion Master Linux"
msgstr "Cherry CyMotion Master Linux"
-#: ../rules/base.xml.in.h:143
+#: ../rules/base.xml.in.h:156
msgid "Cherry CyMotion Master XPress"
msgstr "Cherry CyMotion Master XPress"
-#: ../rules/base.xml.in.h:144
+#: ../rules/base.xml.in.h:157
msgid "Chicony Internet Keyboard"
msgstr "Chicony Internet Keyboard"
-#: ../rules/base.xml.in.h:145
+#: ../rules/base.xml.in.h:158
msgid "Chicony KB-9885"
msgstr "Chicony KB-9885"
-#: ../rules/base.xml.in.h:146
+#: ../rules/base.xml.in.h:159
msgid "Chicony KU-0108"
msgstr "Chicony KU-0108"
-#: ../rules/base.xml.in.h:147
+#: ../rules/base.xml.in.h:160
msgid "Chicony KU-0420"
msgstr "Chicony KU-0420"
-#: ../rules/base.xml.in.h:148
+#: ../rules/base.xml.in.h:161
msgid "China"
msgstr "Ĉinujo"
-#: ../rules/base.xml.in.h:149
+#: ../rules/base.xml.in.h:162
+msgid "Chn"
+msgstr "Chn"
+
+#: ../rules/base.xml.in.h:163
msgid "Chuvash"
msgstr "Ĉuvaŝa"
-#: ../rules/base.xml.in.h:150
+#: ../rules/base.xml.in.h:164
msgid "Chuvash Latin"
msgstr "Ĉuvaŝa Latine"
-#: ../rules/base.xml.in.h:151
+#: ../rules/base.xml.in.h:165
msgid "Classic"
msgstr "Klasike"
-#: ../rules/base.xml.in.h:152
+#: ../rules/base.xml.in.h:166
msgid "Classic Dvorak"
msgstr "Klasika Dvorako"
-#: ../rules/base.xml.in.h:153
+#: ../rules/base.xml.in.h:167
+msgid "Classic, eliminate dead keys"
+msgstr "Klasika, forigi senpaŝajn klavojn"
+
+#: ../rules/base.xml.in.h:168
msgid "Classmate PC"
msgstr "Classmate PC"
-#: ../rules/base.xml.in.h:154
+#: ../rules/base.xml.in.h:169
msgid "CloGaelach"
msgstr "CloGaelach"
-#: ../rules/base.xml.in.h:155
+#: ../rules/base.xml.in.h:170
msgid "Colemak"
msgstr "Colemak"
-#: ../rules/base.xml.in.h:156
+#: ../rules/base.xml.in.h:171
msgid "Compaq Easy Access Keyboard"
msgstr "Compaq Easy Access Keyboard"
-#: ../rules/base.xml.in.h:157
+#: ../rules/base.xml.in.h:172
msgid "Compaq Internet Keyboard (13 keys)"
msgstr "Compaq Internet Keyboard (13 klavoj)"
-#: ../rules/base.xml.in.h:158
+#: ../rules/base.xml.in.h:173
msgid "Compaq Internet Keyboard (18 keys)"
msgstr "Compaq Internet Keyboard (18 klavoj)"
-#: ../rules/base.xml.in.h:159
+#: ../rules/base.xml.in.h:174
msgid "Compaq Internet Keyboard (7 keys)"
msgstr "Compaq Internet Keyboard (7 klavoj)"
-#: ../rules/base.xml.in.h:160
+#: ../rules/base.xml.in.h:175
msgid "Compaq iPaq Keyboard"
msgstr "Compaq iPaq Keyboard"
-#: ../rules/base.xml.in.h:161
+#: ../rules/base.xml.in.h:176
msgid "Compose key position"
msgstr "Pozicio de la klavo 'Compose'"
-#: ../rules/base.xml.in.h:162
+#: ../rules/base.xml.in.h:177
msgid "Congo, Democratic Republic of the"
msgstr "Kongo, Demokratia Respubliko de"
-#: ../rules/base.xml.in.h:163
+#: ../rules/base.xml.in.h:178
msgid "Control + Alt + Backspace"
msgstr "Control + Alt + Backspace"
-#: ../rules/base.xml.in.h:164
+#: ../rules/base.xml.in.h:179
msgid "Control is mapped to Alt keys, Alt is mapped to Win keys"
msgstr "'Control' estas mapita al klavoj 'Alt', 'Alt' estas mapita al klavoj 'Win'"
-#: ../rules/base.xml.in.h:165
+#: ../rules/base.xml.in.h:180
msgid "Control is mapped to Win keys (and the usual Ctrl keys)"
msgstr "'Control' estas mapita al klavoj 'Win' (kaj al la kutimaj klavoj 'Ctrl')"
-#: ../rules/base.xml.in.h:166
+#: ../rules/base.xml.in.h:181
msgid "Creative Desktop Wireless 7000"
msgstr "Creative Desktop Wireless 7000"
-#: ../rules/base.xml.in.h:167
+#: ../rules/base.xml.in.h:182
msgid "Crimean Tatar (Dobruca-1 Q)"
msgstr "Krime-tatara (Dobruca-1 Q)"
-#: ../rules/base.xml.in.h:168
+#: ../rules/base.xml.in.h:183
msgid "Crimean Tatar (Dobruca-2 Q)"
msgstr "Krime-tatara (Dobruca-2 Q)"
-#: ../rules/base.xml.in.h:169
+#: ../rules/base.xml.in.h:184
msgid "Crimean Tatar (Turkish Alt-Q)"
msgstr "Krime-tatara (Turka Alt-Q)"
-#: ../rules/base.xml.in.h:170
+#: ../rules/base.xml.in.h:185
msgid "Crimean Tatar (Turkish F)"
msgstr "Krime-tatara (Turka F)"
-#: ../rules/base.xml.in.h:171
+#: ../rules/base.xml.in.h:186
msgid "Crimean Tatar (Turkish Q)"
msgstr "Krime-tatara (Turka Q)"
-#: ../rules/base.xml.in.h:172
+#: ../rules/base.xml.in.h:187
msgid "Croatia"
msgstr "Kroata"
-#: ../rules/base.xml.in.h:173
+#: ../rules/base.xml.in.h:188
msgid "Ctrl key position"
msgstr "Pozicio de la klavo 'Ctrl'"
-#: ../rules/base.xml.in.h:174
+#: ../rules/base.xml.in.h:189
msgid "Ctrl+Shift"
msgstr "Ctrl+Shift"
-#: ../rules/base.xml.in.h:175
+#: ../rules/base.xml.in.h:190
msgid "Cyrillic"
msgstr "Cirila"
-#: ../rules/base.xml.in.h:176
+#: ../rules/base.xml.in.h:191
msgid "Cyrillic with guillemets"
msgstr "Cirila kun angul-citiloj"
-#: ../rules/base.xml.in.h:177
+#: ../rules/base.xml.in.h:192
msgid "Cyrillic, Z and ZHE swapped"
msgstr "Cirila, Z kaj ZHE interŝanĝita"
-#: ../rules/base.xml.in.h:178
+#: ../rules/base.xml.in.h:193
msgid "Cze"
msgstr "Cze"
-#: ../rules/base.xml.in.h:179
+#: ../rules/base.xml.in.h:194
msgid "Czechia"
msgstr "Ĉeĥa"
-#: ../rules/base.xml.in.h:180
+#: ../rules/base.xml.in.h:195
msgid "DOS"
msgstr "DOS"
-#: ../rules/base.xml.in.h:181
-msgid "DRC"
-msgstr "DRC"
-
-#: ../rules/base.xml.in.h:182
+#: ../rules/base.xml.in.h:196
msgid "DTK2000"
msgstr "DTK2000"
-#: ../rules/base.xml.in.h:183
-msgid "Dan"
-msgstr "Dan"
-
-#: ../rules/base.xml.in.h:184
+#: ../rules/base.xml.in.h:197
msgid "Dead acute"
msgstr "Senpaŝa dekstra korno"
-#: ../rules/base.xml.in.h:185
+#: ../rules/base.xml.in.h:198
msgid "Dead grave acute"
msgstr "Senpaŝa maldekstra korno"
-#: ../rules/base.xml.in.h:186
+#: ../rules/base.xml.in.h:199
msgid "Default numeric keypad keys"
msgstr "Implicitaj ciferoj en cifer-klavaro"
-#: ../rules/base.xml.in.h:187
+#: ../rules/base.xml.in.h:200
msgid "Dell"
msgstr "Dell"
-#: ../rules/base.xml.in.h:188
+#: ../rules/base.xml.in.h:201
msgid "Dell 101-key PC"
msgstr "Dell 101-klava PC"
-#: ../rules/base.xml.in.h:189
+#: ../rules/base.xml.in.h:202
msgid "Dell Laptop/notebook Inspiron 6xxx/8xxx"
msgstr "Dell Laptop/notebook Inspiron 6xxx/8xxx"
-#: ../rules/base.xml.in.h:190
+#: ../rules/base.xml.in.h:203
msgid "Dell Laptop/notebook Precision M series"
msgstr "Dell Laptop/notebook Precision M series"
-#: ../rules/base.xml.in.h:191
+#: ../rules/base.xml.in.h:204
msgid "Dell Latitude series laptop"
msgstr "Dell Latitude series laptop"
-#: ../rules/base.xml.in.h:192
+#: ../rules/base.xml.in.h:205
msgid "Dell Precision M65"
msgstr "Dell Precision M65"
-#: ../rules/base.xml.in.h:193
+#: ../rules/base.xml.in.h:206
msgid "Dell SK-8125"
msgstr "Dell SK-8125"
-#: ../rules/base.xml.in.h:194
+#: ../rules/base.xml.in.h:207
msgid "Dell SK-8135"
msgstr "Dell SK-8135"
-#: ../rules/base.xml.in.h:195
+#: ../rules/base.xml.in.h:208
msgid "Dell USB Multimedia Keyboard"
msgstr "Dell USB Multimedia Keyboard"
-#: ../rules/base.xml.in.h:196
+#: ../rules/base.xml.in.h:209
msgid "Denmark"
msgstr "Danujo"
-#: ../rules/base.xml.in.h:197
+#: ../rules/base.xml.in.h:210
msgid "Deu"
msgstr "Deu"
-#: ../rules/base.xml.in.h:198
+#: ../rules/base.xml.in.h:211
msgid "Dexxa Wireless Desktop Keyboard"
msgstr "Dexxa Wireless Desktop Keyboard"
-#: ../rules/base.xml.in.h:199
+#: ../rules/base.xml.in.h:212
msgid "Diamond 9801 / 9802 series"
msgstr "Diamond 9801 / 9802 serio"
-#: ../rules/base.xml.in.h:200
+#: ../rules/base.xml.in.h:213
+msgid "Dnk"
+msgstr "Dnk"
+
+#: ../rules/base.xml.in.h:214
msgid "Dvorak"
msgstr "Dvorako"
-#: ../rules/base.xml.in.h:201
+#: ../rules/base.xml.in.h:215
msgid "Dvorak (UK Punctuation)"
msgstr "Dvorako (Interpunkcio de UK)"
-#: ../rules/base.xml.in.h:202
-msgid "Dvorak international"
-msgstr "Internacia Dvorako"
+#: ../rules/base.xml.in.h:216
+msgid "Dvorak alternative international (no dead keys)"
+msgstr "Dvoraka alternativa internacia (neniu senpaŝa klavo)"
-#: ../rules/base.xml.in.h:203
+#: ../rules/base.xml.in.h:217
+msgid "Dvorak international (with dead keys)"
+msgstr "Dvorak internacia (kun senpaŝaj klavoj)"
+
+#: ../rules/base.xml.in.h:218
msgid "Dvorak, Polish quotes on key 1"
msgstr "Dvorako, Polaj citiloj ĉe klavo 1"
-#: ../rules/base.xml.in.h:204
+#: ../rules/base.xml.in.h:219
msgid "Dvorak, Polish quotes on quotemark key"
msgstr "Dvorako, Polaj citiloj ĉe citila klavo"
-#: ../rules/base.xml.in.h:205
+#: ../rules/base.xml.in.h:220
msgid "E"
msgstr "E"
-#: ../rules/base.xml.in.h:206
+#: ../rules/base.xml.in.h:221
msgid "Eastern"
msgstr "Orienta"
-#: ../rules/base.xml.in.h:207
+#: ../rules/base.xml.in.h:222
msgid "Eliminate dead keys"
msgstr "Forigi senpaŝajn klavojn"
-#: ../rules/base.xml.in.h:208
+#: ../rules/base.xml.in.h:223
msgid "Enable extra typographic characters"
msgstr "Ebligi kromajn tipografiajn signojn"
-#: ../rules/base.xml.in.h:209
+#: ../rules/base.xml.in.h:224
msgid "English"
msgstr "Angla"
-#: ../rules/base.xml.in.h:210
+#: ../rules/base.xml.in.h:225
+msgid "English (USA International)"
+msgstr "Angla (Usona internacia)"
+
+#: ../rules/base.xml.in.h:226
+msgid "English (USA Macintosh)"
+msgstr "Angla (Usona Macintosh)"
+
+#: ../rules/base.xml.in.h:227
msgid "Ennyah DKB-1008"
msgstr "Ennyah DKB-1008"
-#: ../rules/base.xml.in.h:211
+#: ../rules/base.xml.in.h:228
msgid "Enter on keypad"
msgstr "Enen-klavo en ciferklavaro"
-#: ../rules/base.xml.in.h:212
+#: ../rules/base.xml.in.h:229
msgid "Epo"
msgstr "Epo"
-#: ../rules/base.xml.in.h:213
+#: ../rules/base.xml.in.h:230
msgid "Ergonomic"
msgstr "Ergonomia"
-#: ../rules/base.xml.in.h:214
+#: ../rules/base.xml.in.h:231
msgid "Esp"
msgstr "Esp"
-#: ../rules/base.xml.in.h:215
+#: ../rules/base.xml.in.h:232
msgid "Esperanto"
msgstr "Esperanto"
-#: ../rules/base.xml.in.h:216
+#: ../rules/base.xml.in.h:233
msgid "Est"
msgstr "Est"
-#: ../rules/base.xml.in.h:217
+#: ../rules/base.xml.in.h:234
msgid "Estonia"
msgstr "Estonujo"
-#: ../rules/base.xml.in.h:218
+#: ../rules/base.xml.in.h:235
msgid "Eth"
msgstr "Eth"
-#: ../rules/base.xml.in.h:219
+#: ../rules/base.xml.in.h:236
msgid "Ethiopia"
msgstr "Etiopujo"
-#: ../rules/base.xml.in.h:220
-msgid "Evdev-managed keyboard"
-msgstr "Klavaro traktita per 'Evdev'"
-
-#: ../rules/base.xml.in.h:221
+#: ../rules/base.xml.in.h:237
msgid "Everex STEPnote"
msgstr "Everex STEPnote"
-#: ../rules/base.xml.in.h:222
+#: ../rules/base.xml.in.h:238
msgid "Ewe"
msgstr "Ewe"
-#: ../rules/base.xml.in.h:223
+#: ../rules/base.xml.in.h:239
msgid "Extended"
msgstr "Etendite"
-#: ../rules/base.xml.in.h:224
+#: ../rules/base.xml.in.h:240
msgid "Extended - Winkeys"
msgstr "Etendite - Win-klavoj"
-#: ../rules/base.xml.in.h:225
+#: ../rules/base.xml.in.h:241
msgid "Extended Backslash"
-msgstr "Etendita Malsuprenstreko"
+msgstr "Etendita Retroklino"
-#: ../rules/base.xml.in.h:226
+#: ../rules/base.xml.in.h:242
msgid "F-letter (F) variant"
msgstr "F-litero (F) variaĵo"
-#: ../rules/base.xml.in.h:227
+#: ../rules/base.xml.in.h:243
msgid "FL90"
msgstr "FL90"
-#: ../rules/base.xml.in.h:228
-msgid "Fao"
-msgstr "Fao"
-
-#: ../rules/base.xml.in.h:229
+#: ../rules/base.xml.in.h:244
msgid "Faroe Islands"
msgstr "Ferooj"
-#: ../rules/base.xml.in.h:230
+#: ../rules/base.xml.in.h:245
msgid "Fin"
msgstr "Fin"
-#: ../rules/base.xml.in.h:231
+#: ../rules/base.xml.in.h:246
msgid "Finland"
msgstr "Finlando"
#. This assumes the KP_ abstract symbols are actually useful for some apps
#. The description needs to be rewritten
-#: ../rules/base.xml.in.h:234
+#: ../rules/base.xml.in.h:249
msgid "Four-level key with abstract separators"
msgstr "Kvar-nivela klavo kun abstraktaj apartigiloj"
-#: ../rules/base.xml.in.h:235
+#: ../rules/base.xml.in.h:250
msgid "Four-level key with comma"
msgstr "Kvar-nivela klavo kun komo"
-#: ../rules/base.xml.in.h:236
+#: ../rules/base.xml.in.h:251
msgid "Four-level key with dot"
msgstr "Kvar-nivela klavo kun punkto"
-#: ../rules/base.xml.in.h:237
+#: ../rules/base.xml.in.h:252
msgid "Four-level key with dot, latin-9 restriction"
msgstr "Kvar-nivela klavo kun punkto, limigite al latin-9"
-#: ../rules/base.xml.in.h:238
+#: ../rules/base.xml.in.h:253
msgid "Four-level key with momayyez"
msgstr "Kvar-nivela klavo kun 'momayyez'"
-#: ../rules/base.xml.in.h:239
+#: ../rules/base.xml.in.h:254
msgid "Fra"
msgstr "Fra"
-#: ../rules/base.xml.in.h:240
+#: ../rules/base.xml.in.h:255
msgid "France"
msgstr "Francujo"
-#: ../rules/base.xml.in.h:241
+#: ../rules/base.xml.in.h:256
+msgid "Français (France Alternative)"
+msgstr "Français (Franca Alternativa)"
+
+#: ../rules/base.xml.in.h:257
msgid "French"
msgstr "Franca"
-#: ../rules/base.xml.in.h:242
+#: ../rules/base.xml.in.h:258
msgid "French (Macintosh)"
msgstr "Franca (Macintosh)"
-#: ../rules/base.xml.in.h:243
+#: ../rules/base.xml.in.h:259
msgid "French (legacy)"
msgstr "Franca (malmoderna)"
-#: ../rules/base.xml.in.h:244
+#: ../rules/base.xml.in.h:260
msgid "French Dvorak"
msgstr "Franca Dvorako"
-#: ../rules/base.xml.in.h:245
+#: ../rules/base.xml.in.h:261
msgid "French, Sun dead keys"
msgstr "Franca, senpaŝaj klavoj de 'Sun'"
-#: ../rules/base.xml.in.h:246
+#: ../rules/base.xml.in.h:262
msgid "French, eliminate dead keys"
msgstr "Franca, forigi senpaŝajn klavojn"
-#: ../rules/base.xml.in.h:247
+#: ../rules/base.xml.in.h:263
+msgid "Fro"
+msgstr "Fro"
+
+#: ../rules/base.xml.in.h:264
msgid "Fujitsu-Siemens Computers AMILO laptop"
msgstr "Tekokomputilo Fujitsu-Siemens Computers AMILO"
-#: ../rules/base.xml.in.h:248
+#: ../rules/base.xml.in.h:265
msgid "Fula"
-msgstr "Fulba"
+msgstr "Fula"
-#: ../rules/base.xml.in.h:249
+#: ../rules/base.xml.in.h:266
msgid "GBr"
msgstr "GBr"
-#: ../rules/base.xml.in.h:250
+#: ../rules/base.xml.in.h:267
+msgid "GILLBT"
+msgstr "GILLBT"
+
+#: ../rules/base.xml.in.h:268
msgid "Ga"
msgstr "Ga"
-#: ../rules/base.xml.in.h:251
+#: ../rules/base.xml.in.h:269
msgid "Generic 101-key PC"
msgstr "Ĝenerala 101-klava PC"
-#: ../rules/base.xml.in.h:252
+#: ../rules/base.xml.in.h:270
msgid "Generic 102-key (Intl) PC"
msgstr "Ĝenerala 102-klava (Intl) PC"
-#: ../rules/base.xml.in.h:253
+#: ../rules/base.xml.in.h:271
msgid "Generic 104-key PC"
msgstr "Ĝenerala 104-klava PC"
-#: ../rules/base.xml.in.h:254
+#: ../rules/base.xml.in.h:272
msgid "Generic 105-key (Intl) PC"
msgstr "Ĝenerala 105-klava (Intl) PC"
-#: ../rules/base.xml.in.h:255
+#: ../rules/base.xml.in.h:273
msgid "Genius Comfy KB-12e"
msgstr "Genius Comfy KB-12e"
-#: ../rules/base.xml.in.h:256
+#: ../rules/base.xml.in.h:274
msgid "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
msgstr "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
-#: ../rules/base.xml.in.h:257
+#: ../rules/base.xml.in.h:275
msgid "Genius Comfy KB-21e-Scroll"
msgstr "Genius Comfy KB-21e-Scroll"
-#: ../rules/base.xml.in.h:258
+#: ../rules/base.xml.in.h:276
msgid "Genius KB-19e NB"
msgstr "Genius KB-19e NB"
-#: ../rules/base.xml.in.h:259
+#: ../rules/base.xml.in.h:277
msgid "Genius KKB-2050HS"
msgstr "Genius KKB-2050HS"
-#: ../rules/base.xml.in.h:260
+#: ../rules/base.xml.in.h:278
msgid "Geo"
msgstr "Geo"
-#: ../rules/base.xml.in.h:261
+#: ../rules/base.xml.in.h:279
msgid "Georgia"
msgstr "Kartvelujo"
-#: ../rules/base.xml.in.h:262
+#: ../rules/base.xml.in.h:280
msgid "Georgian"
msgstr "Kartvela"
-#: ../rules/base.xml.in.h:263
+#: ../rules/base.xml.in.h:281
msgid "Georgian AZERTY Tskapo"
msgstr "Kartvela AZERTY Tskapo"
-#: ../rules/base.xml.in.h:264
+#: ../rules/base.xml.in.h:282
msgid "German (Macintosh)"
msgstr "Germana (Macintosh)"
-#: ../rules/base.xml.in.h:265
+#: ../rules/base.xml.in.h:283
msgid "German, Sun dead keys"
msgstr "Germana, senpaŝaj klavoj de 'Sun'"
-#: ../rules/base.xml.in.h:266
+#: ../rules/base.xml.in.h:284
msgid "German, eliminate dead keys"
msgstr "Germana, forigi senpaŝajn klavojn"
-#: ../rules/base.xml.in.h:267
+#: ../rules/base.xml.in.h:285
msgid "Germany"
msgstr "Germanujo"
-#: ../rules/base.xml.in.h:268
+#: ../rules/base.xml.in.h:286
msgid "Gha"
msgstr "Gha"
-#: ../rules/base.xml.in.h:269
+#: ../rules/base.xml.in.h:287
msgid "Ghana"
msgstr "Ganao"
-#: ../rules/base.xml.in.h:270
-msgid "Gre"
-msgstr "Gre"
+#: ../rules/base.xml.in.h:288
+msgid "Gin"
+msgstr "Gin"
-#: ../rules/base.xml.in.h:271
+#: ../rules/base.xml.in.h:289
+msgid "Grc"
+msgstr "Grc"
+
+#: ../rules/base.xml.in.h:290
msgid "Greece"
msgstr "Grekujo"
-#: ../rules/base.xml.in.h:272
-msgid "Group toggle on multiply/divide key"
-msgstr "Grup-alternado en la klavo multipliko/divido"
-
-#: ../rules/base.xml.in.h:273
-msgid "Gui"
-msgstr "Gui"
-
-#: ../rules/base.xml.in.h:274
+#: ../rules/base.xml.in.h:291
msgid "Guinea"
msgstr "Gvineo"
-#: ../rules/base.xml.in.h:275
+#: ../rules/base.xml.in.h:292
msgid "Gujarati"
msgstr "Guĝarata"
-#: ../rules/base.xml.in.h:276
+#: ../rules/base.xml.in.h:293
msgid "Gurmukhi"
msgstr "Gurmukia"
-#: ../rules/base.xml.in.h:277
+#: ../rules/base.xml.in.h:294
msgid "Gurmukhi Jhelum"
msgstr "Gurmukia de Jhelum"
-#: ../rules/base.xml.in.h:278
+#: ../rules/base.xml.in.h:295
msgid "Gyration"
msgstr "Gyration"
-#: ../rules/base.xml.in.h:279
+#: ../rules/base.xml.in.h:296
msgid "Happy Hacking Keyboard"
msgstr "Happy Hacking Keyboard"
-#: ../rules/base.xml.in.h:280
+#: ../rules/base.xml.in.h:297
msgid "Happy Hacking Keyboard for Mac"
msgstr "Happy Hacking Keyboard por Mac"
-#: ../rules/base.xml.in.h:281
+#: ../rules/base.xml.in.h:298
msgid "Hausa"
msgstr "Haŭsa"
-#: ../rules/base.xml.in.h:282
+#: ../rules/base.xml.in.h:299
msgid "Hewlett-Packard Internet Keyboard"
msgstr "Hewlett-Packard Internet Keyboard"
-#: ../rules/base.xml.in.h:283
+#: ../rules/base.xml.in.h:300
msgid "Hewlett-Packard Mini 110 Notebook"
msgstr "Hewlett-Packard Mini 110 Notebook"
-#: ../rules/base.xml.in.h:284
+#: ../rules/base.xml.in.h:301
msgid "Hewlett-Packard Omnibook 500 FA"
msgstr "Hewlett-Packard Omnibook 500 FA"
-#: ../rules/base.xml.in.h:285
+#: ../rules/base.xml.in.h:302
msgid "Hewlett-Packard Omnibook 5xx"
msgstr "Hewlett-Packard Omnibook 5xx"
-#: ../rules/base.xml.in.h:286
+#: ../rules/base.xml.in.h:303
msgid "Hewlett-Packard Omnibook 6000/6100"
msgstr "Hewlett-Packard Omnibook 6000/6100"
-#: ../rules/base.xml.in.h:287
+#: ../rules/base.xml.in.h:304
msgid "Hewlett-Packard Omnibook XE3 GC"
msgstr "Hewlett-Packard Omnibook XE3 GC"
-#: ../rules/base.xml.in.h:288
+#: ../rules/base.xml.in.h:305
msgid "Hewlett-Packard Omnibook XE3 GF"
msgstr "Hewlett-Packard Omnibook XE3 GF"
-#: ../rules/base.xml.in.h:289
+#: ../rules/base.xml.in.h:306
msgid "Hewlett-Packard Omnibook XT1000"
msgstr "Hewlett-Packard Omnibook XT1000"
-#: ../rules/base.xml.in.h:290
+#: ../rules/base.xml.in.h:307
msgid "Hewlett-Packard Pavilion ZT11xx"
msgstr "Hewlett-Packard Pavilion ZT11xx"
-#: ../rules/base.xml.in.h:291
+#: ../rules/base.xml.in.h:308
msgid "Hewlett-Packard Pavilion dv5"
msgstr "Hewlett-Packard Pavilion dv5"
-#: ../rules/base.xml.in.h:292
+#: ../rules/base.xml.in.h:309
msgid "Hewlett-Packard SK-250x Multimedia Keyboard"
msgstr "Hewlett-Packard SK-250x Multimedia Keyboard"
-#: ../rules/base.xml.in.h:293
+#: ../rules/base.xml.in.h:310
msgid "Hewlett-Packard nx9020"
msgstr "Hewlett-Packard nx9020"
-#: ../rules/base.xml.in.h:294
+#: ../rules/base.xml.in.h:311
msgid "Hexadecimal"
msgstr "Deksesume"
-#: ../rules/base.xml.in.h:295
+#: ../rules/base.xml.in.h:312
msgid "Hindi Bolnagri"
msgstr "Hinda per Bolnagri"
-#: ../rules/base.xml.in.h:296
+#: ../rules/base.xml.in.h:313
msgid "Hindi Wx"
msgstr "Hinda Wx"
-#: ../rules/base.xml.in.h:297
+#: ../rules/base.xml.in.h:314
msgid "Homophonic"
msgstr "Homofonia"
-#: ../rules/base.xml.in.h:298
+#: ../rules/base.xml.in.h:315
msgid "Honeywell Euroboard"
msgstr "Honeywell Euroboard"
-#: ../rules/base.xml.in.h:299
+#: ../rules/base.xml.in.h:316
msgid "Hrv"
msgstr "Hrv"
-#: ../rules/base.xml.in.h:300
+#: ../rules/base.xml.in.h:317
msgid "Hun"
msgstr "Hun"
-#: ../rules/base.xml.in.h:301
+#: ../rules/base.xml.in.h:318
msgid "Hungary"
msgstr "Hungarujo"
-#: ../rules/base.xml.in.h:302
+#: ../rules/base.xml.in.h:319
msgid "Hyper is mapped to Win-keys"
msgstr "'Hyper' estas mapita al la klavoj 'Win'"
-#: ../rules/base.xml.in.h:303
+#: ../rules/base.xml.in.h:320
msgid "IBM (LST 1205-92)"
msgstr "IBM (LST 1205-92)"
-#: ../rules/base.xml.in.h:304
+#: ../rules/base.xml.in.h:321
msgid "IBM Rapid Access"
msgstr "IBM Rapid Access"
-#: ../rules/base.xml.in.h:305
+#: ../rules/base.xml.in.h:322
msgid "IBM Rapid Access II"
msgstr "IBM Rapid Access II"
-#: ../rules/base.xml.in.h:306
+#: ../rules/base.xml.in.h:323
msgid "IBM Space Saver"
msgstr "IBM Space Saver"
-#: ../rules/base.xml.in.h:307
+#: ../rules/base.xml.in.h:324
msgid "IBM ThinkPad 560Z/600/600E/A22E"
msgstr "IBM ThinkPad 560Z/600/600E/A22E"
-#: ../rules/base.xml.in.h:308
+#: ../rules/base.xml.in.h:325
msgid "IBM ThinkPad R60/T60/R61/T61"
msgstr "IBM ThinkPad R60/T60/R61/T61"
-#: ../rules/base.xml.in.h:309
+#: ../rules/base.xml.in.h:326
msgid "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
msgstr "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
-#: ../rules/base.xml.in.h:310
+#: ../rules/base.xml.in.h:327
msgid "ISO Alternate"
msgstr "Alternativa ISO"
-#: ../rules/base.xml.in.h:311
+#: ../rules/base.xml.in.h:328
msgid "Iceland"
msgstr "Islando"
-#: ../rules/base.xml.in.h:312
+#: ../rules/base.xml.in.h:329
msgid "Igbo"
msgstr "Igbo"
-#: ../rules/base.xml.in.h:313
+#: ../rules/base.xml.in.h:330
msgid "Include dead tilde"
msgstr "Inkluzivi senpaŝan tildon"
-#: ../rules/base.xml.in.h:314
+#: ../rules/base.xml.in.h:331
msgid "Ind"
msgstr "Ind"
-#: ../rules/base.xml.in.h:315
+#: ../rules/base.xml.in.h:332
msgid "India"
msgstr "Bharato"
-#: ../rules/base.xml.in.h:316
+#: ../rules/base.xml.in.h:333
msgid "International (AltGr dead keys)"
msgstr "Internacia (senpaŝaj klavoj per 'AltGr')"
-#: ../rules/base.xml.in.h:317
+#: ../rules/base.xml.in.h:334
msgid "International (with dead keys)"
msgstr "Internacia (senpaŝaj klavoj)"
-#: ../rules/base.xml.in.h:318
+#: ../rules/base.xml.in.h:335
msgid "Inuktitut"
msgstr "Inuita"
-#: ../rules/base.xml.in.h:319
+#: ../rules/base.xml.in.h:336 ../rules/base.extras.xml.in.h:8
msgid "Iran"
msgstr "Irano"
-#: ../rules/base.xml.in.h:320
+#: ../rules/base.xml.in.h:337
msgid "Iraq"
msgstr "Irako"
-#: ../rules/base.xml.in.h:321
+#: ../rules/base.xml.in.h:338
msgid "Ireland"
msgstr "Irlando"
-#: ../rules/base.xml.in.h:322
+#: ../rules/base.xml.in.h:339
msgid "Irl"
msgstr "Irl"
-#: ../rules/base.xml.in.h:323
+#: ../rules/base.xml.in.h:340
msgid "Irn"
msgstr "Irn"
-#: ../rules/base.xml.in.h:324
+#: ../rules/base.xml.in.h:341
msgid "Irq"
msgstr "Irq"
-#: ../rules/base.xml.in.h:325
+#: ../rules/base.xml.in.h:342
msgid "Isl"
msgstr "Isl"
-#: ../rules/base.xml.in.h:326
+#: ../rules/base.xml.in.h:343
msgid "Isr"
msgstr "Isr"
-#: ../rules/base.xml.in.h:327
+#: ../rules/base.xml.in.h:344
msgid "Israel"
msgstr "Israelo"
-#: ../rules/base.xml.in.h:328
+#: ../rules/base.xml.in.h:345
msgid "Ita"
msgstr "Ita"
-#: ../rules/base.xml.in.h:329
+#: ../rules/base.xml.in.h:346
msgid "Italy"
msgstr "Italujo"
-#: ../rules/base.xml.in.h:330
+#: ../rules/base.xml.in.h:347
msgid "Japan"
msgstr "Nipono"
-#: ../rules/base.xml.in.h:331
+#: ../rules/base.xml.in.h:348
msgid "Japan (PC-98xx Series)"
msgstr "Nipono (Serio PC-98xx)"
-#: ../rules/base.xml.in.h:332
+#: ../rules/base.xml.in.h:349
msgid "Japanese keyboard options"
msgstr "Opcioj de nipona klavaro"
-#: ../rules/base.xml.in.h:333
+#: ../rules/base.xml.in.h:350
msgid "Jpn"
msgstr "Jpn"
-#: ../rules/base.xml.in.h:334
+#: ../rules/base.xml.in.h:351
msgid "Kalmyk"
msgstr "Kalmyk"
-#: ../rules/base.xml.in.h:335
+#: ../rules/base.xml.in.h:352
msgid "Kana"
msgstr "Kanao"
-#: ../rules/base.xml.in.h:336
+#: ../rules/base.xml.in.h:353
msgid "Kana Lock key is locking"
msgstr "Kanaa klavo 'Lock' ŝlosigas"
-#: ../rules/base.xml.in.h:337
+#: ../rules/base.xml.in.h:354
msgid "Kannada"
msgstr "Kanara"
-#: ../rules/base.xml.in.h:338
+#: ../rules/base.xml.in.h:355
msgid "Kashubian"
msgstr "Kaŝuba"
-#: ../rules/base.xml.in.h:339
+#: ../rules/base.xml.in.h:356
msgid "Kaz"
msgstr "Kaz"
-#: ../rules/base.xml.in.h:340
+#: ../rules/base.xml.in.h:357
msgid "Kazakh with Russian"
msgstr "Kazaĥa kaj Rusa"
-#: ../rules/base.xml.in.h:341
+#: ../rules/base.xml.in.h:358
msgid "Kazakhstan"
msgstr "Kazaĥujo"
-#: ../rules/base.xml.in.h:342
+#: ../rules/base.xml.in.h:359
+msgid "Ken"
+msgstr "Ken"
+
+#: ../rules/base.xml.in.h:360
+msgid "Kenya"
+msgstr "Kenjo"
+
+#: ../rules/base.xml.in.h:361
msgid "Key sequence to kill the X server"
msgstr "Klav-sekvo por formortigi la X-servilon"
-#: ../rules/base.xml.in.h:343
+#: ../rules/base.xml.in.h:362
msgid "Key to choose 3rd level"
msgstr "Klavo por elekti 3-an nivelon"
-#: ../rules/base.xml.in.h:344
+#: ../rules/base.xml.in.h:363
+msgid "Key to choose 5th level"
+msgstr "Klavo por elekti 5-an nivelon"
+
+#: ../rules/base.xml.in.h:364
msgid "Key(s) to change layout"
msgstr "Klavo(j) por ŝanĝi la aranĝon"
-#: ../rules/base.xml.in.h:345
+#: ../rules/base.xml.in.h:365
msgid "Keytronic FlexPro"
msgstr "Keytronic FlexPro"
-#: ../rules/base.xml.in.h:346
+#: ../rules/base.xml.in.h:366
msgid "Kgz"
msgstr "Kgz"
-#: ../rules/base.xml.in.h:347
+#: ../rules/base.xml.in.h:367
msgid "Khm"
msgstr "Khm"
-#: ../rules/base.xml.in.h:348
+#: ../rules/base.xml.in.h:368
+msgid "Kikuyu"
+msgstr "Kikuyu"
+
+#: ../rules/base.xml.in.h:369
+msgid "Kinesis"
+msgstr "Kinesis"
+
+#: ../rules/base.xml.in.h:370
msgid "Komi"
msgstr "Komia"
-#: ../rules/base.xml.in.h:349
+#: ../rules/base.xml.in.h:371
msgid "Kor"
msgstr "Kor"
-#: ../rules/base.xml.in.h:350
+#: ../rules/base.xml.in.h:372
msgid "Korea, Republic of"
msgstr "Koreujo, Respubliko de"
-#: ../rules/base.xml.in.h:351
+#: ../rules/base.xml.in.h:373
msgid "Ktunaxa"
msgstr "Ktunaxa"
-#: ../rules/base.xml.in.h:352
+#: ../rules/base.xml.in.h:374
msgid "Kurdish, (F)"
msgstr "Kurda, (F)"
-#: ../rules/base.xml.in.h:353
+#: ../rules/base.xml.in.h:375
msgid "Kurdish, Arabic-Latin"
msgstr "Kurda, Araba-Latina"
-#: ../rules/base.xml.in.h:354
+#: ../rules/base.xml.in.h:376
msgid "Kurdish, Latin Alt-Q"
msgstr "Kurda, Latina Alt-Q"
-#: ../rules/base.xml.in.h:355
+#: ../rules/base.xml.in.h:377
msgid "Kurdish, Latin Q"
msgstr "Kurda, Lania Q"
-#: ../rules/base.xml.in.h:356
+#: ../rules/base.xml.in.h:378
msgid "Kyrgyzstan"
msgstr "Kirgizujo"
-#: ../rules/base.xml.in.h:357
+#: ../rules/base.xml.in.h:379
msgid "LAm"
msgstr "LAm"
-#: ../rules/base.xml.in.h:358
+#: ../rules/base.xml.in.h:380
msgid "LEKP"
msgstr "LEKP"
-#: ../rules/base.xml.in.h:359
+#: ../rules/base.xml.in.h:381
msgid "LEKPa"
msgstr "LEKPa"
-#: ../rules/base.xml.in.h:360
+#: ../rules/base.xml.in.h:382
msgid "Lao"
msgstr "Lao"
-#: ../rules/base.xml.in.h:361
+#: ../rules/base.xml.in.h:383
msgid "Laos"
msgstr "Laoso"
-#: ../rules/base.xml.in.h:362
+#: ../rules/base.xml.in.h:384
msgid "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard"
msgstr "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard"
-#: ../rules/base.xml.in.h:363
+#: ../rules/base.xml.in.h:385
msgid "Laptop/notebook Compaq (eg. Presario) Internet Keyboard"
msgstr "Laptop/notebook Compaq (eg. Presario) Internet Keyboard"
-#: ../rules/base.xml.in.h:364
+#: ../rules/base.xml.in.h:386
msgid "Laptop/notebook eMachines m68xx"
msgstr "Laptop/notebook eMachines m68xx"
-#: ../rules/base.xml.in.h:365
+#: ../rules/base.xml.in.h:387
msgid "Latin"
msgstr "Latineca"
-#: ../rules/base.xml.in.h:366
+#: ../rules/base.xml.in.h:388
msgid "Latin American"
msgstr "Latin-amerika"
-#: ../rules/base.xml.in.h:367
+#: ../rules/base.xml.in.h:389
msgid "Latin Unicode"
msgstr "Latineca Unikoda"
-#: ../rules/base.xml.in.h:368
+#: ../rules/base.xml.in.h:390
msgid "Latin Unicode qwerty"
msgstr "Latineca Unikoda qwerty"
-#: ../rules/base.xml.in.h:369
+#: ../rules/base.xml.in.h:391
msgid "Latin qwerty"
msgstr "Latineca qwerty"
-#: ../rules/base.xml.in.h:370
+#: ../rules/base.xml.in.h:392
msgid "Latin unicode"
msgstr "Latineca unikoda"
-#: ../rules/base.xml.in.h:371
+#: ../rules/base.xml.in.h:393
msgid "Latin unicode qwerty"
msgstr "Latineca unikoda qwerty"
-#: ../rules/base.xml.in.h:372
+#: ../rules/base.xml.in.h:394
msgid "Latin with guillemets"
msgstr "Latineca kun angul-citiloj"
-#: ../rules/base.xml.in.h:373
+#: ../rules/base.xml.in.h:395
msgid "Latvia"
msgstr "Latvujo"
-#: ../rules/base.xml.in.h:374
-msgid "Lav"
-msgstr "Lav"
+#: ../rules/base.xml.in.h:396
+msgid "Layout toggle on multiply/divide key"
+msgstr "Aranĝ-alternado en la klavo multipliko/divido"
-#: ../rules/base.xml.in.h:375
+#: ../rules/base.xml.in.h:397
msgid "Left Alt"
msgstr "Maldekstra Alt"
-#: ../rules/base.xml.in.h:376
+#: ../rules/base.xml.in.h:398
msgid "Left Alt (while pressed)"
msgstr "Maldekstra 'Alt' (dum premata)"
-#: ../rules/base.xml.in.h:377
+#: ../rules/base.xml.in.h:399
msgid "Left Alt is swapped with Left Win"
msgstr "La maldekstra 'Alt' estas permutita kun la maldekstra klavo 'Win'"
-#: ../rules/base.xml.in.h:378
+#: ../rules/base.xml.in.h:400
msgid "Left Ctrl"
msgstr "Maldekstra Ctrl"
-#: ../rules/base.xml.in.h:379
+#: ../rules/base.xml.in.h:401
msgid "Left Ctrl (to first layout), Right Ctrl (to last layout)"
msgstr "Maldekstra Ctrl (por la unua aranĝo), Dekstra Ctrl (por la lasta aranĝo)"
-#: ../rules/base.xml.in.h:380
+#: ../rules/base.xml.in.h:402
msgid "Left Ctrl+Left Shift"
msgstr "Maldekstra Ctrl+Maldekstra Shift"
-#: ../rules/base.xml.in.h:381
+#: ../rules/base.xml.in.h:403
msgid "Left Shift"
msgstr "Maldekstra Shift"
-#: ../rules/base.xml.in.h:382
+#: ../rules/base.xml.in.h:404
msgid "Left Win"
msgstr "Maldekstra Win"
-#: ../rules/base.xml.in.h:383
+#: ../rules/base.xml.in.h:405
msgid "Left Win (to first layout), Right Win/Menu (to last layout)"
msgstr "Maldekstra Win (al la unua aranĝo), Dekstra Win/Menu (al la lasta aranĝo)"
-#: ../rules/base.xml.in.h:384
+#: ../rules/base.xml.in.h:406
msgid "Left Win (while pressed)"
msgstr "Maldekstra Win (dum premata)"
-#: ../rules/base.xml.in.h:385
+#: ../rules/base.xml.in.h:407
+msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr "Maldekstra Win elektas 5-an nivelon, ŝlosas kiam premite kun alia 5-nivela elektilo"
+
+#: ../rules/base.xml.in.h:408
+msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr "Maldekstra Win elektas 5-an nivelon, ŝlosas kiam premite kun alia 5-nivela elektilo, unu premo malfaras la ŝloson"
+
+#: ../rules/base.xml.in.h:409
msgid "Left hand"
msgstr "Maldekstra mano"
-#: ../rules/base.xml.in.h:386
+#: ../rules/base.xml.in.h:410
msgid "Left handed Dvorak"
msgstr "Maldekstreca Dvorako"
-#: ../rules/base.xml.in.h:387
+#: ../rules/base.xml.in.h:411
msgid "Legacy"
msgstr "Malmoderna"
-#: ../rules/base.xml.in.h:388
+#: ../rules/base.xml.in.h:412
msgid "Legacy Wang 724"
msgstr "Malmoderna Wang 724"
#. Actually, with KP_SEPARATOR, as the old keypad(comma)
-#: ../rules/base.xml.in.h:390
+#: ../rules/base.xml.in.h:414
msgid "Legacy key with comma"
msgstr "Malmoderna klavo kun komo"
-#: ../rules/base.xml.in.h:391
+#: ../rules/base.xml.in.h:415
msgid "Legacy key with dot"
msgstr "Malmoderna klavo kun punkto"
-#: ../rules/base.xml.in.h:392
-msgid "Less-than/Greater-than"
-msgstr "Pli-signo/Malpli-signo"
-
-#: ../rules/base.xml.in.h:393
+#: ../rules/base.xml.in.h:416
msgid "Lithuania"
msgstr "Litovujo"
-#: ../rules/base.xml.in.h:394
+#: ../rules/base.xml.in.h:417
+msgid "Lka"
+msgstr "Lka"
+
+#: ../rules/base.xml.in.h:418
msgid "Logitech Access Keyboard"
msgstr "Logitech Access Keyboard"
-#: ../rules/base.xml.in.h:395
+#: ../rules/base.xml.in.h:419
msgid "Logitech Cordless Desktop"
msgstr "Logitech Cordless Desktop"
-#: ../rules/base.xml.in.h:396
+#: ../rules/base.xml.in.h:420
msgid "Logitech Cordless Desktop (alternate option)"
msgstr "Logitech Cordless Desktop (alternativa opcio)"
-#: ../rules/base.xml.in.h:397
+#: ../rules/base.xml.in.h:421
msgid "Logitech Cordless Desktop EX110"
msgstr "Logitech Cordless Desktop EX110"
-#: ../rules/base.xml.in.h:398
+#: ../rules/base.xml.in.h:422
msgid "Logitech Cordless Desktop LX-300"
msgstr "Logitech Cordless Desktop LX-300"
-#: ../rules/base.xml.in.h:399
+#: ../rules/base.xml.in.h:423
msgid "Logitech Cordless Desktop Navigator"
msgstr "Logitech Cordless Desktop Navigator"
-#: ../rules/base.xml.in.h:400
+#: ../rules/base.xml.in.h:424
msgid "Logitech Cordless Desktop Optical"
msgstr "Logitech Cordless Desktop Optical"
-#: ../rules/base.xml.in.h:401
+#: ../rules/base.xml.in.h:425
msgid "Logitech Cordless Desktop Pro (alternate option 2)"
msgstr "Logitech Cordless Desktop Pro (alternativa opcio 2)"
-#: ../rules/base.xml.in.h:402
+#: ../rules/base.xml.in.h:426
msgid "Logitech Cordless Desktop iTouch"
msgstr "Logitech Cordless Desktop iTouch"
-#: ../rules/base.xml.in.h:403
+#: ../rules/base.xml.in.h:427
msgid "Logitech Cordless Freedom/Desktop Navigator"
msgstr "Logitech Cordless Freedom/Desktop Navigator"
-#: ../rules/base.xml.in.h:404
+#: ../rules/base.xml.in.h:428
msgid "Logitech G15 extra keys via G15daemon"
msgstr "Logitech G15 extra keys via G15daemon"
-#: ../rules/base.xml.in.h:405
+#: ../rules/base.xml.in.h:429
msgid "Logitech Generic Keyboard"
msgstr "Logitech - Ĝenerala Klavaro"
-#: ../rules/base.xml.in.h:406
+#: ../rules/base.xml.in.h:430
msgid "Logitech Internet 350 Keyboard"
msgstr "Logitech Internet 350 Keyboard"
-#: ../rules/base.xml.in.h:407
+#: ../rules/base.xml.in.h:431
msgid "Logitech Internet Keyboard"
msgstr "Logitech Internet Keyboard"
-#: ../rules/base.xml.in.h:408
+#: ../rules/base.xml.in.h:432
msgid "Logitech Internet Navigator Keyboard"
msgstr "Logitech Internet Navigator Keyboard"
-#: ../rules/base.xml.in.h:409
+#: ../rules/base.xml.in.h:433
msgid "Logitech Media Elite Keyboard"
msgstr "Logitech Media Elite Keyboard"
-#: ../rules/base.xml.in.h:410
+#: ../rules/base.xml.in.h:434
msgid "Logitech Ultra-X Cordless Media Desktop Keyboard"
msgstr "Logitech Ultra-X Cordless Media Desktop Keyboard"
-#: ../rules/base.xml.in.h:411
+#: ../rules/base.xml.in.h:435
msgid "Logitech Ultra-X Keyboard"
msgstr "Logitech Ultra-X Keyboard"
-#: ../rules/base.xml.in.h:412
+#: ../rules/base.xml.in.h:436
msgid "Logitech diNovo Edge Keyboard"
msgstr "Logitech diNovo Edge Keyboard"
-#: ../rules/base.xml.in.h:413
+#: ../rules/base.xml.in.h:437
msgid "Logitech diNovo Keyboard"
msgstr "Logitech diNovo Keyboard"
-#: ../rules/base.xml.in.h:414
+#: ../rules/base.xml.in.h:438
msgid "Logitech iTouch"
msgstr "Logitech iTouch"
-#: ../rules/base.xml.in.h:415
+#: ../rules/base.xml.in.h:439
msgid "Logitech iTouch Cordless Keyboard (model Y-RB6)"
msgstr "Logitech iTouch Cordless Keyboard (model Y-RB6)"
-#: ../rules/base.xml.in.h:416
+#: ../rules/base.xml.in.h:440
msgid "Logitech iTouch Internet Navigator Keyboard SE"
msgstr "Logitech iTouch Internet Navigator Keyboard SE"
-#: ../rules/base.xml.in.h:417
+#: ../rules/base.xml.in.h:441
msgid "Logitech iTouch Internet Navigator Keyboard SE (USB)"
msgstr "Logitech iTouch Internet Navigator Keyboard SE (USB)"
-#: ../rules/base.xml.in.h:418
+#: ../rules/base.xml.in.h:442
msgid "Lower Sorbian"
msgstr "Malsupra Soraba"
-#: ../rules/base.xml.in.h:419
+#: ../rules/base.xml.in.h:443
msgid "Lower Sorbian (qwertz)"
msgstr "Malsupra Soraba (qwertz)"
-#: ../rules/base.xml.in.h:420
+#: ../rules/base.xml.in.h:444
msgid "Ltu"
msgstr "Ltu"
-#: ../rules/base.xml.in.h:421
+#: ../rules/base.xml.in.h:445
+msgid "Lva"
+msgstr "Lva"
+
+#: ../rules/base.xml.in.h:446
msgid "MESS"
msgstr "MESS"
-#: ../rules/base.xml.in.h:422
+#: ../rules/base.xml.in.h:447
msgid "MNE"
msgstr "MNE"
-#: ../rules/base.xml.in.h:423
+#: ../rules/base.xml.in.h:448
msgid "MacBook/MacBook Pro"
msgstr "MacBook/MacBook Pro"
-#: ../rules/base.xml.in.h:424
+#: ../rules/base.xml.in.h:449
msgid "MacBook/MacBook Pro (Intl)"
msgstr "MacBook/MacBook Pro (Intl)"
-#: ../rules/base.xml.in.h:425
+#: ../rules/base.xml.in.h:450
msgid "Macedonia"
msgstr "Makedonujo"
-#: ../rules/base.xml.in.h:426
+#: ../rules/base.xml.in.h:451
msgid "Macintosh"
msgstr "Macintosh"
-#: ../rules/base.xml.in.h:427
+#: ../rules/base.xml.in.h:452
+msgid "Macintosh (International)"
+msgstr "Macintosh (Internacia)"
+
+#: ../rules/base.xml.in.h:453
msgid "Macintosh Old"
msgstr "Macintosh 'Malnova'"
-#: ../rules/base.xml.in.h:428
+#: ../rules/base.xml.in.h:454
msgid "Macintosh, Sun dead keys"
msgstr "Macintosh, senpaŝaj klavoj de 'Sun'"
-#: ../rules/base.xml.in.h:429
+#: ../rules/base.xml.in.h:455
msgid "Macintosh, eliminate dead keys"
msgstr "Macintosh, forigi senpaŝajn klavojn"
-#: ../rules/base.xml.in.h:430
-msgid "Make CapsLock an additional Backspace"
-msgstr "Igi CapsLock kroman Backspace"
-
-#: ../rules/base.xml.in.h:431
-msgid "Make CapsLock an additional Ctrl"
-msgstr "Igi CapsLock kroman Ctrl"
+#: ../rules/base.xml.in.h:456
+msgid "Make Caps Lock an additional Backspace"
+msgstr "Igi Caps Lock kroman Retroklavon"
-#: ../rules/base.xml.in.h:432
-msgid "Make CapsLock an additional ESC"
-msgstr "Igi CapsLock kroman ESC"
+#: ../rules/base.xml.in.h:457
+msgid "Make Caps Lock an additional Ctrl"
+msgstr "Igi Caps Lock kroman Ctrl"
-#: ../rules/base.xml.in.h:433
-msgid "Make CapsLock an additional Hyper"
-msgstr "Igi CapsLock kroman Hyper"
+#: ../rules/base.xml.in.h:458
+msgid "Make Caps Lock an additional ESC"
+msgstr "Igi Caps Lock kroman ESC"
-#: ../rules/base.xml.in.h:434
-msgid "Make CapsLock an additional NumLock"
-msgstr "Igi CapsLock kroman NumLock"
+#: ../rules/base.xml.in.h:459
+msgid "Make Caps Lock an additional Hyper"
+msgstr "Igi Caps Lock kroman Hyper"
-#: ../rules/base.xml.in.h:435
-msgid "Make CapsLock an additional Super"
-msgstr "Igi CapsLock kroman Super"
+#: ../rules/base.xml.in.h:460
+msgid "Make Caps Lock an additional Num Lock"
+msgstr "Igi Caps Lock kroman Num Lock"
-#: ../rules/base.xml.in.h:436
-msgid "Mal"
-msgstr "Mal"
+#: ../rules/base.xml.in.h:461
+msgid "Make Caps Lock an additional Super"
+msgstr "Igi Caps Lock kroman Super"
-#: ../rules/base.xml.in.h:437
+#: ../rules/base.xml.in.h:462
msgid "Malayalam"
msgstr "Malajala"
-#: ../rules/base.xml.in.h:438
+#: ../rules/base.xml.in.h:463
msgid "Malayalam Lalitha"
msgstr "Malajala 'Lalitha'"
-#: ../rules/base.xml.in.h:439
+#: ../rules/base.xml.in.h:464
msgid "Maldives"
msgstr "Maldivoj"
-#: ../rules/base.xml.in.h:440
+#: ../rules/base.xml.in.h:465
+msgid "Mali"
+msgstr "Malio"
+
+#: ../rules/base.xml.in.h:466
msgid "Malta"
msgstr "Maltolando"
-#: ../rules/base.xml.in.h:441
+#: ../rules/base.xml.in.h:467
msgid "Maltese keyboard with US layout"
msgstr "Malta klavaro kun usona aranĝo"
-#: ../rules/base.xml.in.h:442
+#: ../rules/base.xml.in.h:468
msgid "Mao"
msgstr "Mao"
-#: ../rules/base.xml.in.h:443
+#: ../rules/base.xml.in.h:469
msgid "Maori"
msgstr "Maoria"
-#: ../rules/base.xml.in.h:444
+#: ../rules/base.xml.in.h:470
+msgid "Mdv"
+msgstr "Mdv"
+
+#: ../rules/base.xml.in.h:471
msgid "Memorex MX1998"
msgstr "Memorex MX1998"
-#: ../rules/base.xml.in.h:445
+#: ../rules/base.xml.in.h:472
msgid "Memorex MX2500 EZ-Access Keyboard"
msgstr "Memorex MX2500 EZ-Access Keyboard"
-#: ../rules/base.xml.in.h:446
+#: ../rules/base.xml.in.h:473
msgid "Memorex MX2750"
msgstr "Memorex MX2750"
-#: ../rules/base.xml.in.h:447
+#: ../rules/base.xml.in.h:474
msgid "Menu"
msgstr "Menu"
-#: ../rules/base.xml.in.h:448
+#: ../rules/base.xml.in.h:475
msgid "Meta is mapped to Left Win"
msgstr "Meta estas mapita al la Maldekstra Win"
-#: ../rules/base.xml.in.h:449
+#: ../rules/base.xml.in.h:476
msgid "Meta is mapped to Win keys"
msgstr "Meta estas mapita al la klavoj Win"
-#: ../rules/base.xml.in.h:450
+#: ../rules/base.xml.in.h:477
msgid "Microsoft Comfort Curve Keyboard 2000"
msgstr "Microsoft Comfort Curve Keyboard 2000"
-#: ../rules/base.xml.in.h:451
+#: ../rules/base.xml.in.h:478
msgid "Microsoft Internet Keyboard"
msgstr "Microsoft Internet Keyboard"
-#: ../rules/base.xml.in.h:452
+#: ../rules/base.xml.in.h:479
msgid "Microsoft Internet Keyboard Pro, Swedish"
msgstr "Microsoft Internet Keyboard Pro, Sveda"
-#: ../rules/base.xml.in.h:453
+#: ../rules/base.xml.in.h:480
msgid "Microsoft Natural"
msgstr "Microsoft Natural"
-#: ../rules/base.xml.in.h:454
+#: ../rules/base.xml.in.h:481
msgid "Microsoft Natural Keyboard Elite"
msgstr "Microsoft Natural Keyboard Elite"
-#: ../rules/base.xml.in.h:455
+#: ../rules/base.xml.in.h:482
msgid "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
msgstr "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
-#: ../rules/base.xml.in.h:456
+#: ../rules/base.xml.in.h:483
msgid "Microsoft Natural Keyboard Pro OEM"
msgstr "Microsoft Natural Keyboard Pro OEM"
-#: ../rules/base.xml.in.h:457
+#: ../rules/base.xml.in.h:484
msgid "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
msgstr "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
-#: ../rules/base.xml.in.h:458
+#: ../rules/base.xml.in.h:485
msgid "Microsoft Natural Wireless Ergonomic Keyboard 7000"
msgstr "Microsoft Natural Wireless Ergonomic Keyboard 7000"
-#: ../rules/base.xml.in.h:459
+#: ../rules/base.xml.in.h:486
msgid "Microsoft Office Keyboard"
msgstr "Microsoft Office Keyboard"
-#: ../rules/base.xml.in.h:460
+#: ../rules/base.xml.in.h:487
msgid "Microsoft Wireless Multimedia Keyboard 1.0A"
msgstr "Microsoft Wireless Multimedia Keyboard 1.0A"
-#: ../rules/base.xml.in.h:461
+#: ../rules/base.xml.in.h:488
msgid "Miscellaneous compatibility options"
msgstr "Ceteraj kongruaj opcioj"
-#: ../rules/base.xml.in.h:462
+#: ../rules/base.xml.in.h:489
msgid "Mkd"
msgstr "Mkd"
-#: ../rules/base.xml.in.h:463
+#: ../rules/base.xml.in.h:490
+msgid "Mli"
+msgstr "Mli"
+
+#: ../rules/base.xml.in.h:491
msgid "Mlt"
msgstr "Mlt"
-#: ../rules/base.xml.in.h:464
+#: ../rules/base.xml.in.h:492
msgid "Mmr"
msgstr "Mmr"
-#: ../rules/base.xml.in.h:465
+#: ../rules/base.xml.in.h:493
msgid "Mng"
msgstr "Mng"
-#: ../rules/base.xml.in.h:466
+#: ../rules/base.xml.in.h:494
msgid "Mongolia"
msgstr "Mongolujo"
-#: ../rules/base.xml.in.h:467
+#: ../rules/base.xml.in.h:495
msgid "Montenegro"
msgstr "Montenegro"
-#: ../rules/base.xml.in.h:468
+#: ../rules/base.xml.in.h:496
msgid "Morocco"
msgstr "Maroko"
-#: ../rules/base.xml.in.h:469
+#: ../rules/base.xml.in.h:497
msgid "Multilingual"
msgstr "Plurlingva"
-#: ../rules/base.xml.in.h:470
+#: ../rules/base.xml.in.h:498
msgid "Multilingual, first part"
msgstr "Plurlingva, unua parto"
-#: ../rules/base.xml.in.h:471
+#: ../rules/base.xml.in.h:499
msgid "Multilingual, second part"
msgstr "Plurlingva, dua parto"
-#: ../rules/base.xml.in.h:472
+#: ../rules/base.xml.in.h:500
msgid "Myanmar"
msgstr "Birmo"
-#: ../rules/base.xml.in.h:473
+#: ../rules/base.xml.in.h:501
msgid "NICOLA-F style Backspace"
msgstr "Retropaŝo laŭ estilo NICOLA-F"
-#: ../rules/base.xml.in.h:474
+#: ../rules/base.xml.in.h:502
msgid "NLA"
msgstr "NLA"
-#: ../rules/base.xml.in.h:475
+#: ../rules/base.xml.in.h:503
msgid "Nativo"
msgstr "Nativo"
-#: ../rules/base.xml.in.h:476
+#: ../rules/base.xml.in.h:504
msgid "Nativo for Esperanto"
msgstr "Nativo por Esperanto"
-#: ../rules/base.xml.in.h:477
+#: ../rules/base.xml.in.h:505
msgid "Nativo for USA keyboards"
msgstr "Nativo por usonaj klavaroj"
-#: ../rules/base.xml.in.h:478
+#: ../rules/base.xml.in.h:506
msgid "Neo 2"
msgstr "Neo 2"
-#: ../rules/base.xml.in.h:479
-msgid "Nep"
-msgstr "Nep"
-
-#: ../rules/base.xml.in.h:480
+#: ../rules/base.xml.in.h:507
msgid "Nepal"
msgstr "Nepalo"
-#: ../rules/base.xml.in.h:481
+#: ../rules/base.xml.in.h:508
msgid "Netherlands"
msgstr "Nederlando"
-#: ../rules/base.xml.in.h:482
+#: ../rules/base.xml.in.h:509
msgid "New phonetic"
msgstr "Nova fonetika"
-#: ../rules/base.xml.in.h:483
-msgid "Nig"
-msgstr "Nig"
+#: ../rules/base.xml.in.h:510
+msgid "Nga"
+msgstr "Nga"
-#: ../rules/base.xml.in.h:484
+#: ../rules/base.xml.in.h:511
msgid "Nigeria"
msgstr "Niĝerujo"
-#: ../rules/base.xml.in.h:485
+#: ../rules/base.xml.in.h:512
msgid "Nld"
msgstr "Nld"
-#: ../rules/base.xml.in.h:486
+#: ../rules/base.xml.in.h:513
msgid "Non-breakable space character at fourth level"
msgstr "Ne-rompebla spaco-signo ĉe la 4-a nivelo"
-#: ../rules/base.xml.in.h:487
+#: ../rules/base.xml.in.h:514
msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level"
msgstr "Ne-rompebla spaco-signo ĉe la 4-a nivelo, maldika ne-rompebla spaco-signo ĉe la 6-a nivelo"
-#: ../rules/base.xml.in.h:488
+#: ../rules/base.xml.in.h:515
msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)"
msgstr "Ne-rompebla spaco-signo ĉe la 4-a nivelo, maldika ne-rompebla spaco-signo ĉe la 6-a nivelo (per Ctrl+Shift)"
-#: ../rules/base.xml.in.h:489
+#: ../rules/base.xml.in.h:516
msgid "Non-breakable space character at second level"
msgstr "Ne-rompebla spaco-signo ĉe la 2-a nivelo"
-#: ../rules/base.xml.in.h:490
+#: ../rules/base.xml.in.h:517
msgid "Non-breakable space character at third level"
msgstr "Ne-rompebla spaco-signo ĉe la 3-a nivelo"
-#: ../rules/base.xml.in.h:491
+#: ../rules/base.xml.in.h:518
msgid "Non-breakable space character at third level, nothing at fourth level"
msgstr "Ne-rompebla spaco-signo ĉe la 3-a nivelo, nenio ĉe la 4-a nivelo"
-#: ../rules/base.xml.in.h:492
+#: ../rules/base.xml.in.h:519
msgid "Non-breakable space character at third level, thin non-breakable space character at fourth level"
msgstr "Ne-rompebla spaco-signo ĉe la 3-a nivelo, maldika ne-rompebla spaco-signo ĉe la 4-a nivelo"
-#: ../rules/base.xml.in.h:493
+#: ../rules/base.xml.in.h:520
msgid "Nor"
msgstr "Nor"
-#: ../rules/base.xml.in.h:494
+#: ../rules/base.xml.in.h:521
msgid "Northern Saami"
msgstr "Norda Samea"
-#: ../rules/base.xml.in.h:495
+#: ../rules/base.xml.in.h:522
msgid "Northern Saami, eliminate dead keys"
msgstr "Norda Samea, forigi senpaŝajn klavojn"
-#: ../rules/base.xml.in.h:496
+#: ../rules/base.xml.in.h:523
msgid "Northgate OmniKey 101"
msgstr "Northgate OmniKey 101"
-#: ../rules/base.xml.in.h:497
+#: ../rules/base.xml.in.h:524
msgid "Norway"
msgstr "Norvegujo"
-#: ../rules/base.xml.in.h:498
-msgid "NumLock"
-msgstr "NumLock"
+#: ../rules/base.xml.in.h:525
+msgid "Npl"
+msgstr "Npl"
-#: ../rules/base.xml.in.h:499
+#: ../rules/base.xml.in.h:526
+msgid "Num Lock"
+msgstr "Num Lock"
+
+#: ../rules/base.xml.in.h:527
msgid "Numeric keypad delete key behaviour"
msgstr "Funkciado de la forig-klavo de la ciferklavaro"
-#: ../rules/base.xml.in.h:500
+#: ../rules/base.xml.in.h:528
msgid "Numeric keypad keys work as with Mac"
msgstr "La klavoj de la ciferklavaro funkcias same kiel en Mac"
-#: ../rules/base.xml.in.h:501
+#: ../rules/base.xml.in.h:529
msgid "Numeric keypad layout selection"
msgstr "Elektado de aranĝo por la ciferklavaro"
-#: ../rules/base.xml.in.h:502
+#: ../rules/base.xml.in.h:530
msgid "OADG 109A"
msgstr "OADG 109A"
-#: ../rules/base.xml.in.h:503
+#: ../rules/base.xml.in.h:531
msgid "OLPC"
msgstr "OLPC"
-#: ../rules/base.xml.in.h:504
+#: ../rules/base.xml.in.h:532
msgid "OLPC Dari"
msgstr "OLPC Daria"
-#: ../rules/base.xml.in.h:505
+#: ../rules/base.xml.in.h:533
msgid "OLPC Pashto"
msgstr "OLPC Paŝtoa"
-#: ../rules/base.xml.in.h:506
+#: ../rules/base.xml.in.h:534
msgid "OLPC Southern Uzbek"
msgstr "OLPC Suda Uzbekujo"
-#: ../rules/base.xml.in.h:507
+#: ../rules/base.xml.in.h:535
msgid "Occitan"
msgstr "Okcitana"
-#: ../rules/base.xml.in.h:508
+#: ../rules/base.xml.in.h:536
msgid "Ogham"
msgstr "Ogamo"
-#: ../rules/base.xml.in.h:509
+#: ../rules/base.xml.in.h:537
msgid "Ogham IS434"
msgstr "Ogamo IS434"
-#: ../rules/base.xml.in.h:510
+#: ../rules/base.xml.in.h:538
msgid "Oriya"
msgstr "Orija"
-#: ../rules/base.xml.in.h:511
+#: ../rules/base.xml.in.h:539
msgid "Ortek MCK-800 MM/Internet keyboard"
msgstr "Ortek MCK-800 MM/Internet keyboard"
-#: ../rules/base.xml.in.h:512
+#: ../rules/base.xml.in.h:540
msgid "Ossetian"
msgstr "Oseta"
-#: ../rules/base.xml.in.h:513
+#: ../rules/base.xml.in.h:541
msgid "Ossetian, Winkeys"
msgstr "Oseta, klavoj 'Win'"
-#: ../rules/base.xml.in.h:514
+#: ../rules/base.xml.in.h:542
msgid "Ossetian, legacy"
msgstr "Oseta, malmoderna"
-#: ../rules/base.xml.in.h:515
+#: ../rules/base.xml.in.h:543
msgid "PC-98xx Series"
msgstr "PC-98xx Series"
-#: ../rules/base.xml.in.h:516
+#: ../rules/base.xml.in.h:544
msgid "Pak"
msgstr "Pak"
-#: ../rules/base.xml.in.h:517
+#: ../rules/base.xml.in.h:545
msgid "Pakistan"
msgstr "Pakistano"
-#: ../rules/base.xml.in.h:518
+#: ../rules/base.xml.in.h:546
+msgid "Pannonian Rusyn Homophonic"
+msgstr "Panona Rusina Homofonia"
+
+#: ../rules/base.xml.in.h:547
msgid "Pashto"
msgstr "Paŝtoa"
-#: ../rules/base.xml.in.h:519
+#: ../rules/base.xml.in.h:548
msgid "Pattachote"
msgstr "Pattachote"
-#: ../rules/base.xml.in.h:520
+#: ../rules/base.xml.in.h:549
+msgid "Pause"
+msgstr "Paŭso"
+
+#: ../rules/base.xml.in.h:550
msgid "Persian, with Persian Keypad"
msgstr "Persa, kun Persa Ciferklavaro"
-#: ../rules/base.xml.in.h:521
+#: ../rules/base.xml.in.h:551
msgid "Phonetic"
msgstr "Fonetika"
-#: ../rules/base.xml.in.h:522
+#: ../rules/base.xml.in.h:552
msgid "Phonetic Winkeys"
msgstr "Fonetikaj Win-klavoj"
-#: ../rules/base.xml.in.h:523
+#: ../rules/base.xml.in.h:553
msgid "Pol"
msgstr "Pol"
-#: ../rules/base.xml.in.h:524
+#: ../rules/base.xml.in.h:554
msgid "Poland"
msgstr "Polujo"
-#: ../rules/base.xml.in.h:525
+#: ../rules/base.xml.in.h:555
msgid "Polytonic"
msgstr "Plurtona"
-#: ../rules/base.xml.in.h:526
+#: ../rules/base.xml.in.h:556
msgid "Portugal"
msgstr "Portugalujo"
-#: ../rules/base.xml.in.h:527
+#: ../rules/base.xml.in.h:557
msgid "Probhat"
msgstr "Probhat"
-#: ../rules/base.xml.in.h:528
+#: ../rules/base.xml.in.h:558
msgid "Programmer Dvorak"
msgstr "Dvorako por programistoj"
-#: ../rules/base.xml.in.h:529
+#: ../rules/base.xml.in.h:559
msgid "Propeller Voyager (KTEZ-1000)"
msgstr "Propeller Voyager (KTEZ-1000)"
-#: ../rules/base.xml.in.h:530
+#: ../rules/base.xml.in.h:560
msgid "Prt"
msgstr "Prt"
-#: ../rules/base.xml.in.h:531
+#: ../rules/base.xml.in.h:561
+msgid "PrtSc"
+msgstr "PrtSc"
+
+#: ../rules/base.xml.in.h:562
msgid "QTronix Scorpius 98N+"
msgstr "QTronix Scorpius 98N+"
-#: ../rules/base.xml.in.h:532
+#: ../rules/base.xml.in.h:563
msgid "Right Alt"
msgstr "Dekstra Alt"
-#: ../rules/base.xml.in.h:533
+#: ../rules/base.xml.in.h:564
msgid "Right Alt (while pressed)"
msgstr "Dekstra Alt (dum premata)"
-#: ../rules/base.xml.in.h:534
+#: ../rules/base.xml.in.h:565
+msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr "Dekstra Alt elektas 5-an nivelon, ŝlosas kiam premite kun alia 5-nivela elektilo"
+
+#: ../rules/base.xml.in.h:566
+msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr "Dekstra Alt elektas 5-an nivelon, ŝlosas kiam premite kun alia 5-nivela elektilo, unu premo malfaras la ŝloson"
+
+#: ../rules/base.xml.in.h:567
msgid "Right Alt key never chooses 3rd level"
msgstr "Dekstra Alt neniam elektas la 3-an nivelon"
-#: ../rules/base.xml.in.h:535
+#: ../rules/base.xml.in.h:568
msgid "Right Alt, Shift+Right Alt key is Multi_Key"
msgstr "Dekstra Alt, Shift+Dekstra Alt estas Multi_Key"
-#: ../rules/base.xml.in.h:536
+#: ../rules/base.xml.in.h:569
msgid "Right Ctrl"
msgstr "Dekstra Ctrl"
-#: ../rules/base.xml.in.h:537
+#: ../rules/base.xml.in.h:570
msgid "Right Ctrl (while pressed)"
msgstr "Dekstra Ctrl (dum premata)"
-#: ../rules/base.xml.in.h:538
+#: ../rules/base.xml.in.h:571
msgid "Right Ctrl as Right Alt"
msgstr "Dekstra Ctrl kiel Dekstran Alt"
-#: ../rules/base.xml.in.h:539
+#: ../rules/base.xml.in.h:572
msgid "Right Ctrl+Right Shift"
msgstr "Dekstra Ctrl+Dekstra Shift"
-#: ../rules/base.xml.in.h:540
+#: ../rules/base.xml.in.h:573
msgid "Right Shift"
msgstr "Dekstra Shift"
-#: ../rules/base.xml.in.h:541
+#: ../rules/base.xml.in.h:574
msgid "Right Win"
msgstr "Dekstra Win"
-#: ../rules/base.xml.in.h:542
+#: ../rules/base.xml.in.h:575
msgid "Right Win (while pressed)"
msgstr "Dekstra Win (dum premata)"
-#: ../rules/base.xml.in.h:543
+#: ../rules/base.xml.in.h:576
+msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr "Dekstra Win elektas 5-an nivelon, ŝlosas kiam premite kun alia 5-nivela elektilo"
+
+#: ../rules/base.xml.in.h:577
+msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr "Dekstra Win elektas 5-an nivelon, ŝlosas kiam premite kun alia 5-nivela elektilo, unu premo malfaras la ŝloson"
+
+#: ../rules/base.xml.in.h:578
msgid "Right hand"
msgstr "Dekstra mano"
-#: ../rules/base.xml.in.h:544
+#: ../rules/base.xml.in.h:579
msgid "Right handed Dvorak"
msgstr "Dekstreca Dvorako"
-#: ../rules/base.xml.in.h:545
+#: ../rules/base.xml.in.h:580
msgid "Romania"
msgstr "Rumanujo"
-#: ../rules/base.xml.in.h:546
+#: ../rules/base.xml.in.h:581
msgid "Romanian keyboard with German letters"
msgstr "Rumana klavaro kun germanaj literoj"
-#: ../rules/base.xml.in.h:547
+#: ../rules/base.xml.in.h:582
msgid "Romanian keyboard with German letters, eliminate dead keys"
msgstr "Rumana klavaro kun germanaj literoj, forigi senpaŝajn klavojn"
-#: ../rules/base.xml.in.h:548
+#: ../rules/base.xml.in.h:583
msgid "Rou"
msgstr "Rou"
-#: ../rules/base.xml.in.h:549
+#: ../rules/base.xml.in.h:584
msgid "Rus"
msgstr "Rus"
-#: ../rules/base.xml.in.h:550
+#: ../rules/base.xml.in.h:585
msgid "Russia"
msgstr "Rusujo"
-#: ../rules/base.xml.in.h:551
+#: ../rules/base.xml.in.h:586
msgid "Russian"
msgstr "Rusa"
-#: ../rules/base.xml.in.h:552
+#: ../rules/base.xml.in.h:587
msgid "Russian phonetic"
msgstr "Rusa fonetika"
-#: ../rules/base.xml.in.h:553
+#: ../rules/base.xml.in.h:588
msgid "Russian phonetic Dvorak"
msgstr "Rusa fonetika Dvorako"
-#: ../rules/base.xml.in.h:554
+#: ../rules/base.xml.in.h:589
msgid "Russian phonetic, eliminate dead keys"
msgstr "Rusa fonetika, forigi senpaŝajn klavojn"
-#: ../rules/base.xml.in.h:555
+#: ../rules/base.xml.in.h:590
msgid "Russian with Kazakh"
msgstr "Rusa kun Kazaĥa"
-#: ../rules/base.xml.in.h:556
+#: ../rules/base.xml.in.h:591
msgid "SILVERCREST Multimedia Wireless Keyboard"
msgstr "SILVERCREST Multimedia Wireless Keyboard"
-#: ../rules/base.xml.in.h:557
+#: ../rules/base.xml.in.h:592
msgid "SK-1300"
msgstr "SK-1300"
-#: ../rules/base.xml.in.h:558
+#: ../rules/base.xml.in.h:593
msgid "SK-2500"
msgstr "SK-2500"
-#: ../rules/base.xml.in.h:559
+#: ../rules/base.xml.in.h:594
msgid "SK-6200"
msgstr "SK-6200"
-#: ../rules/base.xml.in.h:560
+#: ../rules/base.xml.in.h:595
msgid "SK-7100"
msgstr "SK-7100"
-#: ../rules/base.xml.in.h:561 ../rules/base.extras.xml.in.h:7
+#: ../rules/base.xml.in.h:596 ../rules/base.extras.xml.in.h:9
msgid "SRB"
msgstr "SRB"
-#: ../rules/base.xml.in.h:562
+#: ../rules/base.xml.in.h:597
msgid "SVEN Ergonomic 2500"
msgstr "SVEN Ergonomic 2500"
-#: ../rules/base.xml.in.h:563
+#: ../rules/base.xml.in.h:598
msgid "SVEN Slim 303"
msgstr "SVEN Slim 303"
-#: ../rules/base.xml.in.h:564
+#: ../rules/base.xml.in.h:599
msgid "Samsung SDM 4500P"
msgstr "Samsung SDM 4500P"
-#: ../rules/base.xml.in.h:565
+#: ../rules/base.xml.in.h:600
msgid "Samsung SDM 4510P"
msgstr "Samsung SDM 4510P"
-#: ../rules/base.xml.in.h:566
+#: ../rules/base.xml.in.h:601
msgid "Scroll Lock"
msgstr "Ruluma Baskulo"
-#: ../rules/base.xml.in.h:567
-msgid "ScrollLock"
-msgstr "ScrollLock"
-
-#: ../rules/base.xml.in.h:568
+#: ../rules/base.xml.in.h:602
msgid "Secwepemctsin"
msgstr "Secwepemctsin"
-#: ../rules/base.xml.in.h:569
+#: ../rules/base.xml.in.h:603
msgid "Semi-colon on third level"
msgstr "Punkto-komo ĉe la 3-a nivelo"
-#: ../rules/base.xml.in.h:570 ../rules/base.extras.xml.in.h:8
+#: ../rules/base.xml.in.h:604
+msgid "Sen"
+msgstr "Sen"
+
+#: ../rules/base.xml.in.h:605
+msgid "Senegal"
+msgstr "Senegalo"
+
+#: ../rules/base.xml.in.h:606 ../rules/base.extras.xml.in.h:10
msgid "Serbia"
msgstr "Serbujo"
-#: ../rules/base.xml.in.h:571
-msgid "Shift cancels CapsLock"
-msgstr "Shift nuligas CapsLock"
+#: ../rules/base.xml.in.h:607
+msgid "Serbian"
+msgstr "Serba"
-#: ../rules/base.xml.in.h:572
-msgid "Shift does not cancel NumLock, chooses 3d level instead"
-msgstr "Shift ne nuligas NumLock, ĝi elektigas la 3-a nivelon anstataŭe"
+#: ../rules/base.xml.in.h:608
+msgid "Shift cancels Caps Lock"
+msgstr "Shift nuligas Caps Lock"
-#: ../rules/base.xml.in.h:573
+#: ../rules/base.xml.in.h:609
+msgid "Shift does not cancel Num Lock, chooses 3rd level instead"
+msgstr "Shift ne nuligas Num Lock, elektas 3-an nivelon anstataŭe"
+
+#: ../rules/base.xml.in.h:610
msgid "Shift with numeric keypad keys works as in MS Windows"
msgstr "Shift kun la ciferklavaro funkcias same kiel en MS Windows"
-#: ../rules/base.xml.in.h:574
-msgid "Shift+CapsLock"
-msgstr "Shift+CapsLock"
+#: ../rules/base.xml.in.h:611
+msgid "Shift+Caps Lock"
+msgstr "Shift+Caps Lock"
-#: ../rules/base.xml.in.h:575
+#: ../rules/base.xml.in.h:612
msgid "Simple"
msgstr "Simpla"
-#: ../rules/base.xml.in.h:576
+#: ../rules/base.xml.in.h:613
+msgid "Sindhi"
+msgstr "Sinda"
+
+#: ../rules/base.xml.in.h:614
msgid "Slovakia"
msgstr "Slovakujo"
-#: ../rules/base.xml.in.h:577
+#: ../rules/base.xml.in.h:615
msgid "Slovenia"
msgstr "Slovenujo"
-#: ../rules/base.xml.in.h:578
+#: ../rules/base.xml.in.h:616
msgid "South Africa"
msgstr "Sud-Afriko"
-#: ../rules/base.xml.in.h:579
+#: ../rules/base.xml.in.h:617
msgid "Southern Uzbek"
msgstr "Suda Uzbekujo"
-#: ../rules/base.xml.in.h:580
+#: ../rules/base.xml.in.h:618
msgid "Spain"
msgstr "Hispanio"
-#: ../rules/base.xml.in.h:581
+#: ../rules/base.xml.in.h:619
msgid "Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server"
msgstr "Specialaj klavoj (Ctrl+Alt+&lt;klavo&gt;) traktotaj en servilo"
-#: ../rules/base.xml.in.h:582
-msgid "SrL"
-msgstr "SrL"
-
-#: ../rules/base.xml.in.h:583
+#: ../rules/base.xml.in.h:620
msgid "Sri Lanka"
msgstr "Sri-Lanko"
-#: ../rules/base.xml.in.h:584
+#: ../rules/base.xml.in.h:621
msgid "Standard"
msgstr "Laŭnorma"
-#: ../rules/base.xml.in.h:585
+#: ../rules/base.xml.in.h:622
msgid "Standard (Cedilla)"
msgstr "Laŭnorma (Subhoko)"
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:587
+#: ../rules/base.xml.in.h:624
msgid "Standard RSTU"
msgstr "Laŭnorma RSTU"
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:589
+#: ../rules/base.xml.in.h:626
msgid "Standard RSTU on Russian layout"
msgstr "Laŭnorma RSTU en Rusa aranĝo"
-#: ../rules/base.xml.in.h:590
+#: ../rules/base.xml.in.h:627
msgid "Sun Type 5/6"
msgstr "Sun Type 5/6"
-#: ../rules/base.xml.in.h:591
+#: ../rules/base.xml.in.h:628
msgid "Sun dead keys"
msgstr "Senpaŝaj klavoj de 'Sun'"
-#: ../rules/base.xml.in.h:592
+#: ../rules/base.xml.in.h:629
msgid "Super Power Multimedia Keyboard"
msgstr "Super Power Multimedia Keyboard"
-#: ../rules/base.xml.in.h:593
+#: ../rules/base.xml.in.h:630
msgid "Svdvorak"
msgstr "Svdvorak"
-#: ../rules/base.xml.in.h:594
+#: ../rules/base.xml.in.h:631
msgid "Svk"
msgstr "Svk"
-#: ../rules/base.xml.in.h:595
+#: ../rules/base.xml.in.h:632
msgid "Svn"
msgstr "Svn"
-#: ../rules/base.xml.in.h:596
-msgid "Swap Ctrl and CapsLock"
-msgstr "Permuti Ctrl kaj CapsLock"
+#: ../rules/base.xml.in.h:633
+msgid "Swap Ctrl and Caps Lock"
+msgstr "Permuti Ctrl kaj Caps Lock"
-#: ../rules/base.xml.in.h:597
-msgid "Swap ESC and CapsLock"
-msgstr "Permuti ESC kaj CapsLock"
+#: ../rules/base.xml.in.h:634
+msgid "Swap ESC and Caps Lock"
+msgstr "Permuti ESC kaj Caps Lock"
-#: ../rules/base.xml.in.h:598
+#: ../rules/base.xml.in.h:635
msgid "Swe"
msgstr "Swe"
-#: ../rules/base.xml.in.h:599
+#: ../rules/base.xml.in.h:636
msgid "Sweden"
msgstr "Svedujo"
-#: ../rules/base.xml.in.h:600
+#: ../rules/base.xml.in.h:637
msgid "Switzerland"
msgstr "Svislando"
-#: ../rules/base.xml.in.h:601
+#: ../rules/base.xml.in.h:638
msgid "Symplon PaceBook (tablet PC)"
msgstr "Symplon PaceBook (tabuleta PC)"
-#: ../rules/base.xml.in.h:602
+#: ../rules/base.xml.in.h:639
msgid "Syr"
msgstr "Syr"
-#: ../rules/base.xml.in.h:603
+#: ../rules/base.xml.in.h:640
msgid "Syria"
msgstr "Sirio"
-#: ../rules/base.xml.in.h:604
+#: ../rules/base.xml.in.h:641
msgid "Syriac"
msgstr "Siria"
-#: ../rules/base.xml.in.h:605
+#: ../rules/base.xml.in.h:642
msgid "Syriac phonetic"
msgstr "Siria fonetika"
-#: ../rules/base.xml.in.h:606
+#: ../rules/base.xml.in.h:643
msgid "TIS-820.2538"
msgstr "TIS-820.2538"
-#: ../rules/base.xml.in.h:607
+#: ../rules/base.xml.in.h:644
msgid "Tajikistan"
msgstr "Taĝikujo"
-#: ../rules/base.xml.in.h:608
+#: ../rules/base.xml.in.h:645
msgid "Tamil"
msgstr "Tamila"
-#: ../rules/base.xml.in.h:609
+#: ../rules/base.xml.in.h:646
+msgid "Tamil Keyboard with Numerals"
+msgstr "Tamila Klavaro kun Ciferoj"
+
+#: ../rules/base.xml.in.h:647
msgid "Tamil TAB Typewriter"
msgstr "Tamila TAB Typewriter"
-#: ../rules/base.xml.in.h:610
+#: ../rules/base.xml.in.h:648
msgid "Tamil TSCII Typewriter"
msgstr "Tamila TSCII Typewriter"
-#: ../rules/base.xml.in.h:611
+#: ../rules/base.xml.in.h:649
msgid "Tamil Unicode"
msgstr "Tamila Unikodo"
-#: ../rules/base.xml.in.h:612
+#: ../rules/base.xml.in.h:650
+msgid "Tanzania"
+msgstr "Tanzanio"
+
+#: ../rules/base.xml.in.h:651
msgid "Targa Visionary 811"
msgstr "Targa Visionary 811"
-#: ../rules/base.xml.in.h:613
+#: ../rules/base.xml.in.h:652
msgid "Tatar"
msgstr "Tatara"
-#: ../rules/base.xml.in.h:614
+#: ../rules/base.xml.in.h:653
msgid "Telugu"
msgstr "Telugua"
-#: ../rules/base.xml.in.h:615
+#: ../rules/base.xml.in.h:654
msgid "Tha"
msgstr "Tha"
-#: ../rules/base.xml.in.h:616
+#: ../rules/base.xml.in.h:655
msgid "Thailand"
msgstr "Tajlando"
-#: ../rules/base.xml.in.h:617
+#: ../rules/base.xml.in.h:656
msgid "Tibetan"
msgstr "Tibeta"
-#: ../rules/base.xml.in.h:618
+#: ../rules/base.xml.in.h:657
msgid "Tibetan (with ASCII numerals)"
msgstr "Tibeta (kun ASCII ciferoj)"
-#: ../rules/base.xml.in.h:619
+#: ../rules/base.xml.in.h:658
msgid "Tifinagh"
msgstr "Tifinagh"
-#: ../rules/base.xml.in.h:620
-msgid "Tifinagh Alternative"
-msgstr "Tifinagh Alternativa"
+#: ../rules/base.xml.in.h:659
+msgid "Tifinagh alternative"
+msgstr "Tifinagh alternativa"
-#: ../rules/base.xml.in.h:621
-msgid "Tifinagh Alternative Phonetic"
-msgstr "Tifinagh Alternativa Fonetika"
+#: ../rules/base.xml.in.h:660
+msgid "Tifinagh alternative phonetic"
+msgstr "Tifinagh alternativa fonetika"
-#: ../rules/base.xml.in.h:622
-msgid "Tifinagh Extended"
-msgstr "Tifinagh Etendita"
+#: ../rules/base.xml.in.h:661
+msgid "Tifinagh extended"
+msgstr "Tifinagh etendita"
-#: ../rules/base.xml.in.h:623
-msgid "Tifinagh Extended Phonetic"
-msgstr "Tifinagh Etendita Fonetika"
+#: ../rules/base.xml.in.h:662
+msgid "Tifinagh extended phonetic"
+msgstr "Tifinagh etendita fonetika"
-#: ../rules/base.xml.in.h:624
-msgid "Tifinagh Phonetic"
-msgstr "Tifinagh Fonetika"
+#: ../rules/base.xml.in.h:663
+msgid "Tifinagh phonetic"
+msgstr "Tifinagh fonetika"
-#: ../rules/base.xml.in.h:625
+#: ../rules/base.xml.in.h:664
msgid "Tilde (~) variant"
msgstr "Tilda (~) variaĵo"
-#: ../rules/base.xml.in.h:626
+#: ../rules/base.xml.in.h:665
msgid "Tjk"
msgstr "Tjk"
-#: ../rules/base.xml.in.h:627
+#: ../rules/base.xml.in.h:666
+msgid "Tkm"
+msgstr "Tkm"
+
+#: ../rules/base.xml.in.h:667
msgid "To the corresponding key in a Dvorak keyboard."
msgstr "Al la ekvivalenta klavo en Dvoraka klavaro."
-#: ../rules/base.xml.in.h:628
+#: ../rules/base.xml.in.h:668
msgid "To the corresponding key in a Qwerty keyboard."
msgstr "Al la ekvivalenta klavo en klavaro Qwerty."
-#: ../rules/base.xml.in.h:629
+#: ../rules/base.xml.in.h:669
msgid "Toshiba Satellite S3000"
msgstr "Toshiba Satellite S3000"
-#: ../rules/base.xml.in.h:630
+#: ../rules/base.xml.in.h:670
msgid "Traditional phonetic"
msgstr "Tradicia fonetika"
-#: ../rules/base.xml.in.h:631
+#: ../rules/base.xml.in.h:671
msgid "Trust Direct Access Keyboard"
msgstr "Trust Direct Access Keyboard"
-#: ../rules/base.xml.in.h:632
+#: ../rules/base.xml.in.h:672
msgid "Trust Slimline"
msgstr "Trust Slimline"
-#: ../rules/base.xml.in.h:633
+#: ../rules/base.xml.in.h:673
msgid "Trust Wireless Keyboard Classic"
msgstr "Trust Wireless Keyboard Classic"
-#: ../rules/base.xml.in.h:634
+#: ../rules/base.xml.in.h:674
msgid "Tur"
msgstr "Tur"
-#: ../rules/base.xml.in.h:635
+#: ../rules/base.xml.in.h:675
msgid "Turkey"
msgstr "Turkujo"
-#: ../rules/base.xml.in.h:636
+#: ../rules/base.xml.in.h:676
msgid "Turkmenistan"
msgstr "Turkmenujo"
-#: ../rules/base.xml.in.h:637
+#: ../rules/base.xml.in.h:677
+msgid "TypeMatrix EZ-Reach 2020"
+msgstr "TypeMatrix EZ-Reach 2020"
+
+#: ../rules/base.xml.in.h:678
+msgid "TypeMatrix EZ-Reach 2030 PS2"
+msgstr "TypeMatrix EZ-Reach 2030 PS2"
+
+#: ../rules/base.xml.in.h:679
+msgid "TypeMatrix EZ-Reach 2030 USB"
+msgstr "TypeMatrix EZ-Reach 2030 USB"
+
+#: ../rules/base.xml.in.h:680
+msgid "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)"
+msgstr "TypeMatrix EZ-Reach 2030 USB (reĝimo 102/105:EU)"
+
+#: ../rules/base.xml.in.h:681
+msgid "TypeMatrix EZ-Reach 2030 USB (106:JP mode)"
+msgstr "TypeMatrix EZ-Reach 2030 USB (reĝimo 106:JP)"
+
+#: ../rules/base.xml.in.h:682
msgid "Typewriter"
msgstr "Skribmaŝino"
-#: ../rules/base.xml.in.h:638
+#: ../rules/base.xml.in.h:683
msgid "Typewriter, legacy"
msgstr "Skribmaŝino, malmoderna"
-#: ../rules/base.xml.in.h:639
+#: ../rules/base.xml.in.h:684
+msgid "Tza"
+msgstr "Tza"
+
+#: ../rules/base.xml.in.h:685
msgid "UCW layout (accented letters only)"
msgstr "Aranĝo UCW (nur diakritaĵoj)"
-#: ../rules/base.xml.in.h:640
+#: ../rules/base.xml.in.h:686
+msgid "US Dvorak with CZ UCW support"
+msgstr "Usona Dvorak kun subteno al CZ UCW"
+
+#: ../rules/base.xml.in.h:687
msgid "US keyboard with Bosnian digraphs"
msgstr "Usona klavaro kun bosnaj duliteraĵoj"
-#: ../rules/base.xml.in.h:641
+#: ../rules/base.xml.in.h:688
msgid "US keyboard with Bosnian letters"
msgstr "Usona klavaro kun bosnaj literoj"
-#: ../rules/base.xml.in.h:642
+#: ../rules/base.xml.in.h:689
msgid "US keyboard with Croatian digraphs"
msgstr "Usona klavaro kun kroataj duliteraĵoj"
-#: ../rules/base.xml.in.h:643
+#: ../rules/base.xml.in.h:690
msgid "US keyboard with Croatian letters"
msgstr "Usona klavaro kun kroataj literoj"
-#: ../rules/base.xml.in.h:644
+#: ../rules/base.xml.in.h:691
msgid "US keyboard with Estonian letters"
msgstr "Usona klavaro kun estonaj literoj"
-#: ../rules/base.xml.in.h:645
+#: ../rules/base.xml.in.h:692
msgid "US keyboard with Italian letters"
msgstr "Usona klavaro kun italaj literoj"
-#: ../rules/base.xml.in.h:646
+#: ../rules/base.xml.in.h:693
msgid "US keyboard with Lithuanian letters"
msgstr "Usona klavaro kun litovaj literoj"
-#: ../rules/base.xml.in.h:647
+#: ../rules/base.xml.in.h:694
msgid "US keyboard with Slovenian letters"
msgstr "Usona klavaro kun slovenaj literoj"
-#: ../rules/base.xml.in.h:648 ../rules/base.extras.xml.in.h:9
+#: ../rules/base.xml.in.h:695 ../rules/base.extras.xml.in.h:11
msgid "USA"
msgstr "Usono"
-#: ../rules/base.xml.in.h:649
+#: ../rules/base.xml.in.h:696
msgid "Udmurt"
msgstr "Udmurta"
-#: ../rules/base.xml.in.h:650
+#: ../rules/base.xml.in.h:697
msgid "Ukr"
msgstr "Ukr"
-#: ../rules/base.xml.in.h:651
+#: ../rules/base.xml.in.h:698
msgid "Ukraine"
msgstr "Ukrajnujo"
-#: ../rules/base.xml.in.h:652
+#: ../rules/base.xml.in.h:699
msgid "Unicode additions (arrows and math operators)"
msgstr "Unikodaj aldonoj (sagoj kaj operaci-simboloj)"
-#: ../rules/base.xml.in.h:653
+#: ../rules/base.xml.in.h:700
msgid "Unicode additions (arrows and math operators). Math operators on default level"
msgstr "Unikodaj aldonoj (sagoj kaj operaci-simboloj). Operaci-simboloj en la implicita nivelo."
-#: ../rules/base.xml.in.h:654
+#: ../rules/base.xml.in.h:701
msgid "UnicodeExpert"
msgstr "UnicodeExpert"
-#: ../rules/base.xml.in.h:655
+#: ../rules/base.xml.in.h:702
msgid "United Kingdom"
msgstr "Unuiĝinta Reĝlando"
-#: ../rules/base.xml.in.h:656
+#: ../rules/base.xml.in.h:703
msgid "Unitek KB-1925"
msgstr "Unitek KB-1925"
-#: ../rules/base.xml.in.h:657
+#: ../rules/base.xml.in.h:704
msgid "Urdu, Alternative phonetic"
msgstr "Urdu, Alternativa fonetika"
-#: ../rules/base.xml.in.h:658
+#: ../rules/base.xml.in.h:705
msgid "Urdu, Phonetic"
msgstr "Urdu, Fonetike"
-#: ../rules/base.xml.in.h:659
+#: ../rules/base.xml.in.h:706
msgid "Urdu, Winkeys"
msgstr "Urdu, Win-klavoj"
-#: ../rules/base.xml.in.h:660
+#: ../rules/base.xml.in.h:707
msgid "Use Bosnian digraphs"
msgstr "Uzi bosnajn duliteraĵojn"
-#: ../rules/base.xml.in.h:661
+#: ../rules/base.xml.in.h:708
msgid "Use Croatian digraphs"
msgstr "Uzi kroatajn duliteraĵojn"
-#: ../rules/base.xml.in.h:662
+#: ../rules/base.xml.in.h:709
msgid "Use guillemets for quotes"
msgstr "Uzi angul-citilojn por citiloj"
-#: ../rules/base.xml.in.h:663
+#: ../rules/base.xml.in.h:710
msgid "Use keyboard LED to show alternative layout"
msgstr "Uzi la LED de klavaro por indiki alternativan aranĝon"
-#: ../rules/base.xml.in.h:664
+#: ../rules/base.xml.in.h:711
msgid "Using space key to input non-breakable space character"
msgstr "Uzado de spac-klavo por enmeti ne-rompeblan spaco-signon"
-#: ../rules/base.xml.in.h:665
+#: ../rules/base.xml.in.h:712
msgid "Usual space at any level"
msgstr "Kutima spaco-signo ĉe iu ajn nivelo"
-#: ../rules/base.xml.in.h:666
+#: ../rules/base.xml.in.h:713
msgid "Uzb"
msgstr "Uzb"
-#: ../rules/base.xml.in.h:667
+#: ../rules/base.xml.in.h:714
msgid "Uzbekistan"
msgstr "Uzbekujo"
-#: ../rules/base.xml.in.h:668
+#: ../rules/base.xml.in.h:715
msgid "Vietnam"
msgstr "Vjetnamujo"
-#: ../rules/base.xml.in.h:669
+#: ../rules/base.xml.in.h:716
msgid "ViewSonic KU-306 Internet Keyboard"
msgstr "ViewSonic KU-306 Internet Keyboard"
-#: ../rules/base.xml.in.h:670
+#: ../rules/base.xml.in.h:717
msgid "Vnm"
msgstr "Vnm"
-#: ../rules/base.xml.in.h:671
+#: ../rules/base.xml.in.h:718
msgid "Wang 724 keypad with unicode additions (arrows and math operators)"
msgstr "Wang 724 ciferklavaro kun unikodaj aldonoj (sagoj kaj operaci-simboloj)"
-#: ../rules/base.xml.in.h:672
+#: ../rules/base.xml.in.h:719
msgid "Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level"
msgstr "Wang 724 ciferklavaro kun unikodaj aldonoj (sagoj kaj operaci-simboloj). Operaci-simboloj en la implicita nivelo"
-#: ../rules/base.xml.in.h:673
+#: ../rules/base.xml.in.h:720
msgid "Wang model 724 azerty"
msgstr "Wang modelo 724 azerty"
-#: ../rules/base.xml.in.h:674
+#: ../rules/base.xml.in.h:721
msgid "Western"
msgstr "Okcidenta"
-#: ../rules/base.xml.in.h:675
+#: ../rules/base.xml.in.h:722
msgid "Winbook Model XP5"
msgstr "Winbook Model XP5"
-#: ../rules/base.xml.in.h:676
+#: ../rules/base.xml.in.h:723
msgid "Winkeys"
msgstr "Win-klavoj"
-#: ../rules/base.xml.in.h:677
+#: ../rules/base.xml.in.h:724
msgid "With &lt;\\|&gt; key"
msgstr "Kun klavo &lt;\\|&gt;"
-#: ../rules/base.xml.in.h:678
+#: ../rules/base.xml.in.h:725
msgid "With EuroSign on 5"
msgstr "Kun EŭroSigno ĉe 5"
-#: ../rules/base.xml.in.h:679
+#: ../rules/base.xml.in.h:726
msgid "With guillemets"
msgstr "Kun angul-citiloj"
-#: ../rules/base.xml.in.h:680
+#: ../rules/base.xml.in.h:727
msgid "Yahoo! Internet Keyboard"
msgstr "Yahoo! Internet Keyboard"
-#: ../rules/base.xml.in.h:681
+#: ../rules/base.xml.in.h:728
msgid "Yakut"
msgstr "Yakut"
-#: ../rules/base.xml.in.h:682
+#: ../rules/base.xml.in.h:729
msgid "Yoruba"
msgstr "Joruba"
-#: ../rules/base.xml.in.h:683
+#: ../rules/base.xml.in.h:730
msgid "Z and ZHE swapped"
msgstr "Z kaj ZHE permutitaj"
-#: ../rules/base.xml.in.h:684
-msgid "Zar"
-msgstr "Zar"
+#: ../rules/base.xml.in.h:731
+msgid "Zaf"
+msgstr "Zaf"
-#: ../rules/base.xml.in.h:685
+#: ../rules/base.xml.in.h:732
+msgid "Zero-width non-joiner character at second level"
+msgstr "Nul-larĝa ne-kuniga signo ĉe dua nivelo"
+
+#: ../rules/base.xml.in.h:733
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level"
+msgstr "Nul-larĝa ne-kuniga signo ĉe la dua nivelo, ne-rompebla spaco-signo ĉe la tria nivelo"
+
+#: ../rules/base.xml.in.h:734
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level"
+msgstr "Nul-larĝa ne-kuniga signo ĉe la dua nivelo, ne-rompebla spaco-signo ĉe la tria nivelo, nenio ĉe la kvara nivelo"
+
+#: ../rules/base.xml.in.h:735
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level"
+msgstr "Nul-larĝa ne-kuniga signo ĉe la dua nivelo, ne-rompebla spaco-signo ĉe la tria nivelo, maldika ne-rompebla spaco-signo ĉe la kvara nivelo"
+
+#: ../rules/base.xml.in.h:736
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level"
+msgstr "Nul-larĝa ne-kuniga signo ĉe la dua nivelo, ne-rompebla spaco-signo ĉe la tria nivelo, nul-larĝa kuniga signo ĉe la kvara nivelo"
+
+#: ../rules/base.xml.in.h:737
+msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level"
+msgstr "Nul-larĝa ne-kuniga signo ĉe la dua nivelo, nul-larĝa kuniga signo ĉe la tria nivelo"
+
+#: ../rules/base.xml.in.h:738
+msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level"
+msgstr "Nul-larĝa ne-kuniga signo ĉe la dua nivelo, nul-larĝa kuniga signo ĉe la tria nivelo, ne-rompebla spaco-signo ĉe la kvara nivelo"
+
+#: ../rules/base.xml.in.h:739
+msgid "Zero-width non-joiner character at third level, zero-width joiner at fourth level"
+msgstr "Nul-larĝa ne-kuniga signo ĉe la tria nivelo, nul-larĝa kuniga signo ĉe la kvara nivelo"
+
+#: ../rules/base.xml.in.h:740
msgid "azerty"
msgstr "azerty"
-#: ../rules/base.xml.in.h:686
+#: ../rules/base.xml.in.h:741
msgid "azerty/digits"
msgstr "azerty/ciferoj"
-#: ../rules/base.xml.in.h:687
+#: ../rules/base.xml.in.h:742
msgid "digits"
msgstr "ciferoj"
-#: ../rules/base.xml.in.h:688
+#: ../rules/base.xml.in.h:743
msgid "displaced semicolon and quote (obsolete)"
msgstr "translokitaj punktokomo kaj citilo (malaktuale)"
-#: ../rules/base.xml.in.h:689
+#: ../rules/base.xml.in.h:744
msgid "lyx"
msgstr "lyx"
-#: ../rules/base.xml.in.h:690
+#: ../rules/base.xml.in.h:745
msgid "qwerty"
msgstr "qwerty"
-#: ../rules/base.xml.in.h:691
+#: ../rules/base.xml.in.h:746
msgid "qwerty, extended Backslash"
-msgstr "qwerty, etendita Malsuprenstreko"
+msgstr "qwerty, etendita Retroklino"
-#: ../rules/base.xml.in.h:692
+#: ../rules/base.xml.in.h:747
msgid "qwerty/digits"
msgstr "qwerty/ciferoj"
-#: ../rules/base.xml.in.h:693
+#: ../rules/base.xml.in.h:748
msgid "qwertz"
msgstr "qwertz"
@@ -2781,30 +3001,67 @@ msgid "Atsina"
msgstr "Atsina"
#: ../rules/base.extras.xml.in.h:3
+msgid "Avestan"
+msgstr "Avesta"
+
+#: ../rules/base.extras.xml.in.h:4
msgid "Combining accents instead of dead keys"
msgstr "Kunmiksado de diakritaĵoj anstataŭ senpaŝaj klavoj"
-#: ../rules/base.extras.xml.in.h:4
+#: ../rules/base.extras.xml.in.h:5
msgid "Couer D'alene Salish"
msgstr "Couer D'alene Salish"
-#: ../rules/base.extras.xml.in.h:5
+#: ../rules/base.extras.xml.in.h:6
msgid "International (AltGr Unicode combining)"
msgstr "Internacia (AltGr-Unikodo kunmiksado)"
-#: ../rules/base.extras.xml.in.h:6
+#: ../rules/base.extras.xml.in.h:7
msgid "International (AltGr Unicode combining, alternative)"
msgstr "Internacia (AltGr-Unikodo kunmiksado, alternativa)"
+#~ msgid "CapsLock"
+#~ msgstr "CapsLock"
+
+#~ msgid "ScrollLock"
+#~ msgstr "ScrollLock"
+
+#~ msgid "ACPI Standard"
+#~ msgstr "ACPI Laŭnorma"
+
+#~ msgid "Bhu"
+#~ msgstr "Bhu"
+
+#~ msgid "DRC"
+#~ msgstr "DRC"
+
+#~ msgid "Dvorak international"
+#~ msgstr "Internacia Dvorako"
+
+#~ msgid "Evdev-managed keyboard"
+#~ msgstr "Klavaro traktita per 'Evdev'"
+
+#~ msgid "Gre"
+#~ msgstr "Gre"
+
+#~ msgid "Gui"
+#~ msgstr "Gui"
+
+#~ msgid "Lav"
+#~ msgstr "Lav"
+
+#~ msgid "Nep"
+#~ msgstr "Nep"
+
+#~ msgid "SrL"
+#~ msgstr "SrL"
+
#~ msgid "Baltic+"
#~ msgstr "Balta+"
#~ msgid "IBM ThinkPad 560Z/600/600E/A22E, Intl"
#~ msgstr "IBM ThinkPad 560Z/600/600E/A22E, Intl"
-#~ msgid "Keypad"
-#~ msgstr "Cifer-klavaro"
-
#~ msgid "Pro"
#~ msgstr "Pro"
diff --git a/xorg-server/xkeyboard-config/po/es.po b/xorg-server/xkeyboard-config/po/es.po
index c8b4594ae..1b12fba51 100644
--- a/xorg-server/xkeyboard-config/po/es.po
+++ b/xorg-server/xkeyboard-config/po/es.po
@@ -1,14 +1,15 @@
-# translation of xkeyboard-config-1.8.po to Spanish
+# translation of xkeyboard-config-1.9.po to Spanish
# This file is distributed under the same license as the xkeyboard-config package.
# Copyright (C) 2006 The free software foundation
# Francisco Javier F. Serrador <serrador@cvs.gnome.org>, 2006.
-# Jorge González González <aloriel@gmail.com>, 2010.
+# Jorge González González <aloriel@gmail.com>, 2009, 2010.
+#
msgid ""
msgstr ""
-"Project-Id-Version: xkeyboard-config-1.8\n"
+"Project-Id-Version: xkeyboard-config-1.9\n"
"Report-Msgid-Bugs-To: svu@users.sourceforge.net\n"
-"POT-Creation-Date: 2010-01-16 18:08+0000\n"
-"PO-Revision-Date: 2010-03-29 08:36+0200\n"
+"POT-Creation-Date: 2010-05-11 21:34+0100\n"
+"PO-Revision-Date: 2010-08-24 21:36+0200\n"
"Last-Translator: Jorge González González <aloriel@gmail.com>\n"
"Language-Team: Spanish <es@li.org>\n"
"MIME-Version: 1.0\n"
@@ -18,2820 +19,3019 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../rules/base.xml.in.h:1
+msgid "&lt;Less/Greater&gt;"
+msgstr "&lt;Menor que/Mayor que&gt;"
+
+#: ../rules/base.xml.in.h:2
+msgid "&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr "&lt;Menor que/Mayor que&gt; elige el 5º nivel, bloquea al pulsarse junto con otro selector de 5º nivel"
+
+#: ../rules/base.xml.in.h:3
+msgid "&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr "&lt;Menor que/Mayor que&gt; elige el 5º nivel, bloquea al pulsarse junto con otro selector de 5º nivel, una pulsación libera el bloqueo"
+
+#: ../rules/base.xml.in.h:4
msgid "(F)"
msgstr "(F)"
-#: ../rules/base.xml.in.h:2
+#: ../rules/base.xml.in.h:5
msgid "(Legacy) Alternative"
msgstr "(Heredado) Alternativa"
-#: ../rules/base.xml.in.h:3
+#: ../rules/base.xml.in.h:6
msgid "(Legacy) Alternative, Sun dead keys"
msgstr "(Heredado) Alternativa, teclas muertas de Sun"
-#: ../rules/base.xml.in.h:4
+#: ../rules/base.xml.in.h:7
msgid "(Legacy) Alternative, eliminate dead keys"
msgstr "(Heredado) Alternativa, eliminar teclas muertas"
-#: ../rules/base.xml.in.h:5
+#: ../rules/base.xml.in.h:8
msgid "101/104 key Compatible"
msgstr "101/104 teclas compatible"
-#: ../rules/base.xml.in.h:6
+#: ../rules/base.xml.in.h:9
msgid "101/qwerty/comma/Dead keys"
msgstr "101/qwerty/coma/Teclas muertas"
-#: ../rules/base.xml.in.h:7
+#: ../rules/base.xml.in.h:10
msgid "101/qwerty/comma/Eliminate dead keys"
msgstr "101/qwerty/coma/Eliminar teclas muertas"
-#: ../rules/base.xml.in.h:8
+#: ../rules/base.xml.in.h:11
msgid "101/qwerty/dot/Dead keys"
msgstr "101/qwerty/punto/Teclas muertas"
-#: ../rules/base.xml.in.h:9
+#: ../rules/base.xml.in.h:12
msgid "101/qwerty/dot/Eliminate dead keys"
msgstr "101/qwerty/punto/Eliminar teclas muertas"
-#: ../rules/base.xml.in.h:10
+#: ../rules/base.xml.in.h:13
msgid "101/qwertz/comma/Dead keys"
msgstr "101/qwertz/coma/Teclas muertas"
-#: ../rules/base.xml.in.h:11
+#: ../rules/base.xml.in.h:14
msgid "101/qwertz/comma/Eliminate dead keys"
msgstr "101/qwertz/coma/Eliminar teclas muertas"
-#: ../rules/base.xml.in.h:12
+#: ../rules/base.xml.in.h:15
msgid "101/qwertz/dot/Dead keys"
msgstr "101/qwertz/punto/Teclas muertas"
-#: ../rules/base.xml.in.h:13
+#: ../rules/base.xml.in.h:16
msgid "101/qwertz/dot/Eliminate dead keys"
msgstr "101/qwertz/punto/Eliminar teclas muertas"
-#: ../rules/base.xml.in.h:14
+#: ../rules/base.xml.in.h:17
msgid "102/qwerty/comma/Dead keys"
msgstr "102/qwerty/coma/Teclas muertas"
-#: ../rules/base.xml.in.h:15
+#: ../rules/base.xml.in.h:18
msgid "102/qwerty/comma/Eliminate dead keys"
msgstr "102/qwerty/coma/Eliminar teclas muertas"
-#: ../rules/base.xml.in.h:16
+#: ../rules/base.xml.in.h:19
msgid "102/qwerty/dot/Dead keys"
msgstr "102/qwerty/punto/Teclas muertas"
-#: ../rules/base.xml.in.h:17
+#: ../rules/base.xml.in.h:20
msgid "102/qwerty/dot/Eliminate dead keys"
msgstr "102/qwerty/punto/Eliminar teclas muertas"
-#: ../rules/base.xml.in.h:18
+#: ../rules/base.xml.in.h:21
msgid "102/qwertz/comma/Dead keys"
msgstr "102/qwertz/coma/Teclas muertas"
-#: ../rules/base.xml.in.h:19
+#: ../rules/base.xml.in.h:22
msgid "102/qwertz/comma/Eliminate dead keys"
msgstr "102/qwertz/coma/Eliminar teclas muertas"
-#: ../rules/base.xml.in.h:20
+#: ../rules/base.xml.in.h:23
msgid "102/qwertz/dot/Dead keys"
msgstr "102/qwertz/punto/Teclas muertas"
-#: ../rules/base.xml.in.h:21
+#: ../rules/base.xml.in.h:24
msgid "102/qwertz/dot/Eliminate dead keys"
msgstr "102/qwertz/punto/Eliminar teclas muertas"
-#: ../rules/base.xml.in.h:22
+#: ../rules/base.xml.in.h:25
msgid "2"
msgstr "2"
-#: ../rules/base.xml.in.h:23
+#: ../rules/base.xml.in.h:26
msgid "4"
msgstr "4"
-#: ../rules/base.xml.in.h:24
+#: ../rules/base.xml.in.h:27
msgid "5"
msgstr "5"
-#: ../rules/base.xml.in.h:25
+#: ../rules/base.xml.in.h:28
msgid "A4Tech KB-21"
msgstr "A4Tech KB-21"
-#: ../rules/base.xml.in.h:26
+#: ../rules/base.xml.in.h:29
msgid "A4Tech KBS-8"
msgstr "A4Tech KBS-8"
-#: ../rules/base.xml.in.h:27
+#: ../rules/base.xml.in.h:30
msgid "A4Tech Wireless Desktop RFKB-23"
msgstr "A4Tech Wireless Desktop RFKB-23"
-#: ../rules/base.xml.in.h:28
-msgid "ACPI Standard"
-msgstr "ACPI Estándard"
-
-#: ../rules/base.xml.in.h:29
+#: ../rules/base.xml.in.h:31
msgid "ATM/phone-style"
msgstr "Cajero automático/estilo teléfono"
-#: ../rules/base.xml.in.h:30
+#: ../rules/base.xml.in.h:32
msgid "Acer AirKey V"
msgstr "Acer AirKey V"
-#: ../rules/base.xml.in.h:31
+#: ../rules/base.xml.in.h:33
msgid "Acer C300"
msgstr "Acer C300"
-#: ../rules/base.xml.in.h:32
+#: ../rules/base.xml.in.h:34
msgid "Acer Ferrari 4000"
msgstr "Acer Ferrari 4000"
-#: ../rules/base.xml.in.h:33
+#: ../rules/base.xml.in.h:35
msgid "Acer Laptop"
msgstr "Portátil Acer"
-#: ../rules/base.xml.in.h:34
+#: ../rules/base.xml.in.h:36
msgid "Add the standard behavior to Menu key"
msgstr "Añadir el comportamiento estándar a la tecla Menú."
-#: ../rules/base.xml.in.h:35
+#: ../rules/base.xml.in.h:37
msgid "Adding Esperanto circumflexes (supersigno)"
msgstr "Añadir las tildes circunflejas del esperanto (supersigno)"
-#: ../rules/base.xml.in.h:36
+#: ../rules/base.xml.in.h:38
msgid "Adding EuroSign to certain keys"
msgstr "Añadir el símbolo del Euro a ciertas teclas"
-#: ../rules/base.xml.in.h:37
+#: ../rules/base.xml.in.h:39
msgid "Advance Scorpius KI"
msgstr "Advance Scorpius KI"
-#: ../rules/base.xml.in.h:38
+#: ../rules/base.xml.in.h:40
msgid "Afg"
msgstr "Afg"
-#: ../rules/base.xml.in.h:39
+#: ../rules/base.xml.in.h:41
msgid "Afghanistan"
msgstr "Afganistán"
-#: ../rules/base.xml.in.h:40
+#: ../rules/base.xml.in.h:42
msgid "Akan"
msgstr "Akan"
-#: ../rules/base.xml.in.h:41
+#: ../rules/base.xml.in.h:43
msgid "Alb"
msgstr "Alb"
-#: ../rules/base.xml.in.h:42
+#: ../rules/base.xml.in.h:44
msgid "Albania"
msgstr "Albania"
-#: ../rules/base.xml.in.h:43
+#: ../rules/base.xml.in.h:45
msgid "Alt and Meta are on Alt keys"
msgstr "Alt y Meta están en las teclas Alt"
-#: ../rules/base.xml.in.h:44
+#: ../rules/base.xml.in.h:46
msgid "Alt is mapped to Right Win, Super to Menu"
-msgstr "Alt está mapeado a la tecla Windows derecha y Super a la tecla Menú"
+msgstr "Alt está mapeada a la tecla Windows derecha y Super a la tecla Menú"
-#: ../rules/base.xml.in.h:45
+#: ../rules/base.xml.in.h:47
msgid "Alt+CapsLock"
msgstr "Alt+Bloq Mayús"
-#: ../rules/base.xml.in.h:46
+#: ../rules/base.xml.in.h:48
msgid "Alt+Ctrl"
msgstr "Alt+Ctrl"
-#: ../rules/base.xml.in.h:47
+#: ../rules/base.xml.in.h:49
msgid "Alt+Shift"
msgstr "Alt+Mayús"
-#: ../rules/base.xml.in.h:48
+#: ../rules/base.xml.in.h:50
msgid "Alt+Space"
msgstr "Alt+Espacio"
-#: ../rules/base.xml.in.h:49
+#: ../rules/base.xml.in.h:51
msgid "Alt-Q"
msgstr "Alt-Q"
-#: ../rules/base.xml.in.h:50
+#: ../rules/base.xml.in.h:52
msgid "Alt/Win key behavior"
msgstr "Comportamiento de la tecla Alt/Windows"
-#: ../rules/base.xml.in.h:51
+#: ../rules/base.xml.in.h:53
msgid "Alternative"
msgstr "Alternativa"
-#: ../rules/base.xml.in.h:52
-#, fuzzy
+#: ../rules/base.xml.in.h:54
msgid "Alternative Eastern"
-msgstr "Alternativa"
+msgstr "Alternativa oriental"
-#: ../rules/base.xml.in.h:53
+#: ../rules/base.xml.in.h:55
msgid "Alternative Phonetic"
-msgstr "Fonético alternativo"
+msgstr "Alternativa fonética"
-#: ../rules/base.xml.in.h:54
-msgid "Alternative international (former us_intl)"
-msgstr "Alternativa internacional (antigua us_intl)"
+#: ../rules/base.xml.in.h:56
+msgid "Alternative international"
+msgstr "Alternativa internacional"
-#: ../rules/base.xml.in.h:55
+#: ../rules/base.xml.in.h:57
msgid "Alternative, Sun dead keys"
msgstr "Alternativa, teclas muertas de Sun"
-#: ../rules/base.xml.in.h:56
+#: ../rules/base.xml.in.h:58
msgid "Alternative, eliminate dead keys"
msgstr "Alternativa, eliminar teclas muertas"
-#: ../rules/base.xml.in.h:57
+#: ../rules/base.xml.in.h:59
msgid "Alternative, latin-9 only"
msgstr "Alternativa, sólo latin-9"
-#: ../rules/base.xml.in.h:58
+#: ../rules/base.xml.in.h:60
msgid "And"
msgstr "And"
-#: ../rules/base.xml.in.h:59
+#: ../rules/base.xml.in.h:61
msgid "Andorra"
msgstr "Andorra"
-#: ../rules/base.xml.in.h:60
+#: ../rules/base.xml.in.h:62
msgid "Any Alt key"
msgstr "Cualquier tecla Alt"
-#: ../rules/base.xml.in.h:61
+#: ../rules/base.xml.in.h:63
msgid "Any Win key"
msgstr "Cualquier tecla Windows"
-#: ../rules/base.xml.in.h:62
+#: ../rules/base.xml.in.h:64
msgid "Any Win key (while pressed)"
msgstr "Cualquier tecla Windows (al pulsarla)"
-#: ../rules/base.xml.in.h:63
+#: ../rules/base.xml.in.h:65
msgid "Apostrophe (') variant"
msgstr "Variante apóstrofo (')"
-#: ../rules/base.xml.in.h:64
+#: ../rules/base.xml.in.h:66
msgid "Apple"
msgstr "Apple"
-#: ../rules/base.xml.in.h:65
+#: ../rules/base.xml.in.h:67
+msgid "Apple Aluminium Keyboard (ANSI)"
+msgstr "Teclado de aluminio de Apple (ANSI)"
+
+#: ../rules/base.xml.in.h:68
+msgid "Apple Aluminium Keyboard (ISO)"
+msgstr "Teclado de aluminio de Apple (ISO)"
+
+#: ../rules/base.xml.in.h:69
+msgid "Apple Aluminium Keyboard (JIS)"
+msgstr "Teclado de aluminio de Apple (JIS)"
+
+#: ../rules/base.xml.in.h:70
+msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll_Lock, Pause, NumLock)"
+msgstr "Teclado de aluminio de Apple: emular teclas PC (Imprimir, Bloq Despl, Pausa, Bloq Núm)"
+
+#: ../rules/base.xml.in.h:71
msgid "Apple Laptop"
msgstr "Portátil Apple"
-#: ../rules/base.xml.in.h:66
+#: ../rules/base.xml.in.h:72
msgid "Ara"
msgstr "Ara"
-#: ../rules/base.xml.in.h:67
+#: ../rules/base.xml.in.h:73
msgid "Arabic"
msgstr "Árabe"
-#: ../rules/base.xml.in.h:68
+#: ../rules/base.xml.in.h:74
msgid "Arm"
msgstr "Arm"
-#: ../rules/base.xml.in.h:69
+#: ../rules/base.xml.in.h:75
msgid "Armenia"
msgstr "Armenia"
-#: ../rules/base.xml.in.h:70
+#: ../rules/base.xml.in.h:76
msgid "Asturian variant with bottom-dot H and bottom-dot L"
msgstr "Variante asturiana con H de medio punto y L de medio punto"
-#: ../rules/base.xml.in.h:71
+#: ../rules/base.xml.in.h:77
msgid "Asus Laptop"
msgstr "Portátil Asus"
-#: ../rules/base.xml.in.h:72
+#: ../rules/base.xml.in.h:78
msgid "At bottom left"
msgstr "En la parte inferior izquierda"
-#: ../rules/base.xml.in.h:73
-#, fuzzy
+#: ../rules/base.xml.in.h:79
msgid "At left of 'A'"
-msgstr "Tecla Ctrl a la izquierda de la «A»"
+msgstr "A la izquierda de la «A»"
-#: ../rules/base.xml.in.h:74
+#: ../rules/base.xml.in.h:80
+msgid "Avatime"
+msgstr "Avatime"
+
+#: ../rules/base.xml.in.h:81
msgid "Aze"
msgstr "Aze"
-#: ../rules/base.xml.in.h:75
+#: ../rules/base.xml.in.h:82
msgid "Azerbaijan"
msgstr "Azerbaiján"
-#: ../rules/base.xml.in.h:76
+#: ../rules/base.xml.in.h:83
msgid "Azona RF2300 wireless Internet Keyboard"
msgstr "Azona RF2300 wireless Internet Keyboard"
-#: ../rules/base.xml.in.h:77
+#: ../rules/base.xml.in.h:84
msgid "BTC 5090"
msgstr "BTC 5090"
-#: ../rules/base.xml.in.h:78
+#: ../rules/base.xml.in.h:85
msgid "BTC 5113RF Multimedia"
msgstr "BTC 5113RF Multimedia"
-#: ../rules/base.xml.in.h:79
+#: ../rules/base.xml.in.h:86
msgid "BTC 5126T"
msgstr "BTC 5126T"
-#: ../rules/base.xml.in.h:80
+#: ../rules/base.xml.in.h:87
msgid "BTC 6301URF"
msgstr "BTC 6301URF"
-#: ../rules/base.xml.in.h:81
+#: ../rules/base.xml.in.h:88
msgid "BTC 9000"
msgstr "BTC 9000"
-#: ../rules/base.xml.in.h:82
+#: ../rules/base.xml.in.h:89
msgid "BTC 9000A"
msgstr "BTC 9000A"
-#: ../rules/base.xml.in.h:83
+#: ../rules/base.xml.in.h:90
msgid "BTC 9001AH"
msgstr "BTC 9001AH"
-#: ../rules/base.xml.in.h:84
+#: ../rules/base.xml.in.h:91
msgid "BTC 9019U"
msgstr "BTC 9019U"
-#: ../rules/base.xml.in.h:85
+#: ../rules/base.xml.in.h:92
msgid "BTC 9116U Mini Wireless Internet and Gaming"
msgstr "BTC 9116U Mini Wireless Internet and Gaming"
-#: ../rules/base.xml.in.h:86
-msgid "Ban"
-msgstr "Ban"
+#: ../rules/base.xml.in.h:93
+msgid "Backslash"
+msgstr "Contrabarra"
-#: ../rules/base.xml.in.h:87
+#: ../rules/base.xml.in.h:94
msgid "Bangladesh"
msgstr "Bangladesh"
-#: ../rules/base.xml.in.h:88
+#: ../rules/base.xml.in.h:95
msgid "Bashkirian"
msgstr "Bashkiriano"
-#: ../rules/base.xml.in.h:89
+#: ../rules/base.xml.in.h:96
msgid "Bel"
msgstr "Bel"
-#: ../rules/base.xml.in.h:90
+#: ../rules/base.xml.in.h:97
msgid "Belarus"
msgstr "Bielorusia"
-#: ../rules/base.xml.in.h:91
+#: ../rules/base.xml.in.h:98
msgid "Belgium"
msgstr "Bélgica"
-#: ../rules/base.xml.in.h:92
+#: ../rules/base.xml.in.h:99
msgid "BenQ X-Touch"
msgstr "BenQ X-Touch"
-#: ../rules/base.xml.in.h:93
+#: ../rules/base.xml.in.h:100
msgid "BenQ X-Touch 730"
msgstr "BenQ X-Touch 730"
-#: ../rules/base.xml.in.h:94
+#: ../rules/base.xml.in.h:101
msgid "BenQ X-Touch 800"
msgstr "BenQ X-Touch 800"
-#: ../rules/base.xml.in.h:95
+#: ../rules/base.xml.in.h:102
msgid "Bengali"
msgstr "Bengalí"
-#: ../rules/base.xml.in.h:96
+#: ../rules/base.xml.in.h:103
msgid "Bengali Probhat"
msgstr "Probhat Bengalí"
-#: ../rules/base.xml.in.h:97
+#: ../rules/base.xml.in.h:104
msgid "Bepo, ergonomic, Dvorak way"
-msgstr ""
+msgstr "Bepo, ergonómico, forma Dvorak"
-#: ../rules/base.xml.in.h:98
+#: ../rules/base.xml.in.h:105
msgid "Bepo, ergonomic, Dvorak way, latin-9 only"
-msgstr ""
+msgstr "Bepo, ergonómico, forma Dvorak, sólo latin-9"
-#: ../rules/base.xml.in.h:99
+#: ../rules/base.xml.in.h:106
+msgid "Bgd"
+msgstr "Bgd"
+
+#: ../rules/base.xml.in.h:107
msgid "Bgr"
msgstr "Bgr"
-#: ../rules/base.xml.in.h:100
-msgid "Bhu"
-msgstr "Bhu"
-
-#: ../rules/base.xml.in.h:101
+#: ../rules/base.xml.in.h:108
msgid "Bhutan"
msgstr "Bhután"
-#: ../rules/base.xml.in.h:102
+#: ../rules/base.xml.in.h:109
msgid "Biblical Hebrew (Tiro)"
msgstr "Hebreo bíblico (Tiro)"
-#: ../rules/base.xml.in.h:103
+#: ../rules/base.xml.in.h:110
msgid "Bih"
msgstr "Bih"
-#: ../rules/base.xml.in.h:104
+#: ../rules/base.xml.in.h:111
msgid "Blr"
msgstr "Blr"
-#: ../rules/base.xml.in.h:105
+#: ../rules/base.xml.in.h:112
msgid "Bosnia and Herzegovina"
msgstr "Bosnia y Herzegovina"
-#: ../rules/base.xml.in.h:106
+#: ../rules/base.xml.in.h:113
msgid "Both Alt keys together"
msgstr "Ambas teclas Alt juntas"
-#: ../rules/base.xml.in.h:107
+#: ../rules/base.xml.in.h:114
msgid "Both Ctrl keys together"
msgstr "Ambas teclas Ctrl juntas"
-#: ../rules/base.xml.in.h:108
+#: ../rules/base.xml.in.h:115
msgid "Both Shift keys together"
msgstr "Ambas teclas Mayús juntas"
-#: ../rules/base.xml.in.h:109
+#: ../rules/base.xml.in.h:116
+msgid "Both Shift-Keys together toggle CapsLock"
+msgstr "Ambas teclas Mayús juntas conmutan Bloq Mayús"
+
+#: ../rules/base.xml.in.h:117
+msgid "Botswana"
+msgstr "Botswana"
+
+#: ../rules/base.xml.in.h:118
msgid "Bra"
msgstr "Bra"
-#: ../rules/base.xml.in.h:110
+#: ../rules/base.xml.in.h:119
msgid "Braille"
msgstr "Braille"
-#: ../rules/base.xml.in.h:111
+#: ../rules/base.xml.in.h:120
msgid "Brazil"
msgstr "Brasil"
-#: ../rules/base.xml.in.h:112
+#: ../rules/base.xml.in.h:121
msgid "Breton"
msgstr "Bretón"
-#: ../rules/base.xml.in.h:113
+#: ../rules/base.xml.in.h:122
msgid "Brl"
msgstr "Brl"
-#: ../rules/base.xml.in.h:114
+#: ../rules/base.xml.in.h:123
msgid "Brother Internet Keyboard"
msgstr "Brother Internet Keyboard"
-#: ../rules/base.xml.in.h:115
+#: ../rules/base.xml.in.h:124
+msgid "Btn"
+msgstr "Btn"
+
+#: ../rules/base.xml.in.h:125
msgid "Buckwalter"
msgstr "Buckwalter"
-#: ../rules/base.xml.in.h:116
+#: ../rules/base.xml.in.h:126
msgid "Bulgaria"
msgstr "Bulgaria"
-#: ../rules/base.xml.in.h:117
+#: ../rules/base.xml.in.h:127
+msgid "Bwa"
+msgstr "Bwa"
+
+#: ../rules/base.xml.in.h:128
+msgid "COD"
+msgstr "COD"
+
+#: ../rules/base.xml.in.h:129
msgid "CRULP"
msgstr "CRULP"
-#: ../rules/base.xml.in.h:118
+#: ../rules/base.xml.in.h:130
msgid "Cambodia"
msgstr "Camboya"
-#: ../rules/base.xml.in.h:119
+#: ../rules/base.xml.in.h:131
msgid "Can"
msgstr "Can"
-#: ../rules/base.xml.in.h:120
+#: ../rules/base.xml.in.h:132
msgid "Canada"
msgstr "Canadá"
-#: ../rules/base.xml.in.h:121
-msgid "Caps Lock"
-msgstr "Bloqueo de mayúsculas"
-
-#: ../rules/base.xml.in.h:122
+#: ../rules/base.xml.in.h:133
msgid "CapsLock"
msgstr "Bloq Mayús"
-#: ../rules/base.xml.in.h:123
+#: ../rules/base.xml.in.h:134
msgid "CapsLock (to first layout), Shift+CapsLock (to last layout)"
-msgstr ""
+msgstr "Bloq Mayús (a la primera distribución), Mayús+Bloq Mayús (a la última distribución)"
-#: ../rules/base.xml.in.h:124
+#: ../rules/base.xml.in.h:135
msgid "CapsLock (while pressed), Alt+CapsLock does the original capslock action"
-msgstr ""
+msgstr "Bloq Mayús (al pulsarse), Alt+Bloq Mayús realiza la acción original de bloqueo de mayúsculas"
-#: ../rules/base.xml.in.h:125
-#, fuzzy
+#: ../rules/base.xml.in.h:136
msgid "CapsLock acts as Shift with locking. Shift \"pauses\" CapsLock"
-msgstr "BloqMayús actúa como Mayús con bloqueo. Mayús. cancela el BloqMayús."
+msgstr "Bloq Mayús actúa como Mayús con bloqueo; Mayús «pausa» Bloq Mayús"
-#: ../rules/base.xml.in.h:126
-#, fuzzy
+#: ../rules/base.xml.in.h:137
msgid "CapsLock acts as Shift with locking. Shift doesn't affect CapsLock"
-msgstr "BloqMayús actúa como Mayús con bloqueo. Mayús. no cancela el Bloq. Mayús."
+msgstr "Bloq Mayús actúa como Mayús con bloqueo; Mayús no afecta a Bloq Mayús"
-#: ../rules/base.xml.in.h:127
+#: ../rules/base.xml.in.h:138
msgid "CapsLock is disabled"
msgstr "Bloq Mayús está desactivado"
-#: ../rules/base.xml.in.h:128
+#: ../rules/base.xml.in.h:139
msgid "CapsLock key behavior"
-msgstr "Comportamiento de BloqMayús"
+msgstr "Comportamiento de Bloq Mayús"
-#: ../rules/base.xml.in.h:129
-#, fuzzy
+#: ../rules/base.xml.in.h:140
msgid "CapsLock toggles Shift so all keys are affected"
-msgstr "BloqMayús cambia Mayús de forma que todas las teclas están afectadas."
+msgstr "Bloq Mayús cambia Mayús de forma que todas las teclas están afectadas"
-#: ../rules/base.xml.in.h:130
-#, fuzzy
+#: ../rules/base.xml.in.h:141
msgid "CapsLock toggles normal capitalization of alphabetic characters"
-msgstr "BloqMayús cambia la capitalización normal de los caracteres alfabéticos."
+msgstr "Bloq Mayús cambia la capitalización normal de los caracteres alfabéticos"
-#: ../rules/base.xml.in.h:131
-#, fuzzy
+#: ../rules/base.xml.in.h:142
msgid "CapsLock uses internal capitalization. Shift \"pauses\" CapsLock"
-msgstr "BloqMayús usa la capitalización interna. Mayúsculas cancela el BloqMayús."
+msgstr "Bloq Mayús usa la capitalización interna; Mayús «pausa» el Bloq Mayús"
-#: ../rules/base.xml.in.h:132
-#, fuzzy
+#: ../rules/base.xml.in.h:143
msgid "CapsLock uses internal capitalization. Shift doesn't affect CapsLock"
-msgstr "BloqMayús usa la capitalización interna. Mayúsculas no cancela el BloqMayús."
+msgstr "Bloq Mayús usa la capitalización interna; Mayús no afecta a Bloq Mayús"
-#: ../rules/base.xml.in.h:133
+#: ../rules/base.xml.in.h:144
msgid "Catalan variant with middle-dot L"
msgstr "Variante catalana con L de medio punto"
-#: ../rules/base.xml.in.h:134
+#: ../rules/base.xml.in.h:145
msgid "Cedilla"
msgstr "Cedilla"
-#: ../rules/base.xml.in.h:135
+#: ../rules/base.xml.in.h:146
msgid "Che"
msgstr "Che"
-#: ../rules/base.xml.in.h:136
+#: ../rules/base.xml.in.h:147
msgid "Cherokee"
msgstr "Cherokee"
-#: ../rules/base.xml.in.h:137
+#: ../rules/base.xml.in.h:148
msgid "Cherry B.UNLIMITED"
msgstr "Cherry B.UNLIMITED"
-#: ../rules/base.xml.in.h:138
+#: ../rules/base.xml.in.h:149
msgid "Cherry Blue Line CyBo@rd"
msgstr "Cherry Blue Line CyBo@rd"
-#: ../rules/base.xml.in.h:139
+#: ../rules/base.xml.in.h:150
msgid "Cherry Blue Line CyBo@rd (alternate option)"
msgstr "Cherry Blue Line CyBo@rd (opción alternativa)"
-#: ../rules/base.xml.in.h:140
+#: ../rules/base.xml.in.h:151
msgid "Cherry CyBo@rd USB-Hub"
msgstr "Cherry CyBo@rd USB-Hub"
-#: ../rules/base.xml.in.h:141
+#: ../rules/base.xml.in.h:152
msgid "Cherry CyMotion Expert"
msgstr "Cherry CyMotion Expert"
-#: ../rules/base.xml.in.h:142
+#: ../rules/base.xml.in.h:153
msgid "Cherry CyMotion Master Linux"
msgstr "Cherry CyMotion Master Linux"
-#: ../rules/base.xml.in.h:143
+#: ../rules/base.xml.in.h:154
msgid "Cherry CyMotion Master XPress"
msgstr "Cherry CyMotion Master XPress"
-#: ../rules/base.xml.in.h:144
+#: ../rules/base.xml.in.h:155
msgid "Chicony Internet Keyboard"
msgstr "Chicony Internet Keyboard"
-#: ../rules/base.xml.in.h:145
+#: ../rules/base.xml.in.h:156
msgid "Chicony KB-9885"
msgstr "Chicony KB-9885"
-#: ../rules/base.xml.in.h:146
+#: ../rules/base.xml.in.h:157
msgid "Chicony KU-0108"
msgstr "Chicony KU-0108"
-#: ../rules/base.xml.in.h:147
+#: ../rules/base.xml.in.h:158
msgid "Chicony KU-0420"
msgstr "Chicony KU-0420"
-#: ../rules/base.xml.in.h:148
+#: ../rules/base.xml.in.h:159
msgid "China"
msgstr "China"
-#: ../rules/base.xml.in.h:149
+#: ../rules/base.xml.in.h:160
+msgid "Chn"
+msgstr "Chn"
+
+#: ../rules/base.xml.in.h:161
msgid "Chuvash"
msgstr "Chuvash"
-#: ../rules/base.xml.in.h:150
+#: ../rules/base.xml.in.h:162
msgid "Chuvash Latin"
msgstr "Chuvash latino"
-#: ../rules/base.xml.in.h:151
+#: ../rules/base.xml.in.h:163
msgid "Classic"
msgstr "Clásico"
-#: ../rules/base.xml.in.h:152
+#: ../rules/base.xml.in.h:164
msgid "Classic Dvorak"
msgstr "Dvorak clásico"
-#: ../rules/base.xml.in.h:153
+#: ../rules/base.xml.in.h:165
+msgid "Classic, eliminate dead keys"
+msgstr "Clásico, eliminar teclas muertas"
+
+#: ../rules/base.xml.in.h:166
msgid "Classmate PC"
msgstr "Classmate PC"
-#: ../rules/base.xml.in.h:154
+#: ../rules/base.xml.in.h:167
msgid "CloGaelach"
msgstr "CloGaelach"
-#: ../rules/base.xml.in.h:155
+#: ../rules/base.xml.in.h:168
msgid "Colemak"
msgstr "Colemak"
-#: ../rules/base.xml.in.h:156
+#: ../rules/base.xml.in.h:169
msgid "Compaq Easy Access Keyboard"
msgstr "Compaq Easy Access Keyboard"
-#: ../rules/base.xml.in.h:157
+#: ../rules/base.xml.in.h:170
msgid "Compaq Internet Keyboard (13 keys)"
msgstr "Compaq Internet Keyboard (13 teclas)"
-#: ../rules/base.xml.in.h:158
+#: ../rules/base.xml.in.h:171
msgid "Compaq Internet Keyboard (18 keys)"
msgstr "Compaq Internet Keyboard (18 teclas)"
-#: ../rules/base.xml.in.h:159
+#: ../rules/base.xml.in.h:172
msgid "Compaq Internet Keyboard (7 keys)"
msgstr "Compaq Internet Keyboard (7 teclas)"
-#: ../rules/base.xml.in.h:160
+#: ../rules/base.xml.in.h:173
msgid "Compaq iPaq Keyboard"
msgstr "Compaq iPaq Keyboard"
-#: ../rules/base.xml.in.h:161
+#: ../rules/base.xml.in.h:174
msgid "Compose key position"
msgstr "Posición de la tecla Componer"
-#: ../rules/base.xml.in.h:162
+#: ../rules/base.xml.in.h:175
msgid "Congo, Democratic Republic of the"
msgstr "Congo, República Democrática del"
-#: ../rules/base.xml.in.h:163
+#: ../rules/base.xml.in.h:176
msgid "Control + Alt + Backspace"
msgstr "Control + Alt + Retroceso"
-#: ../rules/base.xml.in.h:164
-#, fuzzy
+#: ../rules/base.xml.in.h:177
msgid "Control is mapped to Alt keys, Alt is mapped to Win keys"
-msgstr "Meta está mapeado a la tecla Windows izquierda."
+msgstr "Control está mapeada a las teclas Alt, Alt está mapeado a las teclas Windows"
-#: ../rules/base.xml.in.h:165
-#, fuzzy
+#: ../rules/base.xml.in.h:178
msgid "Control is mapped to Win keys (and the usual Ctrl keys)"
-msgstr "Super está mapeada a las teclas Windows (predeterminado)"
+msgstr "Control está mapeada a las teclas Windows (y las teclas Ctrl usuales)"
-#: ../rules/base.xml.in.h:166
+#: ../rules/base.xml.in.h:179
msgid "Creative Desktop Wireless 7000"
msgstr "Creative Desktop Wireless 7000"
-#: ../rules/base.xml.in.h:167
+#: ../rules/base.xml.in.h:180
msgid "Crimean Tatar (Dobruca-1 Q)"
msgstr "Tártaro de Crimea (Dobruca-1 Q)"
-#: ../rules/base.xml.in.h:168
+#: ../rules/base.xml.in.h:181
msgid "Crimean Tatar (Dobruca-2 Q)"
msgstr "Tártaro de Crimea (Dobruca-2 Q)"
-#: ../rules/base.xml.in.h:169
+#: ../rules/base.xml.in.h:182
msgid "Crimean Tatar (Turkish Alt-Q)"
msgstr "Tártaro de Crimea (turco Alt-Q)"
-#: ../rules/base.xml.in.h:170
+#: ../rules/base.xml.in.h:183
msgid "Crimean Tatar (Turkish F)"
msgstr "Tártaro de Crimea (turco F)"
-#: ../rules/base.xml.in.h:171
+#: ../rules/base.xml.in.h:184
msgid "Crimean Tatar (Turkish Q)"
msgstr "Tártaro de Crimea (turco Q)"
-#: ../rules/base.xml.in.h:172
+#: ../rules/base.xml.in.h:185
msgid "Croatia"
msgstr "Croacia"
-#: ../rules/base.xml.in.h:173
+#: ../rules/base.xml.in.h:186
msgid "Ctrl key position"
msgstr "Posición de la tecla Ctrl"
-#: ../rules/base.xml.in.h:174
+#: ../rules/base.xml.in.h:187
msgid "Ctrl+Shift"
msgstr "Ctrl+Mayús"
-#: ../rules/base.xml.in.h:175
+#: ../rules/base.xml.in.h:188
msgid "Cyrillic"
msgstr "Cirílico"
-#: ../rules/base.xml.in.h:176
+#: ../rules/base.xml.in.h:189
msgid "Cyrillic with guillemets"
msgstr "Cirílico con guillemots"
-#: ../rules/base.xml.in.h:177
+#: ../rules/base.xml.in.h:190
msgid "Cyrillic, Z and ZHE swapped"
msgstr "Cirílico, Z y ZHE intercambiados"
-#: ../rules/base.xml.in.h:178
+#: ../rules/base.xml.in.h:191
msgid "Cze"
msgstr "Che"
-#: ../rules/base.xml.in.h:179
+#: ../rules/base.xml.in.h:192
msgid "Czechia"
msgstr "Chequia"
-#: ../rules/base.xml.in.h:180
+#: ../rules/base.xml.in.h:193
msgid "DOS"
msgstr "DOS"
-#: ../rules/base.xml.in.h:181
-msgid "DRC"
-msgstr "DRC"
-
-#: ../rules/base.xml.in.h:182
+#: ../rules/base.xml.in.h:194
msgid "DTK2000"
msgstr "DTK2000"
-#: ../rules/base.xml.in.h:183
-msgid "Dan"
-msgstr "Dan"
-
-#: ../rules/base.xml.in.h:184
+#: ../rules/base.xml.in.h:195
msgid "Dead acute"
msgstr "Acento muerto"
-#: ../rules/base.xml.in.h:185
+#: ../rules/base.xml.in.h:196
msgid "Dead grave acute"
msgstr "Acento grave muerto"
-#: ../rules/base.xml.in.h:186
+#: ../rules/base.xml.in.h:197
msgid "Default numeric keypad keys"
msgstr "Teclas del teclado numérico predeterminado"
-#: ../rules/base.xml.in.h:187
+#: ../rules/base.xml.in.h:198
msgid "Dell"
msgstr "Dell"
-#: ../rules/base.xml.in.h:188
+#: ../rules/base.xml.in.h:199
msgid "Dell 101-key PC"
msgstr "Dell PC 101 teclas"
-#: ../rules/base.xml.in.h:189
+#: ../rules/base.xml.in.h:200
msgid "Dell Laptop/notebook Inspiron 6xxx/8xxx"
msgstr "Dell Laptop/notebook Inspiron 6xxx/8xxx"
-#: ../rules/base.xml.in.h:190
+#: ../rules/base.xml.in.h:201
msgid "Dell Laptop/notebook Precision M series"
msgstr "Dell Laptop/notebook Precision M series"
-#: ../rules/base.xml.in.h:191
+#: ../rules/base.xml.in.h:202
msgid "Dell Latitude series laptop"
msgstr "Portátil Dell Latitude"
-#: ../rules/base.xml.in.h:192
+#: ../rules/base.xml.in.h:203
msgid "Dell Precision M65"
msgstr "Dell Precision M65"
-#: ../rules/base.xml.in.h:193
+#: ../rules/base.xml.in.h:204
msgid "Dell SK-8125"
msgstr "Dell SK-8125"
-#: ../rules/base.xml.in.h:194
+#: ../rules/base.xml.in.h:205
msgid "Dell SK-8135"
msgstr "Dell SK-8135"
-#: ../rules/base.xml.in.h:195
+#: ../rules/base.xml.in.h:206
msgid "Dell USB Multimedia Keyboard"
msgstr "Dell USB Multimedia Keyboard"
-#: ../rules/base.xml.in.h:196
+#: ../rules/base.xml.in.h:207
msgid "Denmark"
msgstr "Dinamarca"
-#: ../rules/base.xml.in.h:197
+#: ../rules/base.xml.in.h:208
msgid "Deu"
msgstr "Deu"
-#: ../rules/base.xml.in.h:198
+#: ../rules/base.xml.in.h:209
msgid "Dexxa Wireless Desktop Keyboard"
msgstr "Dexxa Wireless Desktop Keyboard"
-#: ../rules/base.xml.in.h:199
+#: ../rules/base.xml.in.h:210
msgid "Diamond 9801 / 9802 series"
msgstr "Diamond 9801 / 9802 series"
-#: ../rules/base.xml.in.h:200
+#: ../rules/base.xml.in.h:211
+msgid "Dnk"
+msgstr "Dnk"
+
+#: ../rules/base.xml.in.h:212
msgid "Dvorak"
msgstr "Dvorak"
-#: ../rules/base.xml.in.h:201
+#: ../rules/base.xml.in.h:213
msgid "Dvorak (UK Punctuation)"
msgstr "Dvorak (puntuación de RU)"
-#: ../rules/base.xml.in.h:202
-msgid "Dvorak international"
-msgstr "Dvorak internacional"
+#: ../rules/base.xml.in.h:214
+msgid "Dvorak alternative international (no dead keys)"
+msgstr "Alternativa dvorak internacional (sin teclas muertas)"
-#: ../rules/base.xml.in.h:203
+#: ../rules/base.xml.in.h:215
+msgid "Dvorak international (with dead keys)"
+msgstr "Dvorak internacional (con teclas muertas)"
+
+#: ../rules/base.xml.in.h:216
msgid "Dvorak, Polish quotes on key 1"
msgstr "Dvorak, comillas polacas en la tecla 1"
-#: ../rules/base.xml.in.h:204
+#: ../rules/base.xml.in.h:217
msgid "Dvorak, Polish quotes on quotemark key"
msgstr "Dvorak, comillas polacas en la tecla de comillas"
-#: ../rules/base.xml.in.h:205
+#: ../rules/base.xml.in.h:218
msgid "E"
msgstr "E"
-#: ../rules/base.xml.in.h:206
+#: ../rules/base.xml.in.h:219
msgid "Eastern"
msgstr "Oriental"
-#: ../rules/base.xml.in.h:207
+#: ../rules/base.xml.in.h:220
msgid "Eliminate dead keys"
msgstr "Eliminar teclas muertas"
-#: ../rules/base.xml.in.h:208
+#: ../rules/base.xml.in.h:221
msgid "Enable extra typographic characters"
msgstr "Activar caracteres tipográficos adicionales"
-#: ../rules/base.xml.in.h:209
+#: ../rules/base.xml.in.h:222
msgid "English"
msgstr "Inglés"
-#: ../rules/base.xml.in.h:210
+#: ../rules/base.xml.in.h:223
+msgid "English (USA International)"
+msgstr "Inglés (EE. UU. internacional)"
+
+#: ../rules/base.xml.in.h:224
+msgid "English (USA Macintosh)"
+msgstr "Inglés (EE. UU. Macintosh)"
+
+#: ../rules/base.xml.in.h:225
msgid "Ennyah DKB-1008"
msgstr "Ennyah DKB-1008"
-#: ../rules/base.xml.in.h:211
+#: ../rules/base.xml.in.h:226
msgid "Enter on keypad"
msgstr "Intro en el teclado numérico"
-#: ../rules/base.xml.in.h:212
+#: ../rules/base.xml.in.h:227
msgid "Epo"
msgstr "Epo"
-#: ../rules/base.xml.in.h:213
+#: ../rules/base.xml.in.h:228
msgid "Ergonomic"
msgstr "Ergonómico"
-#: ../rules/base.xml.in.h:214
+#: ../rules/base.xml.in.h:229
msgid "Esp"
msgstr "Esp"
-#: ../rules/base.xml.in.h:215
+#: ../rules/base.xml.in.h:230
msgid "Esperanto"
msgstr "Esperanto"
-#: ../rules/base.xml.in.h:216
+#: ../rules/base.xml.in.h:231
msgid "Est"
msgstr "Est"
-#: ../rules/base.xml.in.h:217
+#: ../rules/base.xml.in.h:232
msgid "Estonia"
msgstr "Estonia"
-#: ../rules/base.xml.in.h:218
+#: ../rules/base.xml.in.h:233
msgid "Eth"
msgstr "Eth"
-#: ../rules/base.xml.in.h:219
+#: ../rules/base.xml.in.h:234
msgid "Ethiopia"
msgstr "Etiopía"
-#: ../rules/base.xml.in.h:220
-msgid "Evdev-managed keyboard"
-msgstr ""
-
-#: ../rules/base.xml.in.h:221
+#: ../rules/base.xml.in.h:235
msgid "Everex STEPnote"
msgstr "Everex STEPnote"
-#: ../rules/base.xml.in.h:222
+#: ../rules/base.xml.in.h:236
msgid "Ewe"
msgstr "Ewe"
-#: ../rules/base.xml.in.h:223
+#: ../rules/base.xml.in.h:237
msgid "Extended"
msgstr "Extendido"
-#: ../rules/base.xml.in.h:224
+#: ../rules/base.xml.in.h:238
msgid "Extended - Winkeys"
msgstr "Extendido - teclas Windows"
-#: ../rules/base.xml.in.h:225
+#: ../rules/base.xml.in.h:239
msgid "Extended Backslash"
msgstr "Contrabarra extendida"
-#: ../rules/base.xml.in.h:226
+#: ../rules/base.xml.in.h:240
msgid "F-letter (F) variant"
msgstr "Variante de letra F (F)"
-#: ../rules/base.xml.in.h:227
+#: ../rules/base.xml.in.h:241
msgid "FL90"
msgstr "FL90"
-#: ../rules/base.xml.in.h:228
-msgid "Fao"
-msgstr "Fao"
-
-#: ../rules/base.xml.in.h:229
+#: ../rules/base.xml.in.h:242
msgid "Faroe Islands"
msgstr "Islas Feroe"
-#: ../rules/base.xml.in.h:230
+#: ../rules/base.xml.in.h:243
msgid "Fin"
msgstr "Fin"
-#: ../rules/base.xml.in.h:231
+#: ../rules/base.xml.in.h:244
msgid "Finland"
msgstr "Finlandia"
#. This assumes the KP_ abstract symbols are actually useful for some apps
#. The description needs to be rewritten
-#: ../rules/base.xml.in.h:234
+#: ../rules/base.xml.in.h:247
msgid "Four-level key with abstract separators"
-msgstr ""
+msgstr "Tecla de cuarto nivel con separadores abstractos"
-#: ../rules/base.xml.in.h:235
+#: ../rules/base.xml.in.h:248
msgid "Four-level key with comma"
-msgstr ""
+msgstr "Tecla de cuarto nivel con coma"
-#: ../rules/base.xml.in.h:236
+#: ../rules/base.xml.in.h:249
msgid "Four-level key with dot"
-msgstr ""
+msgstr "Tecla de cuarto nivel con punto"
-#: ../rules/base.xml.in.h:237
+#: ../rules/base.xml.in.h:250
msgid "Four-level key with dot, latin-9 restriction"
-msgstr ""
+msgstr "Tecla de cuarto nivel con punto, restricción latin-9"
-#: ../rules/base.xml.in.h:238
+#: ../rules/base.xml.in.h:251
msgid "Four-level key with momayyez"
-msgstr ""
+msgstr "Tecla de cuarto nivel con momayyez"
-#: ../rules/base.xml.in.h:239
+#: ../rules/base.xml.in.h:252
msgid "Fra"
msgstr "Fra"
-#: ../rules/base.xml.in.h:240
+#: ../rules/base.xml.in.h:253
msgid "France"
msgstr "Francia"
-#: ../rules/base.xml.in.h:241
+#: ../rules/base.xml.in.h:254
+msgid "Français (France Alternative)"
+msgstr "Francés (alternativa francesa)"
+
+#: ../rules/base.xml.in.h:255
msgid "French"
msgstr "Francés"
-#: ../rules/base.xml.in.h:242
+#: ../rules/base.xml.in.h:256
msgid "French (Macintosh)"
msgstr "Francés (Macintosh)"
-#: ../rules/base.xml.in.h:243
+#: ../rules/base.xml.in.h:257
msgid "French (legacy)"
msgstr "Francés (heredado)"
-#: ../rules/base.xml.in.h:244
+#: ../rules/base.xml.in.h:258
msgid "French Dvorak"
msgstr "Francés Dvorak"
-#: ../rules/base.xml.in.h:245
+#: ../rules/base.xml.in.h:259
msgid "French, Sun dead keys"
msgstr "Francés, teclas muertas Sun"
-#: ../rules/base.xml.in.h:246
+#: ../rules/base.xml.in.h:260
msgid "French, eliminate dead keys"
msgstr "Francés, eliminar teclas muertas"
-#: ../rules/base.xml.in.h:247
+#: ../rules/base.xml.in.h:261
+msgid "Fro"
+msgstr "Fro"
+
+#: ../rules/base.xml.in.h:262
msgid "Fujitsu-Siemens Computers AMILO laptop"
msgstr "Portátil Fujitsu-Siemens Computers AMILO"
-#: ../rules/base.xml.in.h:248
+#: ../rules/base.xml.in.h:263
msgid "Fula"
msgstr "Fula"
-#: ../rules/base.xml.in.h:249
+#: ../rules/base.xml.in.h:264
msgid "GBr"
msgstr "GBr"
-#: ../rules/base.xml.in.h:250
+#: ../rules/base.xml.in.h:265
+msgid "GILLBT"
+msgstr "GILLBT"
+
+#: ../rules/base.xml.in.h:266
msgid "Ga"
msgstr "Ga"
-#: ../rules/base.xml.in.h:251
+#: ../rules/base.xml.in.h:267
msgid "Generic 101-key PC"
msgstr "PC genérico 101 teclas"
-#: ../rules/base.xml.in.h:252
+#: ../rules/base.xml.in.h:268
msgid "Generic 102-key (Intl) PC"
msgstr "PC genérico 102 teclas (intl)"
-#: ../rules/base.xml.in.h:253
+#: ../rules/base.xml.in.h:269
msgid "Generic 104-key PC"
msgstr "PC genérico 104 teclas"
-#: ../rules/base.xml.in.h:254
+#: ../rules/base.xml.in.h:270
msgid "Generic 105-key (Intl) PC"
msgstr "PC genérico 105 teclas (intl)"
-#: ../rules/base.xml.in.h:255
+#: ../rules/base.xml.in.h:271
msgid "Genius Comfy KB-12e"
msgstr "Genius Comfy KB-12e"
-#: ../rules/base.xml.in.h:256
+#: ../rules/base.xml.in.h:272
msgid "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
msgstr "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
-#: ../rules/base.xml.in.h:257
+#: ../rules/base.xml.in.h:273
msgid "Genius Comfy KB-21e-Scroll"
msgstr "Genius Comfy KB-21e-Scroll"
-#: ../rules/base.xml.in.h:258
+#: ../rules/base.xml.in.h:274
msgid "Genius KB-19e NB"
msgstr "Genius KB-19e NB"
-#: ../rules/base.xml.in.h:259
+#: ../rules/base.xml.in.h:275
msgid "Genius KKB-2050HS"
msgstr "Genius KKB-2050HS"
-#: ../rules/base.xml.in.h:260
+#: ../rules/base.xml.in.h:276
msgid "Geo"
msgstr "Geo"
-#: ../rules/base.xml.in.h:261
+#: ../rules/base.xml.in.h:277
msgid "Georgia"
msgstr "Georgia"
-#: ../rules/base.xml.in.h:262
+#: ../rules/base.xml.in.h:278
msgid "Georgian"
msgstr "Georgiano"
-#: ../rules/base.xml.in.h:263
+#: ../rules/base.xml.in.h:279
msgid "Georgian AZERTY Tskapo"
-msgstr ""
+msgstr "AZERTY Tskapo georgiano"
-#: ../rules/base.xml.in.h:264
+#: ../rules/base.xml.in.h:280
msgid "German (Macintosh)"
msgstr "Alemán (Macintosh)"
-#: ../rules/base.xml.in.h:265
+#: ../rules/base.xml.in.h:281
msgid "German, Sun dead keys"
msgstr "Alemán, teclas muertas Sun"
-#: ../rules/base.xml.in.h:266
+#: ../rules/base.xml.in.h:282
msgid "German, eliminate dead keys"
msgstr "Alemán, eliminar teclas muertas"
-#: ../rules/base.xml.in.h:267
+#: ../rules/base.xml.in.h:283
msgid "Germany"
msgstr "Alemania"
-#: ../rules/base.xml.in.h:268
+#: ../rules/base.xml.in.h:284
msgid "Gha"
msgstr "Gha"
-#: ../rules/base.xml.in.h:269
+#: ../rules/base.xml.in.h:285
msgid "Ghana"
msgstr "Ghana"
-#: ../rules/base.xml.in.h:270
-msgid "Gre"
-msgstr "Gre"
+#: ../rules/base.xml.in.h:286
+msgid "Gin"
+msgstr "Gin"
-#: ../rules/base.xml.in.h:271
+#: ../rules/base.xml.in.h:287
+msgid "Grc"
+msgstr "Grc"
+
+#: ../rules/base.xml.in.h:288
msgid "Greece"
msgstr "Grecia"
-#: ../rules/base.xml.in.h:272
-msgid "Group toggle on multiply/divide key"
-msgstr ""
-
-#: ../rules/base.xml.in.h:273
-msgid "Gui"
-msgstr "Gui"
-
-#: ../rules/base.xml.in.h:274
+#: ../rules/base.xml.in.h:289
msgid "Guinea"
msgstr "Guinea"
-#: ../rules/base.xml.in.h:275
+#: ../rules/base.xml.in.h:290
msgid "Gujarati"
msgstr "Gujarati"
-#: ../rules/base.xml.in.h:276
+#: ../rules/base.xml.in.h:291
msgid "Gurmukhi"
msgstr "Gurmukhi"
-#: ../rules/base.xml.in.h:277
-#, fuzzy
+#: ../rules/base.xml.in.h:292
msgid "Gurmukhi Jhelum"
-msgstr "Gurmukhi"
+msgstr "Gurmukhi Jhelum"
-#: ../rules/base.xml.in.h:278
+#: ../rules/base.xml.in.h:293
msgid "Gyration"
msgstr "Gyration"
-#: ../rules/base.xml.in.h:279
+#: ../rules/base.xml.in.h:294
msgid "Happy Hacking Keyboard"
msgstr "Happy Hacking Keyboard"
-#: ../rules/base.xml.in.h:280
+#: ../rules/base.xml.in.h:295
msgid "Happy Hacking Keyboard for Mac"
msgstr "Happy Hacking Keyboard para Mac"
-#: ../rules/base.xml.in.h:281
+#: ../rules/base.xml.in.h:296
msgid "Hausa"
msgstr "Hausa"
-#: ../rules/base.xml.in.h:282
+#: ../rules/base.xml.in.h:297
msgid "Hewlett-Packard Internet Keyboard"
msgstr "Hewlett-Packard Internet Keyboard"
-#: ../rules/base.xml.in.h:283
+#: ../rules/base.xml.in.h:298
msgid "Hewlett-Packard Mini 110 Notebook"
msgstr "Hewlett-Packard Mini 110 Notebook"
-#: ../rules/base.xml.in.h:284
+#: ../rules/base.xml.in.h:299
msgid "Hewlett-Packard Omnibook 500 FA"
msgstr "Hewlett-Packard Omnibook 500 FA"
-#: ../rules/base.xml.in.h:285
+#: ../rules/base.xml.in.h:300
msgid "Hewlett-Packard Omnibook 5xx"
msgstr "Hewlett-Packard Omnibook 5xx"
-#: ../rules/base.xml.in.h:286
+#: ../rules/base.xml.in.h:301
msgid "Hewlett-Packard Omnibook 6000/6100"
msgstr "Hewlett-Packard Omnibook 6000/6100"
-#: ../rules/base.xml.in.h:287
+#: ../rules/base.xml.in.h:302
msgid "Hewlett-Packard Omnibook XE3 GC"
msgstr "Hewlett-Packard Omnibook XE3 GC"
-#: ../rules/base.xml.in.h:288
+#: ../rules/base.xml.in.h:303
msgid "Hewlett-Packard Omnibook XE3 GF"
msgstr "Hewlett-Packard Omnibook XE3 GF"
-#: ../rules/base.xml.in.h:289
+#: ../rules/base.xml.in.h:304
msgid "Hewlett-Packard Omnibook XT1000"
msgstr "Hewlett-Packard Omnibook XT1000"
-#: ../rules/base.xml.in.h:290
+#: ../rules/base.xml.in.h:305
msgid "Hewlett-Packard Pavilion ZT11xx"
msgstr "Hewlett-Packard Pavilion ZT11xx"
-#: ../rules/base.xml.in.h:291
+#: ../rules/base.xml.in.h:306
msgid "Hewlett-Packard Pavilion dv5"
msgstr "Hewlett-Packard Pavilion dv5"
-#: ../rules/base.xml.in.h:292
+#: ../rules/base.xml.in.h:307
msgid "Hewlett-Packard SK-250x Multimedia Keyboard"
msgstr "Hewlett-Packard SK-250x Multimedia Keyboard"
-#: ../rules/base.xml.in.h:293
+#: ../rules/base.xml.in.h:308
msgid "Hewlett-Packard nx9020"
msgstr "Hewlett-Packard nx9020"
-#: ../rules/base.xml.in.h:294
+#: ../rules/base.xml.in.h:309
msgid "Hexadecimal"
msgstr "Hexadecimal"
-#: ../rules/base.xml.in.h:295
+#: ../rules/base.xml.in.h:310
msgid "Hindi Bolnagri"
-msgstr ""
+msgstr "Hindi Bolnagri"
-#: ../rules/base.xml.in.h:296
+#: ../rules/base.xml.in.h:311
msgid "Hindi Wx"
-msgstr ""
+msgstr "Hindi Wx"
-#: ../rules/base.xml.in.h:297
+#: ../rules/base.xml.in.h:312
msgid "Homophonic"
-msgstr ""
+msgstr "Homofónico"
-#: ../rules/base.xml.in.h:298
+#: ../rules/base.xml.in.h:313
msgid "Honeywell Euroboard"
msgstr "Honeywell Euroboard"
-#: ../rules/base.xml.in.h:299
+#: ../rules/base.xml.in.h:314
msgid "Hrv"
msgstr "Hrv"
-#: ../rules/base.xml.in.h:300
+#: ../rules/base.xml.in.h:315
msgid "Hun"
msgstr "Hun"
-#: ../rules/base.xml.in.h:301
+#: ../rules/base.xml.in.h:316
msgid "Hungary"
msgstr "Hungría"
-#: ../rules/base.xml.in.h:302
-#, fuzzy
+#: ../rules/base.xml.in.h:317
msgid "Hyper is mapped to Win-keys"
-msgstr "Hyper está mapeado a las teclas Windows."
+msgstr "Hyper está mapeada a las teclas Windows"
-#: ../rules/base.xml.in.h:303
+#: ../rules/base.xml.in.h:318
msgid "IBM (LST 1205-92)"
msgstr "IBM (LST 1205-92)"
-#: ../rules/base.xml.in.h:304
+#: ../rules/base.xml.in.h:319
msgid "IBM Rapid Access"
msgstr "IBM Rapid Access"
-#: ../rules/base.xml.in.h:305
+#: ../rules/base.xml.in.h:320
msgid "IBM Rapid Access II"
msgstr "IBM Rapid Access II"
-#: ../rules/base.xml.in.h:306
+#: ../rules/base.xml.in.h:321
msgid "IBM Space Saver"
msgstr "IBM Space Saver"
-#: ../rules/base.xml.in.h:307
+#: ../rules/base.xml.in.h:322
msgid "IBM ThinkPad 560Z/600/600E/A22E"
msgstr "IBM ThinkPad 560Z/600/600E/A22E"
-#: ../rules/base.xml.in.h:308
+#: ../rules/base.xml.in.h:323
msgid "IBM ThinkPad R60/T60/R61/T61"
msgstr "IBM ThinkPad R60/T60/R61/T61"
-#: ../rules/base.xml.in.h:309
+#: ../rules/base.xml.in.h:324
msgid "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
msgstr "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
-#: ../rules/base.xml.in.h:310
+#: ../rules/base.xml.in.h:325
msgid "ISO Alternate"
msgstr "Alternativa ISO"
-#: ../rules/base.xml.in.h:311
+#: ../rules/base.xml.in.h:326
msgid "Iceland"
msgstr "Islandia"
-#: ../rules/base.xml.in.h:312
+#: ../rules/base.xml.in.h:327
msgid "Igbo"
-msgstr ""
+msgstr "Igbo"
-#: ../rules/base.xml.in.h:313
+#: ../rules/base.xml.in.h:328
msgid "Include dead tilde"
msgstr "Incluir tilde muerta"
-#: ../rules/base.xml.in.h:314
+#: ../rules/base.xml.in.h:329
msgid "Ind"
msgstr "Ind"
-#: ../rules/base.xml.in.h:315
+#: ../rules/base.xml.in.h:330
msgid "India"
msgstr "India"
-#: ../rules/base.xml.in.h:316
+#: ../rules/base.xml.in.h:331
msgid "International (AltGr dead keys)"
msgstr "Internacional (con teclas muertas AltGr)"
-#: ../rules/base.xml.in.h:317
+#: ../rules/base.xml.in.h:332
msgid "International (with dead keys)"
msgstr "Internacional (con teclas muertas)"
-#: ../rules/base.xml.in.h:318
+#: ../rules/base.xml.in.h:333
msgid "Inuktitut"
msgstr "Inuktitut"
-#: ../rules/base.xml.in.h:319
+#: ../rules/base.xml.in.h:334
msgid "Iran"
msgstr "Irán"
-#: ../rules/base.xml.in.h:320
+#: ../rules/base.xml.in.h:335
msgid "Iraq"
msgstr "Iraq"
-#: ../rules/base.xml.in.h:321
+#: ../rules/base.xml.in.h:336
msgid "Ireland"
msgstr "Irlanda"
-#: ../rules/base.xml.in.h:322
+#: ../rules/base.xml.in.h:337
msgid "Irl"
msgstr "Irl"
-#: ../rules/base.xml.in.h:323
+#: ../rules/base.xml.in.h:338
msgid "Irn"
msgstr "Irn"
-#: ../rules/base.xml.in.h:324
+#: ../rules/base.xml.in.h:339
msgid "Irq"
msgstr "Irq"
-#: ../rules/base.xml.in.h:325
+#: ../rules/base.xml.in.h:340
msgid "Isl"
msgstr "Isl"
-#: ../rules/base.xml.in.h:326
+#: ../rules/base.xml.in.h:341
msgid "Isr"
msgstr "Isr"
-#: ../rules/base.xml.in.h:327
+#: ../rules/base.xml.in.h:342
msgid "Israel"
msgstr "Israel"
-#: ../rules/base.xml.in.h:328
+#: ../rules/base.xml.in.h:343
msgid "Ita"
msgstr "Ita"
-#: ../rules/base.xml.in.h:329
+#: ../rules/base.xml.in.h:344
msgid "Italy"
msgstr "Italia"
-#: ../rules/base.xml.in.h:330
+#: ../rules/base.xml.in.h:345
msgid "Japan"
msgstr "Japón"
-#: ../rules/base.xml.in.h:331
+#: ../rules/base.xml.in.h:346
msgid "Japan (PC-98xx Series)"
msgstr "Japón (Series PC-98xx)"
-#: ../rules/base.xml.in.h:332
+#: ../rules/base.xml.in.h:347
msgid "Japanese keyboard options"
msgstr "Opciones de teclado japonés"
-#: ../rules/base.xml.in.h:333
+#: ../rules/base.xml.in.h:348
msgid "Jpn"
msgstr "Jpn"
-#: ../rules/base.xml.in.h:334
+#: ../rules/base.xml.in.h:349
msgid "Kalmyk"
-msgstr ""
+msgstr "Calmuco"
-#: ../rules/base.xml.in.h:335
-#, fuzzy
+#: ../rules/base.xml.in.h:350
msgid "Kana"
-msgstr "Kannada"
+msgstr "Kana"
-#: ../rules/base.xml.in.h:336
+#: ../rules/base.xml.in.h:351
msgid "Kana Lock key is locking"
-msgstr ""
+msgstr "La tecla Bloq Kana está bloqueando"
-#: ../rules/base.xml.in.h:337
+#: ../rules/base.xml.in.h:352
msgid "Kannada"
msgstr "Kannada"
-#: ../rules/base.xml.in.h:338
+#: ../rules/base.xml.in.h:353
msgid "Kashubian"
-msgstr ""
+msgstr "Casubio"
-#: ../rules/base.xml.in.h:339
+#: ../rules/base.xml.in.h:354
msgid "Kaz"
msgstr "Kaz"
-#: ../rules/base.xml.in.h:340
+#: ../rules/base.xml.in.h:355
msgid "Kazakh with Russian"
msgstr "Kazajo con ruso"
-#: ../rules/base.xml.in.h:341
+#: ../rules/base.xml.in.h:356
msgid "Kazakhstan"
msgstr "Kazajstán"
-#: ../rules/base.xml.in.h:342
+#: ../rules/base.xml.in.h:357
+msgid "Ken"
+msgstr "Ken"
+
+#: ../rules/base.xml.in.h:358
+msgid "Kenya"
+msgstr "Kenia"
+
+#: ../rules/base.xml.in.h:359
msgid "Key sequence to kill the X server"
msgstr "Secuencia de teclas para matar el servidor X"
-#: ../rules/base.xml.in.h:343
-#, fuzzy
+#: ../rules/base.xml.in.h:360
msgid "Key to choose 3rd level"
-msgstr "Pulsar la tecla Menú para elegir el 3er nivel."
+msgstr "Tecla para seleccionar el 3er nivel"
-#: ../rules/base.xml.in.h:344
+#: ../rules/base.xml.in.h:361
+msgid "Key to choose 5th level"
+msgstr "Tecla para seleccionar el 5o nivel"
+
+#: ../rules/base.xml.in.h:362
msgid "Key(s) to change layout"
-msgstr ""
+msgstr "Tecla(s) para cambiar la distribución"
-#: ../rules/base.xml.in.h:345
+#: ../rules/base.xml.in.h:363
msgid "Keytronic FlexPro"
msgstr "Keytronic FlexPro"
-#: ../rules/base.xml.in.h:346
-#, fuzzy
+#: ../rules/base.xml.in.h:364
msgid "Kgz"
-msgstr "Kaz"
+msgstr "Kgz"
-#: ../rules/base.xml.in.h:347
+#: ../rules/base.xml.in.h:365
msgid "Khm"
msgstr "Khm"
-#: ../rules/base.xml.in.h:348
+#: ../rules/base.xml.in.h:366
+msgid "Kikuyu"
+msgstr "kikuyu"
+
+#: ../rules/base.xml.in.h:367
msgid "Komi"
-msgstr ""
+msgstr "Komi"
-#: ../rules/base.xml.in.h:349
+#: ../rules/base.xml.in.h:368
msgid "Kor"
msgstr "Kor"
-#: ../rules/base.xml.in.h:350
+#: ../rules/base.xml.in.h:369
msgid "Korea, Republic of"
msgstr "Corea, República de"
-#: ../rules/base.xml.in.h:351
+#: ../rules/base.xml.in.h:370
msgid "Ktunaxa"
-msgstr ""
+msgstr "Kutenai"
-#: ../rules/base.xml.in.h:352
+#: ../rules/base.xml.in.h:371
msgid "Kurdish, (F)"
msgstr "Kurdo, (F)"
-#: ../rules/base.xml.in.h:353
+#: ../rules/base.xml.in.h:372
msgid "Kurdish, Arabic-Latin"
msgstr "Kurdo, arábigolatino"
-#: ../rules/base.xml.in.h:354
+#: ../rules/base.xml.in.h:373
msgid "Kurdish, Latin Alt-Q"
msgstr "Kurdo, Latino Alt-Q"
-#: ../rules/base.xml.in.h:355
+#: ../rules/base.xml.in.h:374
msgid "Kurdish, Latin Q"
msgstr "Kurdo, Latino Q"
-#: ../rules/base.xml.in.h:356
+#: ../rules/base.xml.in.h:375
msgid "Kyrgyzstan"
msgstr "Kirgizstán"
-#: ../rules/base.xml.in.h:357
+#: ../rules/base.xml.in.h:376
msgid "LAm"
msgstr "LAm"
-#: ../rules/base.xml.in.h:358
+#: ../rules/base.xml.in.h:377
msgid "LEKP"
-msgstr ""
+msgstr "LEKP"
-#: ../rules/base.xml.in.h:359
+#: ../rules/base.xml.in.h:378
msgid "LEKPa"
-msgstr ""
+msgstr "LEKPa"
-#: ../rules/base.xml.in.h:360
+#: ../rules/base.xml.in.h:379
msgid "Lao"
msgstr "Lao"
-#: ../rules/base.xml.in.h:361
+#: ../rules/base.xml.in.h:380
msgid "Laos"
msgstr "Laos"
-#: ../rules/base.xml.in.h:362
+#: ../rules/base.xml.in.h:381
msgid "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard"
msgstr "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard"
-#: ../rules/base.xml.in.h:363
+#: ../rules/base.xml.in.h:382
msgid "Laptop/notebook Compaq (eg. Presario) Internet Keyboard"
msgstr "Laptop/notebook Compaq (eg. Presario) Internet Keyboard"
-#: ../rules/base.xml.in.h:364
+#: ../rules/base.xml.in.h:383
msgid "Laptop/notebook eMachines m68xx"
msgstr "Laptop/notebook eMachines m68xx"
-#: ../rules/base.xml.in.h:365
+#: ../rules/base.xml.in.h:384
msgid "Latin"
msgstr "Latino"
-#: ../rules/base.xml.in.h:366
+#: ../rules/base.xml.in.h:385
msgid "Latin American"
msgstr "Latino américa"
-#: ../rules/base.xml.in.h:367
+#: ../rules/base.xml.in.h:386
msgid "Latin Unicode"
msgstr "Latino Unicode"
-#: ../rules/base.xml.in.h:368
+#: ../rules/base.xml.in.h:387
msgid "Latin Unicode qwerty"
msgstr "Latino Unicode qwerty"
-#: ../rules/base.xml.in.h:369
+#: ../rules/base.xml.in.h:388
msgid "Latin qwerty"
msgstr "Latino qwerty"
-#: ../rules/base.xml.in.h:370
+#: ../rules/base.xml.in.h:389
msgid "Latin unicode"
msgstr "Latino unicode"
-#: ../rules/base.xml.in.h:371
+#: ../rules/base.xml.in.h:390
msgid "Latin unicode qwerty"
msgstr "Latino unicode qwerty"
-#: ../rules/base.xml.in.h:372
+#: ../rules/base.xml.in.h:391
msgid "Latin with guillemets"
msgstr "Latino con guillemots"
-#: ../rules/base.xml.in.h:373
+#: ../rules/base.xml.in.h:392
msgid "Latvia"
msgstr "Letonia"
-#: ../rules/base.xml.in.h:374
-#, fuzzy
-msgid "Lav"
-msgstr "Lao"
+#: ../rules/base.xml.in.h:393
+msgid "Layout toggle on multiply/divide key"
+msgstr "Cambio de distribución en la tecla multiplicar/dividir"
-#: ../rules/base.xml.in.h:375
+#: ../rules/base.xml.in.h:394
msgid "Left Alt"
-msgstr "Alt izquierdo"
+msgstr "Alt izquierda"
-#: ../rules/base.xml.in.h:376
+#: ../rules/base.xml.in.h:395
msgid "Left Alt (while pressed)"
-msgstr "Alt izquierdo (mientras está pulsado)"
+msgstr "Alt izquierda (mientras está pulsado)"
-#: ../rules/base.xml.in.h:377
-#, fuzzy
+#: ../rules/base.xml.in.h:396
msgid "Left Alt is swapped with Left Win"
-msgstr "Meta está mapeado a la tecla Windows izquierda."
+msgstr "Alt izquierda está cambiado con Windows izquierda"
-#: ../rules/base.xml.in.h:378
+#: ../rules/base.xml.in.h:397
msgid "Left Ctrl"
-msgstr "Ctrl izquierdo"
+msgstr "Ctrl izquierda"
-#: ../rules/base.xml.in.h:379
+#: ../rules/base.xml.in.h:398
msgid "Left Ctrl (to first layout), Right Ctrl (to last layout)"
-msgstr ""
+msgstr "Ctrl izquierda (a la primera distribución), Ctrl derecha (a la última distribución)"
-#: ../rules/base.xml.in.h:380
+#: ../rules/base.xml.in.h:399
msgid "Left Ctrl+Left Shift"
-msgstr "Ctrl izquierdo + Mayús izquierdo"
+msgstr "Ctrl izquierda + Mayús izquierda"
-#: ../rules/base.xml.in.h:381
+#: ../rules/base.xml.in.h:400
msgid "Left Shift"
-msgstr "Mayús izquierdo"
+msgstr "Mayús izquierda"
-#: ../rules/base.xml.in.h:382
+#: ../rules/base.xml.in.h:401
msgid "Left Win"
-msgstr "Win izquierdo"
+msgstr "Win izquierda"
-#: ../rules/base.xml.in.h:383
+#: ../rules/base.xml.in.h:402
msgid "Left Win (to first layout), Right Win/Menu (to last layout)"
-msgstr ""
+msgstr "Win izquierda (a la primera distribución), Win/Menu derecha (a la última distribución)"
-#: ../rules/base.xml.in.h:384
-#, fuzzy
+#: ../rules/base.xml.in.h:403
msgid "Left Win (while pressed)"
-msgstr "La tecla Windows izquierda cambia el grupo al pulsarla."
+msgstr "Tecla Windows izquierda (al pulsarla)"
-#: ../rules/base.xml.in.h:385
+#: ../rules/base.xml.in.h:404
+msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr "Win izquierda elige el 5º nivel, bloquea al pulsarse junto con otro selector de 5º nivel"
+
+#: ../rules/base.xml.in.h:405
+msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr "Win izquierda elige el 5º nivel, bloquea al pulsarse junto con otro selector de 5º nivel, una pulsación libera el bloqueo"
+
+#: ../rules/base.xml.in.h:406
msgid "Left hand"
msgstr "Zurdo"
-#: ../rules/base.xml.in.h:386
+#: ../rules/base.xml.in.h:407
msgid "Left handed Dvorak"
msgstr "Dvorak para zurdos"
-#: ../rules/base.xml.in.h:387
+#: ../rules/base.xml.in.h:408
msgid "Legacy"
msgstr "Heredado"
-#: ../rules/base.xml.in.h:388
+#: ../rules/base.xml.in.h:409
msgid "Legacy Wang 724"
-msgstr ""
+msgstr "Wang 724 heredado"
#. Actually, with KP_SEPARATOR, as the old keypad(comma)
-#: ../rules/base.xml.in.h:390
+#: ../rules/base.xml.in.h:411
msgid "Legacy key with comma"
-msgstr ""
+msgstr "Tecla heredada con coma"
-#: ../rules/base.xml.in.h:391
+#: ../rules/base.xml.in.h:412
msgid "Legacy key with dot"
-msgstr ""
+msgstr "Tecla heredada con punto"
-#: ../rules/base.xml.in.h:392
-msgid "Less-than/Greater-than"
-msgstr ""
-
-#: ../rules/base.xml.in.h:393
+#: ../rules/base.xml.in.h:413
msgid "Lithuania"
msgstr "Lituania"
-#: ../rules/base.xml.in.h:394
+#: ../rules/base.xml.in.h:414
+msgid "Lka"
+msgstr "Lka"
+
+#: ../rules/base.xml.in.h:415
msgid "Logitech Access Keyboard"
msgstr "Logitech Access Keyboard"
-#: ../rules/base.xml.in.h:395
+#: ../rules/base.xml.in.h:416
msgid "Logitech Cordless Desktop"
msgstr "Logitech Cordless Desktop"
-#: ../rules/base.xml.in.h:396
+#: ../rules/base.xml.in.h:417
msgid "Logitech Cordless Desktop (alternate option)"
msgstr "Logitech Cordless Desktop Pro (opción alternativa)"
-#: ../rules/base.xml.in.h:397
+#: ../rules/base.xml.in.h:418
msgid "Logitech Cordless Desktop EX110"
msgstr "Logitech Cordless Desktop EX110"
-#: ../rules/base.xml.in.h:398
+#: ../rules/base.xml.in.h:419
msgid "Logitech Cordless Desktop LX-300"
msgstr "Logitech Cordless Desktop LX-300"
-#: ../rules/base.xml.in.h:399
+#: ../rules/base.xml.in.h:420
msgid "Logitech Cordless Desktop Navigator"
msgstr "Logitech Cordless Desktop Navigator"
-#: ../rules/base.xml.in.h:400
+#: ../rules/base.xml.in.h:421
msgid "Logitech Cordless Desktop Optical"
msgstr "Logitech Cordless Desktop Optical"
-#: ../rules/base.xml.in.h:401
+#: ../rules/base.xml.in.h:422
msgid "Logitech Cordless Desktop Pro (alternate option 2)"
msgstr "Logitech Cordless Desktop Pro (opción alternativa 2)"
-#: ../rules/base.xml.in.h:402
+#: ../rules/base.xml.in.h:423
msgid "Logitech Cordless Desktop iTouch"
msgstr "Logitech Cordless Desktop iTouch"
-#: ../rules/base.xml.in.h:403
+#: ../rules/base.xml.in.h:424
msgid "Logitech Cordless Freedom/Desktop Navigator"
msgstr "Logitech Cordless Freedom/Desktop Navigator"
-#: ../rules/base.xml.in.h:404
+#: ../rules/base.xml.in.h:425
msgid "Logitech G15 extra keys via G15daemon"
msgstr "Logitech G15 extra keys via G15daemon"
-#: ../rules/base.xml.in.h:405
+#: ../rules/base.xml.in.h:426
msgid "Logitech Generic Keyboard"
msgstr "Logitech, teclado genérico"
-#: ../rules/base.xml.in.h:406
+#: ../rules/base.xml.in.h:427
msgid "Logitech Internet 350 Keyboard"
msgstr "Logitech Internet 350 Keyboard"
-#: ../rules/base.xml.in.h:407
+#: ../rules/base.xml.in.h:428
msgid "Logitech Internet Keyboard"
msgstr "Logitech Internet Keyboard"
-#: ../rules/base.xml.in.h:408
+#: ../rules/base.xml.in.h:429
msgid "Logitech Internet Navigator Keyboard"
msgstr "Logitech Internet Navigator Keyboard"
-#: ../rules/base.xml.in.h:409
+#: ../rules/base.xml.in.h:430
msgid "Logitech Media Elite Keyboard"
msgstr "Logitech Media Elite Keyboard"
-#: ../rules/base.xml.in.h:410
+#: ../rules/base.xml.in.h:431
msgid "Logitech Ultra-X Cordless Media Desktop Keyboard"
msgstr "Logitech Ultra-X Cordless Media Desktop Keyboard"
-#: ../rules/base.xml.in.h:411
+#: ../rules/base.xml.in.h:432
msgid "Logitech Ultra-X Keyboard"
msgstr "Logitech Ultra-X Keyboard"
-#: ../rules/base.xml.in.h:412
+#: ../rules/base.xml.in.h:433
msgid "Logitech diNovo Edge Keyboard"
msgstr "Logitech diNovo Edge Keyboard"
-#: ../rules/base.xml.in.h:413
+#: ../rules/base.xml.in.h:434
msgid "Logitech diNovo Keyboard"
msgstr "Logitech diNovo Keyboard"
-#: ../rules/base.xml.in.h:414
+#: ../rules/base.xml.in.h:435
msgid "Logitech iTouch"
msgstr "Logitech iTouch"
-#: ../rules/base.xml.in.h:415
+#: ../rules/base.xml.in.h:436
msgid "Logitech iTouch Cordless Keyboard (model Y-RB6)"
msgstr "Logitech iTouch Cordless Keyboard (modelo Y-RB6)"
-#: ../rules/base.xml.in.h:416
+#: ../rules/base.xml.in.h:437
msgid "Logitech iTouch Internet Navigator Keyboard SE"
msgstr "Logitech iTouch Internet Navigator Keyboard SE"
-#: ../rules/base.xml.in.h:417
+#: ../rules/base.xml.in.h:438
msgid "Logitech iTouch Internet Navigator Keyboard SE (USB)"
msgstr "Logitech iTouch Internet Navigator Keyboard SE (USB)"
-#: ../rules/base.xml.in.h:418
+#: ../rules/base.xml.in.h:439
msgid "Lower Sorbian"
-msgstr ""
+msgstr "Bajo sorbio"
-#: ../rules/base.xml.in.h:419
+#: ../rules/base.xml.in.h:440
msgid "Lower Sorbian (qwertz)"
-msgstr ""
+msgstr "Bajo sorbio (qwertz)"
-#: ../rules/base.xml.in.h:420
+#: ../rules/base.xml.in.h:441
msgid "Ltu"
msgstr "Ltu"
-#: ../rules/base.xml.in.h:421
+#: ../rules/base.xml.in.h:442
+msgid "Lva"
+msgstr "Lva"
+
+#: ../rules/base.xml.in.h:443
msgid "MESS"
msgstr "MESS"
-#: ../rules/base.xml.in.h:422
+#: ../rules/base.xml.in.h:444
msgid "MNE"
msgstr "MNE"
-#: ../rules/base.xml.in.h:423
+#: ../rules/base.xml.in.h:445
msgid "MacBook/MacBook Pro"
msgstr "MacBook/MacBook Pro"
-#: ../rules/base.xml.in.h:424
+#: ../rules/base.xml.in.h:446
msgid "MacBook/MacBook Pro (Intl)"
msgstr "MacBook/MacBook Pro (Intl)"
-#: ../rules/base.xml.in.h:425
+#: ../rules/base.xml.in.h:447
msgid "Macedonia"
msgstr "Macedonia"
-#: ../rules/base.xml.in.h:426
+#: ../rules/base.xml.in.h:448
msgid "Macintosh"
msgstr "Macintosh"
-#: ../rules/base.xml.in.h:427
+#: ../rules/base.xml.in.h:449
msgid "Macintosh Old"
msgstr "Macintosh antiguo"
-#: ../rules/base.xml.in.h:428
+#: ../rules/base.xml.in.h:450
msgid "Macintosh, Sun dead keys"
msgstr "Macintosh, teclas muertas Sun"
-#: ../rules/base.xml.in.h:429
+#: ../rules/base.xml.in.h:451
msgid "Macintosh, eliminate dead keys"
msgstr "Macintosh, eliminar teclas muertas"
-#: ../rules/base.xml.in.h:430
-#, fuzzy
+#: ../rules/base.xml.in.h:452
msgid "Make CapsLock an additional Backspace"
-msgstr "Hacer de BloqMayús un Ctrl adicional."
+msgstr "Hacer de Bloq Mayús un Retroceso adicional"
-#: ../rules/base.xml.in.h:431
-#, fuzzy
+#: ../rules/base.xml.in.h:453
msgid "Make CapsLock an additional Ctrl"
-msgstr "Hacer de BloqMayús un Ctrl adicional."
+msgstr "Hacer de Bloq Mayús un Ctrl adicional"
-#: ../rules/base.xml.in.h:432
-#, fuzzy
+#: ../rules/base.xml.in.h:454
msgid "Make CapsLock an additional ESC"
-msgstr "Hacer de BloqMayús un Ctrl adicional."
+msgstr "Hacer de Bloq Mayús un Esc adicional"
-#: ../rules/base.xml.in.h:433
-#, fuzzy
+#: ../rules/base.xml.in.h:455
msgid "Make CapsLock an additional Hyper"
-msgstr "Hacer de BloqMayús un Ctrl adicional."
+msgstr "Hacer de Bloq Mayús un Hyper adicional"
-#: ../rules/base.xml.in.h:434
-#, fuzzy
+#: ../rules/base.xml.in.h:456
msgid "Make CapsLock an additional NumLock"
-msgstr "Hacer de BloqMayús un Ctrl adicional."
+msgstr "Hacer de Bloq Mayús un Bloq Num adicional"
-#: ../rules/base.xml.in.h:435
-#, fuzzy
+#: ../rules/base.xml.in.h:457
msgid "Make CapsLock an additional Super"
-msgstr "Hacer de BloqMayús un Ctrl adicional."
+msgstr "Hacer de Bloq Mayús un Super adicional"
-#: ../rules/base.xml.in.h:436
-msgid "Mal"
-msgstr "Mal"
-
-#: ../rules/base.xml.in.h:437
+#: ../rules/base.xml.in.h:458
msgid "Malayalam"
msgstr "Malayalam"
-#: ../rules/base.xml.in.h:438
-#, fuzzy
+#: ../rules/base.xml.in.h:459
msgid "Malayalam Lalitha"
-msgstr "Malayalam"
+msgstr "Malayalam Lalitha"
-#: ../rules/base.xml.in.h:439
+#: ../rules/base.xml.in.h:460
msgid "Maldives"
msgstr "Maldivas"
-#: ../rules/base.xml.in.h:440
+#: ../rules/base.xml.in.h:461
+msgid "Mali"
+msgstr "Malí"
+
+#: ../rules/base.xml.in.h:462
msgid "Malta"
msgstr "Malta"
-#: ../rules/base.xml.in.h:441
+#: ../rules/base.xml.in.h:463
msgid "Maltese keyboard with US layout"
msgstr "Teclado maltés con distribución EE. UU."
-#: ../rules/base.xml.in.h:442
+#: ../rules/base.xml.in.h:464
msgid "Mao"
msgstr "Mao"
-#: ../rules/base.xml.in.h:443
+#: ../rules/base.xml.in.h:465
msgid "Maori"
msgstr "Maorí"
-#: ../rules/base.xml.in.h:444
+#: ../rules/base.xml.in.h:466
+msgid "Mdv"
+msgstr "Mdv"
+
+#: ../rules/base.xml.in.h:467
msgid "Memorex MX1998"
msgstr "Memorex MX1998"
-#: ../rules/base.xml.in.h:445
+#: ../rules/base.xml.in.h:468
msgid "Memorex MX2500 EZ-Access Keyboard"
msgstr "Memorex MX2500 EZ-Access Keyboard"
-#: ../rules/base.xml.in.h:446
+#: ../rules/base.xml.in.h:469
msgid "Memorex MX2750"
msgstr "Memorex MX2750"
-#: ../rules/base.xml.in.h:447
+#: ../rules/base.xml.in.h:470
msgid "Menu"
msgstr "Menu"
-#: ../rules/base.xml.in.h:448
+#: ../rules/base.xml.in.h:471
msgid "Meta is mapped to Left Win"
-msgstr "Meta está mapeado a la tecla Windows izquierda"
+msgstr "Meta está mapeada a la tecla Windows izquierda"
-#: ../rules/base.xml.in.h:449
+#: ../rules/base.xml.in.h:472
msgid "Meta is mapped to Win keys"
-msgstr "Meta está mapeado a las teclas Windows"
+msgstr "Meta está mapeada a las teclas Windows"
-#: ../rules/base.xml.in.h:450
+#: ../rules/base.xml.in.h:473
msgid "Microsoft Comfort Curve Keyboard 2000"
msgstr "Microsoft Comfort Curve Keyboard 2000"
-#: ../rules/base.xml.in.h:451
+#: ../rules/base.xml.in.h:474
msgid "Microsoft Internet Keyboard"
msgstr "Microsoft Internet Keyboard"
-#: ../rules/base.xml.in.h:452
+#: ../rules/base.xml.in.h:475
msgid "Microsoft Internet Keyboard Pro, Swedish"
msgstr "Microsoft Internet Keyboard Pro, sueco"
-#: ../rules/base.xml.in.h:453
+#: ../rules/base.xml.in.h:476
msgid "Microsoft Natural"
msgstr "Microsoft Natural"
-#: ../rules/base.xml.in.h:454
+#: ../rules/base.xml.in.h:477
msgid "Microsoft Natural Keyboard Elite"
msgstr "Microsoft Natural Keyboard Elite"
-#: ../rules/base.xml.in.h:455
+#: ../rules/base.xml.in.h:478
msgid "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
msgstr "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
-#: ../rules/base.xml.in.h:456
+#: ../rules/base.xml.in.h:479
msgid "Microsoft Natural Keyboard Pro OEM"
msgstr "Microsoft Natural Keyboard Pro OEM"
-#: ../rules/base.xml.in.h:457
+#: ../rules/base.xml.in.h:480
msgid "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
msgstr "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
-#: ../rules/base.xml.in.h:458
+#: ../rules/base.xml.in.h:481
msgid "Microsoft Natural Wireless Ergonomic Keyboard 7000"
msgstr "Microsoft Natural Wireless Ergonomic Keyboard 7000"
-#: ../rules/base.xml.in.h:459
+#: ../rules/base.xml.in.h:482
msgid "Microsoft Office Keyboard"
msgstr "Microsoft Office Keyboard"
-#: ../rules/base.xml.in.h:460
+#: ../rules/base.xml.in.h:483
msgid "Microsoft Wireless Multimedia Keyboard 1.0A"
msgstr "Microsoft Wireless Multimedia Keyboard 1.0A"
-#: ../rules/base.xml.in.h:461
+#: ../rules/base.xml.in.h:484
msgid "Miscellaneous compatibility options"
msgstr "Opciones misceláneas de compatiblidad"
-#: ../rules/base.xml.in.h:462
+#: ../rules/base.xml.in.h:485
msgid "Mkd"
msgstr "Mkd"
-#: ../rules/base.xml.in.h:463
+#: ../rules/base.xml.in.h:486
+msgid "Mli"
+msgstr "Mli"
+
+#: ../rules/base.xml.in.h:487
msgid "Mlt"
msgstr "Mlt"
-#: ../rules/base.xml.in.h:464
+#: ../rules/base.xml.in.h:488
msgid "Mmr"
msgstr "Mmr"
-#: ../rules/base.xml.in.h:465
+#: ../rules/base.xml.in.h:489
msgid "Mng"
msgstr "Mng"
-#: ../rules/base.xml.in.h:466
+#: ../rules/base.xml.in.h:490
msgid "Mongolia"
msgstr "Mongolia"
-#: ../rules/base.xml.in.h:467
+#: ../rules/base.xml.in.h:491
msgid "Montenegro"
msgstr "Montenegro"
-#: ../rules/base.xml.in.h:468
+#: ../rules/base.xml.in.h:492
msgid "Morocco"
msgstr "Marruecos"
-#: ../rules/base.xml.in.h:469
+#: ../rules/base.xml.in.h:493
msgid "Multilingual"
msgstr "Multilingüe"
-#: ../rules/base.xml.in.h:470
+#: ../rules/base.xml.in.h:494
msgid "Multilingual, first part"
msgstr "Multilingüe, primera parte"
-#: ../rules/base.xml.in.h:471
+#: ../rules/base.xml.in.h:495
msgid "Multilingual, second part"
msgstr "Multilingüe, segunda parte"
-#: ../rules/base.xml.in.h:472
+#: ../rules/base.xml.in.h:496
msgid "Myanmar"
msgstr "Myanmar"
-#: ../rules/base.xml.in.h:473
+#: ../rules/base.xml.in.h:497
msgid "NICOLA-F style Backspace"
-msgstr ""
+msgstr "Retroceso estilo NICOLA-F"
-#: ../rules/base.xml.in.h:474
+#: ../rules/base.xml.in.h:498
msgid "NLA"
msgstr "NLA"
-#: ../rules/base.xml.in.h:475
+#: ../rules/base.xml.in.h:499
msgid "Nativo"
msgstr "Nativo"
-#: ../rules/base.xml.in.h:476
+#: ../rules/base.xml.in.h:500
msgid "Nativo for Esperanto"
msgstr "Nativo para esperanto"
-#: ../rules/base.xml.in.h:477
+#: ../rules/base.xml.in.h:501
msgid "Nativo for USA keyboards"
msgstr "Nativo para teclados de EE. UU."
-#: ../rules/base.xml.in.h:478
+#: ../rules/base.xml.in.h:502
msgid "Neo 2"
msgstr "Neo 2"
-#: ../rules/base.xml.in.h:479
-msgid "Nep"
-msgstr "Nep"
-
-#: ../rules/base.xml.in.h:480
+#: ../rules/base.xml.in.h:503
msgid "Nepal"
msgstr "Nepal"
-#: ../rules/base.xml.in.h:481
+#: ../rules/base.xml.in.h:504
msgid "Netherlands"
msgstr "Holanda"
-#: ../rules/base.xml.in.h:482
+#: ../rules/base.xml.in.h:505
msgid "New phonetic"
msgstr "Fonético nuevo"
-#: ../rules/base.xml.in.h:483
-msgid "Nig"
-msgstr "Nig"
+#: ../rules/base.xml.in.h:506
+msgid "Nga"
+msgstr "Nga"
-#: ../rules/base.xml.in.h:484
+#: ../rules/base.xml.in.h:507
msgid "Nigeria"
msgstr "Nigeria"
-#: ../rules/base.xml.in.h:485
+#: ../rules/base.xml.in.h:508
msgid "Nld"
msgstr "Hol"
-#: ../rules/base.xml.in.h:486
+#: ../rules/base.xml.in.h:509
msgid "Non-breakable space character at fourth level"
-msgstr ""
+msgstr "Carácter de espacio no separable en el cuarto nivel"
-#: ../rules/base.xml.in.h:487
+#: ../rules/base.xml.in.h:510
msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level"
-msgstr ""
+msgstr "Carácter de espacio no separable en el cuarto nivel, carácter de espacio estrecho no separable en el sexto nivel"
-#: ../rules/base.xml.in.h:488
+#: ../rules/base.xml.in.h:511
msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)"
-msgstr ""
+msgstr "Carácter de espacio no separable en el cuarto nivel, carácter de espacio estrecho no separable en el sexto nivel (a través de Ctrl+Mayús)"
-#: ../rules/base.xml.in.h:489
+#: ../rules/base.xml.in.h:512
msgid "Non-breakable space character at second level"
-msgstr ""
+msgstr "Carácter de espacio no separable en el segundo nivel"
-#: ../rules/base.xml.in.h:490
+#: ../rules/base.xml.in.h:513
msgid "Non-breakable space character at third level"
-msgstr ""
+msgstr "Carácter de espacio no separable en el tercer nivel"
-#: ../rules/base.xml.in.h:491
+#: ../rules/base.xml.in.h:514
msgid "Non-breakable space character at third level, nothing at fourth level"
-msgstr ""
+msgstr "Carácter de espacio no separable en el tercer nivel, nada en el cuarto nivel"
-#: ../rules/base.xml.in.h:492
+#: ../rules/base.xml.in.h:515
msgid "Non-breakable space character at third level, thin non-breakable space character at fourth level"
-msgstr ""
+msgstr "Carácter de espacio no separable en el tercer nivel, carácter de espacio estrecho no separable en el cuarto nivel"
-#: ../rules/base.xml.in.h:493
+#: ../rules/base.xml.in.h:516
msgid "Nor"
msgstr "Nor"
-#: ../rules/base.xml.in.h:494
+#: ../rules/base.xml.in.h:517
msgid "Northern Saami"
msgstr "Saami del norte"
-#: ../rules/base.xml.in.h:495
+#: ../rules/base.xml.in.h:518
msgid "Northern Saami, eliminate dead keys"
msgstr "Saami del norte, eliminar teclas muertas"
-#: ../rules/base.xml.in.h:496
+#: ../rules/base.xml.in.h:519
msgid "Northgate OmniKey 101"
msgstr "Northgate OmniKey 101"
-#: ../rules/base.xml.in.h:497
+#: ../rules/base.xml.in.h:520
msgid "Norway"
msgstr "Noruega"
-#: ../rules/base.xml.in.h:498
+#: ../rules/base.xml.in.h:521
+msgid "Npl"
+msgstr "Npl"
+
+#: ../rules/base.xml.in.h:522
msgid "NumLock"
msgstr "Bloq Num"
-#: ../rules/base.xml.in.h:499
+#: ../rules/base.xml.in.h:523
msgid "Numeric keypad delete key behaviour"
-msgstr ""
+msgstr "Comportamiento de la tecla Supr del teclado numérico"
-#: ../rules/base.xml.in.h:500
+#: ../rules/base.xml.in.h:524
msgid "Numeric keypad keys work as with Mac"
-msgstr ""
+msgstr "Las teclas del teclado numérico funcionan como en un Mac"
-#: ../rules/base.xml.in.h:501
+#: ../rules/base.xml.in.h:525
msgid "Numeric keypad layout selection"
-msgstr ""
+msgstr "Selección de distribución de teclado numérico"
-#: ../rules/base.xml.in.h:502
+#: ../rules/base.xml.in.h:526
msgid "OADG 109A"
-msgstr ""
+msgstr "OADG 109A"
-#: ../rules/base.xml.in.h:503
+#: ../rules/base.xml.in.h:527
msgid "OLPC"
msgstr "OLPC"
-#: ../rules/base.xml.in.h:504
+#: ../rules/base.xml.in.h:528
msgid "OLPC Dari"
-msgstr ""
+msgstr "OLPC dari"
-#: ../rules/base.xml.in.h:505
-#, fuzzy
+#: ../rules/base.xml.in.h:529
msgid "OLPC Pashto"
-msgstr "Pashto"
+msgstr "OLPC pashto"
-#: ../rules/base.xml.in.h:506
-#, fuzzy
+#: ../rules/base.xml.in.h:530
msgid "OLPC Southern Uzbek"
-msgstr "Uzbequia del sur"
+msgstr "OLPC uzbeco del sur"
-#: ../rules/base.xml.in.h:507
+#: ../rules/base.xml.in.h:531
msgid "Occitan"
msgstr "Occitano"
-#: ../rules/base.xml.in.h:508
+#: ../rules/base.xml.in.h:532
msgid "Ogham"
msgstr "Ogham"
-#: ../rules/base.xml.in.h:509
+#: ../rules/base.xml.in.h:533
msgid "Ogham IS434"
msgstr "Ogham IS434"
-#: ../rules/base.xml.in.h:510
+#: ../rules/base.xml.in.h:534
msgid "Oriya"
msgstr "Oriya"
-#: ../rules/base.xml.in.h:511
-#, fuzzy
+#: ../rules/base.xml.in.h:535
msgid "Ortek MCK-800 MM/Internet keyboard"
-msgstr "Oretec MCK-800 MM/Internet keyboard"
+msgstr "Teclado Oretec MCK-800 MM/Internet"
-#: ../rules/base.xml.in.h:512
-#, fuzzy
+#: ../rules/base.xml.in.h:536
msgid "Ossetian"
-msgstr "Ruso"
+msgstr "Osetio"
-#: ../rules/base.xml.in.h:513
+#: ../rules/base.xml.in.h:537
msgid "Ossetian, Winkeys"
-msgstr ""
+msgstr "Osetio, teclas Windows"
-#: ../rules/base.xml.in.h:514
+#: ../rules/base.xml.in.h:538
msgid "Ossetian, legacy"
-msgstr ""
+msgstr "Osetio, heredado"
-#: ../rules/base.xml.in.h:515
+#: ../rules/base.xml.in.h:539
msgid "PC-98xx Series"
msgstr "PC-98xx Series"
-#: ../rules/base.xml.in.h:516
+#: ../rules/base.xml.in.h:540
msgid "Pak"
msgstr "Pak"
-#: ../rules/base.xml.in.h:517
+#: ../rules/base.xml.in.h:541
msgid "Pakistan"
msgstr "Pakistán"
-#: ../rules/base.xml.in.h:518
+#: ../rules/base.xml.in.h:542
+msgid "Pannonian Rusyn Homophonic"
+msgstr "Rusino de Panonia homofónico"
+
+#: ../rules/base.xml.in.h:543
msgid "Pashto"
msgstr "Pashto"
-#: ../rules/base.xml.in.h:519
+#: ../rules/base.xml.in.h:544
msgid "Pattachote"
msgstr "Pattachote"
-#: ../rules/base.xml.in.h:520
+#: ../rules/base.xml.in.h:545
+msgid "Pause"
+msgstr "Pausa"
+
+#: ../rules/base.xml.in.h:546
msgid "Persian, with Persian Keypad"
msgstr "Persa con teclado numérico persa"
-#: ../rules/base.xml.in.h:521
+#: ../rules/base.xml.in.h:547
msgid "Phonetic"
msgstr "Fonético"
-#: ../rules/base.xml.in.h:522
+#: ../rules/base.xml.in.h:548
msgid "Phonetic Winkeys"
msgstr "Teclas Windows fonéticas"
-#: ../rules/base.xml.in.h:523
+#: ../rules/base.xml.in.h:549
msgid "Pol"
msgstr "Pol"
-#: ../rules/base.xml.in.h:524
+#: ../rules/base.xml.in.h:550
msgid "Poland"
msgstr "Polonia"
-#: ../rules/base.xml.in.h:525
+#: ../rules/base.xml.in.h:551
msgid "Polytonic"
msgstr "Politónico"
-#: ../rules/base.xml.in.h:526
+#: ../rules/base.xml.in.h:552
msgid "Portugal"
msgstr "Portugal"
-#: ../rules/base.xml.in.h:527
+#: ../rules/base.xml.in.h:553
msgid "Probhat"
msgstr "Probhat"
-#: ../rules/base.xml.in.h:528
+#: ../rules/base.xml.in.h:554
msgid "Programmer Dvorak"
msgstr "Dvorak de programador"
-#: ../rules/base.xml.in.h:529
+#: ../rules/base.xml.in.h:555
msgid "Propeller Voyager (KTEZ-1000)"
msgstr "Propeller Voyager (KTEZ-1000)"
-#: ../rules/base.xml.in.h:530
+#: ../rules/base.xml.in.h:556
msgid "Prt"
msgstr "Prt"
-#: ../rules/base.xml.in.h:531
+#: ../rules/base.xml.in.h:557
+msgid "PrtSc"
+msgstr "PrtSc"
+
+#: ../rules/base.xml.in.h:558
msgid "QTronix Scorpius 98N+"
msgstr "QTronix Scorpius 98N+"
-#: ../rules/base.xml.in.h:532
+#: ../rules/base.xml.in.h:559
msgid "Right Alt"
msgstr "Alt derecho"
-#: ../rules/base.xml.in.h:533
+#: ../rules/base.xml.in.h:560
msgid "Right Alt (while pressed)"
msgstr "Alt derecho (mientras está pulsado)"
-#: ../rules/base.xml.in.h:534
-#, fuzzy
+#: ../rules/base.xml.in.h:561
+msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr "Alt derecha elige el 5º nivel, bloquea al pulsarse junto con otro selector de 5º nivel"
+
+#: ../rules/base.xml.in.h:562
+msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr "Alt derecha elige el 5º nivel, bloquea al pulsarse junto con otro selector de 5º nivel, una pulsación libera el bloqueo"
+
+#: ../rules/base.xml.in.h:563
msgid "Right Alt key never chooses 3rd level"
-msgstr "Pulsar la tecla Alt derecha para elegir el 3er nivel."
+msgstr "La tecla Alt derecha nunca elige el 3er nivel"
-#: ../rules/base.xml.in.h:535
+#: ../rules/base.xml.in.h:564
msgid "Right Alt, Shift+Right Alt key is Multi_Key"
-msgstr ""
+msgstr "La tecla Alt derecha, Mayús+Alt derecha es tecla Multi"
-#: ../rules/base.xml.in.h:536
+#: ../rules/base.xml.in.h:565
msgid "Right Ctrl"
msgstr "Ctrl derecho"
-#: ../rules/base.xml.in.h:537
+#: ../rules/base.xml.in.h:566
msgid "Right Ctrl (while pressed)"
msgstr "Ctrl derecho (mientras está pulsado)"
-#: ../rules/base.xml.in.h:538
+#: ../rules/base.xml.in.h:567
msgid "Right Ctrl as Right Alt"
msgstr "Ctrl derecho como Alt derecho"
-#: ../rules/base.xml.in.h:539
+#: ../rules/base.xml.in.h:568
msgid "Right Ctrl+Right Shift"
msgstr "Ctrl derecho + Mayús derecho"
-#: ../rules/base.xml.in.h:540
+#: ../rules/base.xml.in.h:569
msgid "Right Shift"
msgstr "Mayús derecho"
-#: ../rules/base.xml.in.h:541
+#: ../rules/base.xml.in.h:570
msgid "Right Win"
msgstr "Windows derecho"
-#: ../rules/base.xml.in.h:542
+#: ../rules/base.xml.in.h:571
msgid "Right Win (while pressed)"
msgstr "La tecla Windows (mientras está pulsada)"
-#: ../rules/base.xml.in.h:543
+#: ../rules/base.xml.in.h:572
+msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr "Win derecha elige el 5º nivel, bloquea al pulsarse junto con otro selector de 5º nivel"
+
+#: ../rules/base.xml.in.h:573
+msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr "Win derecha elige el 5º nivel, bloquea al pulsarse junto con otro selector de 5º nivel, una pulsación libera el bloqueo"
+
+#: ../rules/base.xml.in.h:574
msgid "Right hand"
msgstr "Diestro"
-#: ../rules/base.xml.in.h:544
+#: ../rules/base.xml.in.h:575
msgid "Right handed Dvorak"
msgstr "Dvorak diestro"
-#: ../rules/base.xml.in.h:545
+#: ../rules/base.xml.in.h:576
msgid "Romania"
msgstr "Rumanía"
-#: ../rules/base.xml.in.h:546
+#: ../rules/base.xml.in.h:577
msgid "Romanian keyboard with German letters"
msgstr "Teclado rumano con letras alemanas"
-#: ../rules/base.xml.in.h:547
+#: ../rules/base.xml.in.h:578
msgid "Romanian keyboard with German letters, eliminate dead keys"
msgstr "Teclado rumano con teclas alemanas, eliminar teclas muertas"
-#: ../rules/base.xml.in.h:548
+#: ../rules/base.xml.in.h:579
msgid "Rou"
msgstr "Rou"
-#: ../rules/base.xml.in.h:549
+#: ../rules/base.xml.in.h:580
msgid "Rus"
msgstr "Rus"
-#: ../rules/base.xml.in.h:550
+#: ../rules/base.xml.in.h:581
msgid "Russia"
msgstr "Rusia"
-#: ../rules/base.xml.in.h:551
+#: ../rules/base.xml.in.h:582
msgid "Russian"
msgstr "Ruso"
-#: ../rules/base.xml.in.h:552
+#: ../rules/base.xml.in.h:583
msgid "Russian phonetic"
msgstr "Ruso fonético"
-#: ../rules/base.xml.in.h:553
+#: ../rules/base.xml.in.h:584
msgid "Russian phonetic Dvorak"
msgstr "Dvorak ruso fonético "
-#: ../rules/base.xml.in.h:554
+#: ../rules/base.xml.in.h:585
msgid "Russian phonetic, eliminate dead keys"
msgstr "Ruso fonético, eliminar teclas muertas"
-#: ../rules/base.xml.in.h:555
+#: ../rules/base.xml.in.h:586
msgid "Russian with Kazakh"
msgstr "Ruso con kazajo"
-#: ../rules/base.xml.in.h:556
+#: ../rules/base.xml.in.h:587
msgid "SILVERCREST Multimedia Wireless Keyboard"
msgstr "SILVERCREST Multimedia Wireless Keyboard"
-#: ../rules/base.xml.in.h:557
+#: ../rules/base.xml.in.h:588
msgid "SK-1300"
msgstr "SK-1300"
-#: ../rules/base.xml.in.h:558
+#: ../rules/base.xml.in.h:589
msgid "SK-2500"
msgstr "SK-2500"
-#: ../rules/base.xml.in.h:559
+#: ../rules/base.xml.in.h:590
msgid "SK-6200"
msgstr "SK-6200"
-#: ../rules/base.xml.in.h:560
+#: ../rules/base.xml.in.h:591
msgid "SK-7100"
msgstr "SK-7100"
-#: ../rules/base.xml.in.h:561 ../rules/base.extras.xml.in.h:7
+#: ../rules/base.xml.in.h:592 ../rules/base.extras.xml.in.h:7
msgid "SRB"
msgstr "SRB"
-#: ../rules/base.xml.in.h:562
+#: ../rules/base.xml.in.h:593
msgid "SVEN Ergonomic 2500"
msgstr "SVEN Ergonomic 2500"
-#: ../rules/base.xml.in.h:563
+#: ../rules/base.xml.in.h:594
msgid "SVEN Slim 303"
msgstr "SVEN Slim 303"
-#: ../rules/base.xml.in.h:564
+#: ../rules/base.xml.in.h:595
msgid "Samsung SDM 4500P"
msgstr "Samsung SDM 4500P"
-#: ../rules/base.xml.in.h:565
+#: ../rules/base.xml.in.h:596
msgid "Samsung SDM 4510P"
msgstr "Samsung SDM 4510P"
-#: ../rules/base.xml.in.h:566
-msgid "Scroll Lock"
-msgstr ""
-
-#: ../rules/base.xml.in.h:567
+#: ../rules/base.xml.in.h:597
msgid "ScrollLock"
-msgstr ""
+msgstr "Bloq Despl"
-#: ../rules/base.xml.in.h:568
+#: ../rules/base.xml.in.h:598
msgid "Secwepemctsin"
-msgstr ""
+msgstr "Shuswap"
-#: ../rules/base.xml.in.h:569
+#: ../rules/base.xml.in.h:599
msgid "Semi-colon on third level"
msgstr "Punto y coma en tercer nivel"
-#: ../rules/base.xml.in.h:570 ../rules/base.extras.xml.in.h:8
+#: ../rules/base.xml.in.h:600
+msgid "Sen"
+msgstr "Sen"
+
+#: ../rules/base.xml.in.h:601
+msgid "Senegal"
+msgstr "Senegal"
+
+#: ../rules/base.xml.in.h:602 ../rules/base.extras.xml.in.h:8
msgid "Serbia"
msgstr "Serbia"
-#: ../rules/base.xml.in.h:571
+#: ../rules/base.xml.in.h:603
+msgid "Serbian"
+msgstr "Serbio"
+
+#: ../rules/base.xml.in.h:604
msgid "Shift cancels CapsLock"
msgstr "Mayús cancela BloqMayús"
-#: ../rules/base.xml.in.h:572
-msgid "Shift does not cancel NumLock, chooses 3d level instead"
-msgstr ""
+#: ../rules/base.xml.in.h:605
+msgid "Shift does not cancel NumLock, chooses 3rd level instead"
+msgstr "Mayús no cancela Bloq Num, en su lugar elije el 3er nivel"
-#: ../rules/base.xml.in.h:573
-#, fuzzy
+#: ../rules/base.xml.in.h:606
msgid "Shift with numeric keypad keys works as in MS Windows"
-msgstr "Mayús con las teclas del teclado numérico funcionan como en MS Windows."
+msgstr "Mayús con las teclas del teclado numérico funcionan como en MS Windows"
-#: ../rules/base.xml.in.h:574
+#: ../rules/base.xml.in.h:607
msgid "Shift+CapsLock"
msgstr "Mayús+BloqMayús"
-#: ../rules/base.xml.in.h:575
+#: ../rules/base.xml.in.h:608
msgid "Simple"
msgstr "Simple"
-#: ../rules/base.xml.in.h:576
+#: ../rules/base.xml.in.h:609
msgid "Slovakia"
msgstr "Eslovaquia"
-#: ../rules/base.xml.in.h:577
+#: ../rules/base.xml.in.h:610
msgid "Slovenia"
msgstr "Eslovenia"
-#: ../rules/base.xml.in.h:578
+#: ../rules/base.xml.in.h:611
msgid "South Africa"
msgstr "Sudáfrica"
-#: ../rules/base.xml.in.h:579
+#: ../rules/base.xml.in.h:612
msgid "Southern Uzbek"
msgstr "Uzbequia del sur"
-#: ../rules/base.xml.in.h:580
+#: ../rules/base.xml.in.h:613
msgid "Spain"
msgstr "España"
-#: ../rules/base.xml.in.h:581
+#: ../rules/base.xml.in.h:614
msgid "Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server"
msgstr "Teclas especiales (Ctrl+Alt+«tecla») manipuladas en un servidor"
-#: ../rules/base.xml.in.h:582
-msgid "SrL"
-msgstr "SrL"
-
-#: ../rules/base.xml.in.h:583
+#: ../rules/base.xml.in.h:615
msgid "Sri Lanka"
msgstr "Sri Lanka"
-#: ../rules/base.xml.in.h:584
+#: ../rules/base.xml.in.h:616
msgid "Standard"
msgstr "Estándar"
-#: ../rules/base.xml.in.h:585
+#: ../rules/base.xml.in.h:617
msgid "Standard (Cedilla)"
msgstr "Estándar (cedilla)"
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:587
+#: ../rules/base.xml.in.h:619
msgid "Standard RSTU"
msgstr "Standard RSTU"
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:589
+#: ../rules/base.xml.in.h:621
msgid "Standard RSTU on Russian layout"
msgstr "Standard RSTU con distribución rusa"
-#: ../rules/base.xml.in.h:590
+#: ../rules/base.xml.in.h:622
msgid "Sun Type 5/6"
-msgstr ""
+msgstr "Sun tipo 5/6"
-#: ../rules/base.xml.in.h:591
+#: ../rules/base.xml.in.h:623
msgid "Sun dead keys"
msgstr "Teclas muertas de Sun"
-#: ../rules/base.xml.in.h:592
+#: ../rules/base.xml.in.h:624
msgid "Super Power Multimedia Keyboard"
msgstr "Super Power Multimedia Keyboard"
-#: ../rules/base.xml.in.h:593
+#: ../rules/base.xml.in.h:625
msgid "Svdvorak"
msgstr "Svdvorak"
-#: ../rules/base.xml.in.h:594
+#: ../rules/base.xml.in.h:626
msgid "Svk"
msgstr "Svk"
-#: ../rules/base.xml.in.h:595
+#: ../rules/base.xml.in.h:627
msgid "Svn"
msgstr "Svn"
-#: ../rules/base.xml.in.h:596
+#: ../rules/base.xml.in.h:628
msgid "Swap Ctrl and CapsLock"
msgstr "Intercambiar Ctrl y BloqMayús"
-#: ../rules/base.xml.in.h:597
+#: ../rules/base.xml.in.h:629
msgid "Swap ESC and CapsLock"
msgstr "Intercambiar ESC y BloqMayús"
-#: ../rules/base.xml.in.h:598
+#: ../rules/base.xml.in.h:630
msgid "Swe"
msgstr "Swe"
-#: ../rules/base.xml.in.h:599
+#: ../rules/base.xml.in.h:631
msgid "Sweden"
msgstr "Suecia"
-#: ../rules/base.xml.in.h:600
+#: ../rules/base.xml.in.h:632
msgid "Switzerland"
msgstr "Suiza"
-#: ../rules/base.xml.in.h:601
+#: ../rules/base.xml.in.h:633
msgid "Symplon PaceBook (tablet PC)"
msgstr "Symplon PaceBook (tablet PC)"
-#: ../rules/base.xml.in.h:602
+#: ../rules/base.xml.in.h:634
msgid "Syr"
msgstr "Syr"
-#: ../rules/base.xml.in.h:603
+#: ../rules/base.xml.in.h:635
msgid "Syria"
msgstr "Siria"
-#: ../rules/base.xml.in.h:604
+#: ../rules/base.xml.in.h:636
msgid "Syriac"
msgstr "Sirio"
-#: ../rules/base.xml.in.h:605
+#: ../rules/base.xml.in.h:637
msgid "Syriac phonetic"
msgstr "Sirio fonético"
-#: ../rules/base.xml.in.h:606
+#: ../rules/base.xml.in.h:638
msgid "TIS-820.2538"
msgstr "TIS-820.2538"
-#: ../rules/base.xml.in.h:607
+#: ../rules/base.xml.in.h:639
msgid "Tajikistan"
msgstr "Tajikistán"
-#: ../rules/base.xml.in.h:608
+#: ../rules/base.xml.in.h:640
msgid "Tamil"
msgstr "Tamil"
-#: ../rules/base.xml.in.h:609
+#: ../rules/base.xml.in.h:641
+msgid "Tamil Keyboard with Numerals"
+msgstr "Teclado tamil con letras números"
+
+#: ../rules/base.xml.in.h:642
msgid "Tamil TAB Typewriter"
msgstr "Tamil TAB Typewriter"
-#: ../rules/base.xml.in.h:610
+#: ../rules/base.xml.in.h:643
msgid "Tamil TSCII Typewriter"
msgstr "Tamil TSCII Typewriter"
-#: ../rules/base.xml.in.h:611
+#: ../rules/base.xml.in.h:644
msgid "Tamil Unicode"
msgstr "Tamil Unicode"
-#: ../rules/base.xml.in.h:612
+#: ../rules/base.xml.in.h:645
+msgid "Tanzania"
+msgstr "Tanzania"
+
+#: ../rules/base.xml.in.h:646
msgid "Targa Visionary 811"
msgstr "Targa Visionary 811"
-#: ../rules/base.xml.in.h:613
+#: ../rules/base.xml.in.h:647
msgid "Tatar"
msgstr "Tatar"
-#: ../rules/base.xml.in.h:614
+#: ../rules/base.xml.in.h:648
msgid "Telugu"
msgstr "Telugu"
-#: ../rules/base.xml.in.h:615
+#: ../rules/base.xml.in.h:649
msgid "Tha"
msgstr "Tha"
-#: ../rules/base.xml.in.h:616
+#: ../rules/base.xml.in.h:650
msgid "Thailand"
msgstr "Tailandia"
-#: ../rules/base.xml.in.h:617
+#: ../rules/base.xml.in.h:651
msgid "Tibetan"
msgstr "Tibetano"
-#: ../rules/base.xml.in.h:618
+#: ../rules/base.xml.in.h:652
msgid "Tibetan (with ASCII numerals)"
msgstr "Tibetano (con numerales ASCII)"
-#: ../rules/base.xml.in.h:619
+#: ../rules/base.xml.in.h:653
msgid "Tifinagh"
msgstr "Tifinagh"
-#: ../rules/base.xml.in.h:620
-#, fuzzy
+#: ../rules/base.xml.in.h:654
msgid "Tifinagh Alternative"
-msgstr "Alternativa"
+msgstr "Alternativa tifinagh"
-#: ../rules/base.xml.in.h:621
+#: ../rules/base.xml.in.h:655
msgid "Tifinagh Alternative Phonetic"
-msgstr "Tifinagh fonético alternativo"
+msgstr "Alternativa fonética tifinagh"
-#: ../rules/base.xml.in.h:622
-#, fuzzy
+#: ../rules/base.xml.in.h:656
msgid "Tifinagh Extended"
-msgstr "Extendido"
+msgstr "Extendido tifinagh"
-#: ../rules/base.xml.in.h:623
+#: ../rules/base.xml.in.h:657
msgid "Tifinagh Extended Phonetic"
msgstr "Tifinagh fonético extendido"
-#: ../rules/base.xml.in.h:624
+#: ../rules/base.xml.in.h:658
msgid "Tifinagh Phonetic"
msgstr "Tifinagh fonético"
-#: ../rules/base.xml.in.h:625
+#: ../rules/base.xml.in.h:659
msgid "Tilde (~) variant"
msgstr "Variante virgulilla (~)"
-#: ../rules/base.xml.in.h:626
+#: ../rules/base.xml.in.h:660
msgid "Tjk"
msgstr "Tjk"
-#: ../rules/base.xml.in.h:627
+#: ../rules/base.xml.in.h:661
+msgid "Tkm"
+msgstr "Tkm"
+
+#: ../rules/base.xml.in.h:662
msgid "To the corresponding key in a Dvorak keyboard."
msgstr "A la tecla correspondiente en un teclado Dvorak."
-#: ../rules/base.xml.in.h:628
+#: ../rules/base.xml.in.h:663
msgid "To the corresponding key in a Qwerty keyboard."
msgstr "A la tecla correspondiente en un teclado Qwerty."
-#: ../rules/base.xml.in.h:629
+#: ../rules/base.xml.in.h:664
msgid "Toshiba Satellite S3000"
msgstr "Toshiba Satellite S3000"
-#: ../rules/base.xml.in.h:630
+#: ../rules/base.xml.in.h:665
msgid "Traditional phonetic"
msgstr "Tradicional fonético"
-#: ../rules/base.xml.in.h:631
+#: ../rules/base.xml.in.h:666
msgid "Trust Direct Access Keyboard"
msgstr "Trust Direct Access Keyboard"
-#: ../rules/base.xml.in.h:632
+#: ../rules/base.xml.in.h:667
msgid "Trust Slimline"
-msgstr ""
+msgstr "Trust Slimline"
-#: ../rules/base.xml.in.h:633
+#: ../rules/base.xml.in.h:668
msgid "Trust Wireless Keyboard Classic"
msgstr "Trust Wireless Keyboard Classic"
-#: ../rules/base.xml.in.h:634
+#: ../rules/base.xml.in.h:669
msgid "Tur"
msgstr "Tur"
-#: ../rules/base.xml.in.h:635
+#: ../rules/base.xml.in.h:670
msgid "Turkey"
msgstr "Turquía"
-#: ../rules/base.xml.in.h:636
+#: ../rules/base.xml.in.h:671
msgid "Turkmenistan"
msgstr "Turkmenistán"
-#: ../rules/base.xml.in.h:637
+#: ../rules/base.xml.in.h:672
+msgid "TypeMatrix EZ-Reach 2020"
+msgstr "TypeMatrix EZ-Reach 2020"
+
+#: ../rules/base.xml.in.h:673
+msgid "TypeMatrix EZ-Reach 2030 PS2"
+msgstr "TypeMatrix EZ-Reach 2030 PS2"
+
+#: ../rules/base.xml.in.h:674
+msgid "TypeMatrix EZ-Reach 2030 USB"
+msgstr "TypeMatrix EZ-Reach 2030 USB"
+
+#: ../rules/base.xml.in.h:675
+msgid "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)"
+msgstr "TypeMatrix EZ-Reach 2030 USB (102/105:modo EU)"
+
+#: ../rules/base.xml.in.h:676
+msgid "TypeMatrix EZ-Reach 2030 USB (106:JP mode)"
+msgstr "TypeMatrix EZ-Reach 2030 USB (106:modo JP)"
+
+#: ../rules/base.xml.in.h:677
msgid "Typewriter"
msgstr "Máquina de escribir"
-#: ../rules/base.xml.in.h:638
+#: ../rules/base.xml.in.h:678
msgid "Typewriter, legacy"
msgstr "Máquina de escribir, heredado"
-#: ../rules/base.xml.in.h:639
+#: ../rules/base.xml.in.h:679
+msgid "Tza"
+msgstr "Tza"
+
+#: ../rules/base.xml.in.h:680
msgid "UCW layout (accented letters only)"
-msgstr ""
+msgstr "Distribución UCW (sólo teclas con tilde)"
-#: ../rules/base.xml.in.h:640
+#: ../rules/base.xml.in.h:681
+msgid "US Dvorak with CZ UCW support"
+msgstr "Teclado EE. UU. con soporte para UCW checo"
+
+#: ../rules/base.xml.in.h:682
msgid "US keyboard with Bosnian digraphs"
msgstr "Teclado EE. UU. con digrafos bosnios"
-#: ../rules/base.xml.in.h:641
+#: ../rules/base.xml.in.h:683
msgid "US keyboard with Bosnian letters"
msgstr "Teclado EE. UU. con letras bosnias"
-#: ../rules/base.xml.in.h:642
+#: ../rules/base.xml.in.h:684
msgid "US keyboard with Croatian digraphs"
msgstr "Teclado EE. UU. con digrafos croatas"
-#: ../rules/base.xml.in.h:643
+#: ../rules/base.xml.in.h:685
msgid "US keyboard with Croatian letters"
msgstr "Teclado EE. UU. con letras croatas"
-#: ../rules/base.xml.in.h:644
+#: ../rules/base.xml.in.h:686
msgid "US keyboard with Estonian letters"
msgstr "Teclado EE. UU. con letras estonias"
-#: ../rules/base.xml.in.h:645
+#: ../rules/base.xml.in.h:687
msgid "US keyboard with Italian letters"
msgstr "Teclado EE. UU. con letras italianas"
-#: ../rules/base.xml.in.h:646
+#: ../rules/base.xml.in.h:688
msgid "US keyboard with Lithuanian letters"
msgstr "Teclado EE. UU. con letras lituanas"
-#: ../rules/base.xml.in.h:647
+#: ../rules/base.xml.in.h:689
msgid "US keyboard with Slovenian letters"
msgstr "Teclado EE. UU. con letras eslovenas"
-#: ../rules/base.xml.in.h:648 ../rules/base.extras.xml.in.h:9
+#: ../rules/base.xml.in.h:690 ../rules/base.extras.xml.in.h:9
msgid "USA"
msgstr "EE. UU."
-#: ../rules/base.xml.in.h:649
-#, fuzzy
+#: ../rules/base.xml.in.h:691
msgid "Udmurt"
-msgstr "Urdu"
+msgstr "Udmurto"
-#: ../rules/base.xml.in.h:650
+#: ../rules/base.xml.in.h:692
msgid "Ukr"
msgstr "Ucr"
-#: ../rules/base.xml.in.h:651
+#: ../rules/base.xml.in.h:693
msgid "Ukraine"
msgstr "Ucrania"
-#: ../rules/base.xml.in.h:652
+#: ../rules/base.xml.in.h:694
msgid "Unicode additions (arrows and math operators)"
-msgstr ""
+msgstr "Adiciones unicode (flechas y operadores matemáticos)"
-#: ../rules/base.xml.in.h:653
+#: ../rules/base.xml.in.h:695
msgid "Unicode additions (arrows and math operators). Math operators on default level"
-msgstr ""
+msgstr "Adiciones unicode (flechas y operadores matemáticos); operadores matemáticos en el nivel predeterminado"
-#: ../rules/base.xml.in.h:654
+#: ../rules/base.xml.in.h:696
msgid "UnicodeExpert"
msgstr "UnicodeExperto"
-#: ../rules/base.xml.in.h:655
+#: ../rules/base.xml.in.h:697
msgid "United Kingdom"
msgstr "Reino Unido"
-#: ../rules/base.xml.in.h:656
+#: ../rules/base.xml.in.h:698
msgid "Unitek KB-1925"
msgstr "Unitek KB-1925"
-#: ../rules/base.xml.in.h:657
+#: ../rules/base.xml.in.h:699
msgid "Urdu, Alternative phonetic"
msgstr "Urdu fonético alternativo"
-#: ../rules/base.xml.in.h:658
+#: ../rules/base.xml.in.h:700
msgid "Urdu, Phonetic"
msgstr "Urdu fonético"
-#: ../rules/base.xml.in.h:659
+#: ../rules/base.xml.in.h:701
msgid "Urdu, Winkeys"
msgstr "Urdu, teclas Windows"
-#: ../rules/base.xml.in.h:660
+#: ../rules/base.xml.in.h:702
msgid "Use Bosnian digraphs"
msgstr "Usar digrafos bosnios"
-#: ../rules/base.xml.in.h:661
+#: ../rules/base.xml.in.h:703
msgid "Use Croatian digraphs"
msgstr "Usar digrafos croatas"
-#: ../rules/base.xml.in.h:662
+#: ../rules/base.xml.in.h:704
msgid "Use guillemets for quotes"
msgstr "Usar guillemots para comillas"
-#: ../rules/base.xml.in.h:663
+#: ../rules/base.xml.in.h:705
msgid "Use keyboard LED to show alternative layout"
msgstr "Usar LED del teclado para mostrar la distribución alternativa"
-#: ../rules/base.xml.in.h:664
+#: ../rules/base.xml.in.h:706
msgid "Using space key to input non-breakable space character"
-msgstr ""
+msgstr "Usando la tecla espacio para introducir un carácter de espacio no separable"
-#: ../rules/base.xml.in.h:665
+#: ../rules/base.xml.in.h:707
msgid "Usual space at any level"
-msgstr ""
+msgstr "Espacio usual en cualquier nivel"
-#: ../rules/base.xml.in.h:666
+#: ../rules/base.xml.in.h:708
msgid "Uzb"
msgstr "Uzb"
-#: ../rules/base.xml.in.h:667
+#: ../rules/base.xml.in.h:709
msgid "Uzbekistan"
msgstr "Uzbekistán"
-#: ../rules/base.xml.in.h:668
+#: ../rules/base.xml.in.h:710
msgid "Vietnam"
msgstr "Vietnam"
-#: ../rules/base.xml.in.h:669
+#: ../rules/base.xml.in.h:711
msgid "ViewSonic KU-306 Internet Keyboard"
-msgstr ""
+msgstr "Teclado para internet ViewSonic KU-306"
-#: ../rules/base.xml.in.h:670
+#: ../rules/base.xml.in.h:712
msgid "Vnm"
msgstr "Vnm"
-#: ../rules/base.xml.in.h:671
+#: ../rules/base.xml.in.h:713
msgid "Wang 724 keypad with unicode additions (arrows and math operators)"
-msgstr ""
+msgstr "Teclado numérico Wang 724 con adiciones Unicode (flechas y operadores matemáticos)"
-#: ../rules/base.xml.in.h:672
+#: ../rules/base.xml.in.h:714
msgid "Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level"
-msgstr ""
+msgstr "Teclado numérico Wang 724 con adiciones Unicode (flechas y operadores matemáticos); operadores matemáticos en el nivel predeterminado"
-#: ../rules/base.xml.in.h:673
+#: ../rules/base.xml.in.h:715
msgid "Wang model 724 azerty"
-msgstr "Wang model 724 azerty"
+msgstr "Wang modelo 724 azerty"
-#: ../rules/base.xml.in.h:674
+#: ../rules/base.xml.in.h:716
msgid "Western"
msgstr "Occidental"
-#: ../rules/base.xml.in.h:675
+#: ../rules/base.xml.in.h:717
msgid "Winbook Model XP5"
msgstr "Winbook Model XP5"
-#: ../rules/base.xml.in.h:676
+#: ../rules/base.xml.in.h:718
msgid "Winkeys"
msgstr "Teclas Windows"
-#: ../rules/base.xml.in.h:677
+#: ../rules/base.xml.in.h:719
msgid "With &lt;\\|&gt; key"
msgstr "With tecla «\\|»"
-#: ../rules/base.xml.in.h:678
+#: ../rules/base.xml.in.h:720
msgid "With EuroSign on 5"
msgstr "Con símbolo del Euro a la tecla 5"
-#: ../rules/base.xml.in.h:679
+#: ../rules/base.xml.in.h:721
msgid "With guillemets"
msgstr "Con guillemots"
-#: ../rules/base.xml.in.h:680
+#: ../rules/base.xml.in.h:722
msgid "Yahoo! Internet Keyboard"
msgstr "Yahoo! Internet Keyboard"
-#: ../rules/base.xml.in.h:681
+#: ../rules/base.xml.in.h:723
msgid "Yakut"
-msgstr ""
+msgstr "Yakuto"
-#: ../rules/base.xml.in.h:682
+#: ../rules/base.xml.in.h:724
msgid "Yoruba"
-msgstr ""
+msgstr "Yoruba"
-#: ../rules/base.xml.in.h:683
+#: ../rules/base.xml.in.h:725
msgid "Z and ZHE swapped"
msgstr "Z y ZHE intercambiados"
-#: ../rules/base.xml.in.h:684
-msgid "Zar"
-msgstr "Zar"
+#: ../rules/base.xml.in.h:726
+msgid "Zaf"
+msgstr "Zaf"
-#: ../rules/base.xml.in.h:685
+#: ../rules/base.xml.in.h:727
+msgid "Zero-width non-joiner character at second level"
+msgstr "Carácer de espacio irrompible de anchura cero («ZWNJ») en el segundo nivel"
+
+#: ../rules/base.xml.in.h:728
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level"
+msgstr "Carácer de espacio irrompible de anchura cero («ZWNJ») en el segundo nivel, carácter de espacio no separable en el tercer nivel"
+
+#: ../rules/base.xml.in.h:729
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level"
+msgstr "Carácer de espacio irrompible de anchura cero («ZWNJ») en el segundo nivel, carácter de espacio no separable en el tercer nivel, nada en el cuarto nivel"
+
+#: ../rules/base.xml.in.h:730
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level"
+msgstr "Carácer de espacio irrompible de anchura cero («ZWNJ») en el segundo nivel, carácter de espacio no separable en el tercer nivel, espacio estrecho no separable en el cuarto nivel"
+
+#: ../rules/base.xml.in.h:731
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level"
+msgstr "Carácer de espacio irrompible de anchura cero («ZWNJ») en el segundo nivel, carácter de espacio no separable en el tercer nivel, espacio de anchura cero rompible («ZWJ») en el cuarto nivel"
+
+#: ../rules/base.xml.in.h:732
+msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level"
+msgstr "Carácer de espacio irrompible de anchura cero («ZWNJ») en el segundo nivel, carácter de espacio de anchura cero rompible («ZWJ») en el tercer nivel"
+
+#: ../rules/base.xml.in.h:733
+msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level"
+msgstr "Carácer de espacio irrompible de anchura cero («ZWNJ») en el segundo nivel, carácter de espacio de anchura cero rompible («ZWJ») en el tercer nivel, caracter de espacio no separable en el cuarto nivel"
+
+#: ../rules/base.xml.in.h:734
+msgid "Zero-width non-joiner character at third level, zero-width joiner at fourth level"
+msgstr "Carácer de espacio irrompible de anchura cero («ZWNJ») en el tercer nivel, carácter de anchura cero rompible («ZWJ») en el cuarto nivel"
+
+#: ../rules/base.xml.in.h:735
msgid "azerty"
msgstr "azerty"
-#: ../rules/base.xml.in.h:686
+#: ../rules/base.xml.in.h:736
msgid "azerty/digits"
msgstr "azerty/dígitos"
-#: ../rules/base.xml.in.h:687
+#: ../rules/base.xml.in.h:737
msgid "digits"
msgstr "dígitos"
-#: ../rules/base.xml.in.h:688
+#: ../rules/base.xml.in.h:738
msgid "displaced semicolon and quote (obsolete)"
-msgstr ""
+msgstr "punto y coma y comilla desplazadas (obsoleto)"
-#: ../rules/base.xml.in.h:689
+#: ../rules/base.xml.in.h:739
msgid "lyx"
msgstr "lyx"
-#: ../rules/base.xml.in.h:690
+#: ../rules/base.xml.in.h:740
msgid "qwerty"
msgstr "qwerty"
-#: ../rules/base.xml.in.h:691
+#: ../rules/base.xml.in.h:741
msgid "qwerty, extended Backslash"
msgstr "qwerty, contrabarra extendida"
-#: ../rules/base.xml.in.h:692
+#: ../rules/base.xml.in.h:742
msgid "qwerty/digits"
msgstr "qwerty/dígitos"
-#: ../rules/base.xml.in.h:693
+#: ../rules/base.xml.in.h:743
msgid "qwertz"
msgstr "qwertz"
#: ../rules/base.extras.xml.in.h:1
msgid "APL"
-msgstr ""
+msgstr "APL"
#: ../rules/base.extras.xml.in.h:2
msgid "Atsina"
-msgstr ""
+msgstr "Atsina"
#: ../rules/base.extras.xml.in.h:3
msgid "Combining accents instead of dead keys"
-msgstr ""
+msgstr "Combinar tildes en lugar de teclas muertas"
#: ../rules/base.extras.xml.in.h:4
msgid "Couer D'alene Salish"
-msgstr ""
+msgstr "Coeur d’Alene salish"
#: ../rules/base.extras.xml.in.h:5
-#, fuzzy
msgid "International (AltGr Unicode combining)"
-msgstr "Internacional (con teclas muertas)"
+msgstr "Internacional (combinando AltGr Unicode)"
#: ../rules/base.extras.xml.in.h:6
msgid "International (AltGr Unicode combining, alternative)"
-msgstr ""
+msgstr "Internacional (combinando AltGr Unicode, alternativa)"
+
+#~ msgid "ACPI Standard"
+#~ msgstr "ACPI Estándard"
+
+#~ msgid "Bhu"
+#~ msgstr "Bhu"
+
+#~ msgid "Caps Lock"
+#~ msgstr "Bloqueo de mayúsculas"
+
+#~ msgid "DRC"
+#~ msgstr "DRC"
+
+#~ msgid "Dan"
+#~ msgstr "Dan"
+
+#~ msgid "Dvorak international"
+#~ msgstr "Dvorak internacional"
+
+#~ msgid "Gre"
+#~ msgstr "Gre"
+
+#~ msgid "Gui"
+#~ msgstr "Gui"
+
+#, fuzzy
+#~ msgid "Lav"
+#~ msgstr "Lao"
+
+#~ msgid "Nep"
+#~ msgstr "Nep"
+
+#~ msgid "SrL"
+#~ msgstr "SrL"
#~ msgid "Acer TravelMate 800"
#~ msgstr "Acer TravelMate 800"
@@ -2863,9 +3063,6 @@ msgstr ""
#~ msgid "Ctrl+Shift changes group."
#~ msgstr "Ctrl+Mayús cambia el grupo."
-#~ msgid "Dnk"
-#~ msgstr "Dnk"
-
#~ msgid "Group Shift/Lock behavior"
#~ msgstr "Comportamiento del grupo Mayús/Bloq"
@@ -2878,9 +3075,6 @@ msgstr ""
#~ msgid "Japanese 106-key"
#~ msgstr "Japonés 106 teclas"
-#~ msgid "Keypad"
-#~ msgstr "Teclado numérico"
-
#~ msgid "Korean 106-key"
#~ msgstr "Coreano 106 teclas"
@@ -2905,9 +3099,6 @@ msgstr ""
#~ msgid "Left Win-key is Compose."
#~ msgstr "La tecla Windows izquierda es Componer."
-#~ msgid "Lva"
-#~ msgstr "Lva"
-
#~ msgid "Macintosh layout"
#~ msgstr "Distribución Macintosh"
diff --git a/xorg-server/xkeyboard-config/po/fi.po b/xorg-server/xkeyboard-config/po/fi.po
index 461485e2e..20a5358e4 100644
--- a/xorg-server/xkeyboard-config/po/fi.po
+++ b/xorg-server/xkeyboard-config/po/fi.po
@@ -6,10 +6,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: xkeyboard-config 1.9\n"
+"Project-Id-Version: xkeyboard-config 2.0\n"
"Report-Msgid-Bugs-To: svu@users.sourceforge.net\n"
-"POT-Creation-Date: 2010-05-11 21:34+0100\n"
-"PO-Revision-Date: 2010-05-24 06:55+0300\n"
+"POT-Creation-Date: 2010-09-15 21:57+0100\n"
+"PO-Revision-Date: 2010-09-20 08:49+0300\n"
"Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
@@ -204,8 +204,8 @@ msgid "Alt is mapped to Right Win, Super to Menu"
msgstr "Alt tulee oikeasta Win-näppäimestä, Super valikkonäppäimestä"
#: ../rules/base.xml.in.h:47
-msgid "Alt+CapsLock"
-msgstr "Alt+CapsLock"
+msgid "Alt+Caps Lock"
+msgstr "Alt+Caps Lock"
#: ../rules/base.xml.in.h:48
msgid "Alt+Ctrl"
@@ -296,8 +296,8 @@ msgid "Apple Aluminium Keyboard (JIS)"
msgstr "Apple Aluminium -näppäimistö (JIS)"
#: ../rules/base.xml.in.h:70
-msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll_Lock, Pause, NumLock)"
-msgstr "Apple Aluminium -näppäimistö: emuloi PC-näppäimiä (Print, Scroll_Lock, Pause, NumLock)"
+msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num Lock)"
+msgstr "Apple Aluminium -näppäimistö: emuloi PC-näppäimiä (Print, Scroll Lock, Pause, Num Lock)"
#: ../rules/base.xml.in.h:71
msgid "Apple Laptop"
@@ -336,2645 +336,2665 @@ msgid "At left of 'A'"
msgstr "”A”-näppäimestä vasemmalla"
#: ../rules/base.xml.in.h:80
+msgid "Austria"
+msgstr "Itävalta"
+
+#: ../rules/base.xml.in.h:81
+msgid "Aut"
+msgstr "Aut"
+
+#: ../rules/base.xml.in.h:82
msgid "Avatime"
msgstr "Avatime"
-#: ../rules/base.xml.in.h:81
+#: ../rules/base.xml.in.h:83
msgid "Aze"
msgstr "Aze"
-#: ../rules/base.xml.in.h:82
+#: ../rules/base.xml.in.h:84
msgid "Azerbaijan"
msgstr "Azerbaidzan"
-#: ../rules/base.xml.in.h:83
+#: ../rules/base.xml.in.h:85
msgid "Azona RF2300 wireless Internet Keyboard"
msgstr "Azona RF2300 -langaton Internet-näppäimistö"
-#: ../rules/base.xml.in.h:84
+#: ../rules/base.xml.in.h:86
msgid "BTC 5090"
msgstr "BTC 5090"
-#: ../rules/base.xml.in.h:85
+#: ../rules/base.xml.in.h:87
msgid "BTC 5113RF Multimedia"
msgstr "BTC 5113RF Multimedia"
-#: ../rules/base.xml.in.h:86
+#: ../rules/base.xml.in.h:88
msgid "BTC 5126T"
msgstr "BTC 5126T"
-#: ../rules/base.xml.in.h:87
+#: ../rules/base.xml.in.h:89
msgid "BTC 6301URF"
msgstr "BTC 6301URF"
-#: ../rules/base.xml.in.h:88
+#: ../rules/base.xml.in.h:90
msgid "BTC 9000"
msgstr "BTC 9000"
-#: ../rules/base.xml.in.h:89
+#: ../rules/base.xml.in.h:91
msgid "BTC 9000A"
msgstr "BTC 9000A"
-#: ../rules/base.xml.in.h:90
+#: ../rules/base.xml.in.h:92
msgid "BTC 9001AH"
msgstr "BTC 9001AH"
-#: ../rules/base.xml.in.h:91
+#: ../rules/base.xml.in.h:93
msgid "BTC 9019U"
msgstr "BTC 9019U"
-#: ../rules/base.xml.in.h:92
+#: ../rules/base.xml.in.h:94
msgid "BTC 9116U Mini Wireless Internet and Gaming"
msgstr "BTC 9116U Mini Wireless Internet and Gaming"
-#: ../rules/base.xml.in.h:93
+#: ../rules/base.xml.in.h:95
msgid "Backslash"
msgstr "Kenoviiva"
-#: ../rules/base.xml.in.h:94
+#: ../rules/base.xml.in.h:96
msgid "Bangladesh"
msgstr "Bangladesh"
-#: ../rules/base.xml.in.h:95
+#: ../rules/base.xml.in.h:97
msgid "Bashkirian"
msgstr "baškiiri"
-#: ../rules/base.xml.in.h:96
+#: ../rules/base.xml.in.h:98
msgid "Bel"
msgstr "Bel"
-#: ../rules/base.xml.in.h:97
+#: ../rules/base.xml.in.h:99
msgid "Belarus"
msgstr "Valko-Venäjä"
-#: ../rules/base.xml.in.h:98
+#: ../rules/base.xml.in.h:100
msgid "Belgium"
msgstr "Belgia"
-#: ../rules/base.xml.in.h:99
+#: ../rules/base.xml.in.h:101
msgid "BenQ X-Touch"
msgstr "BenQ X-Touch"
-#: ../rules/base.xml.in.h:100
+#: ../rules/base.xml.in.h:102
msgid "BenQ X-Touch 730"
msgstr "BenQ X-Touch 730"
-#: ../rules/base.xml.in.h:101
+#: ../rules/base.xml.in.h:103
msgid "BenQ X-Touch 800"
msgstr "BenQ X-Touch 800"
-#: ../rules/base.xml.in.h:102
+#: ../rules/base.xml.in.h:104
msgid "Bengali"
msgstr "Bengali"
-#: ../rules/base.xml.in.h:103
+#: ../rules/base.xml.in.h:105
msgid "Bengali Probhat"
msgstr "Bengali probhat"
-#: ../rules/base.xml.in.h:104
+#: ../rules/base.xml.in.h:106
msgid "Bepo, ergonomic, Dvorak way"
msgstr "Bepo, ergonominen, Dvorak-tavalla"
-#: ../rules/base.xml.in.h:105
+#: ../rules/base.xml.in.h:107
msgid "Bepo, ergonomic, Dvorak way, latin-9 only"
msgstr "Bepo, ergonominen, Dvorak-tavalla, pelkkä latin-9"
-#: ../rules/base.xml.in.h:106
+#: ../rules/base.xml.in.h:108
msgid "Bgd"
msgstr "Bgd"
-#: ../rules/base.xml.in.h:107
+#: ../rules/base.xml.in.h:109
msgid "Bgr"
msgstr "Bgr"
-#: ../rules/base.xml.in.h:108
+#: ../rules/base.xml.in.h:110
msgid "Bhutan"
msgstr "Bhutan"
-#: ../rules/base.xml.in.h:109
+#: ../rules/base.xml.in.h:111
msgid "Biblical Hebrew (Tiro)"
msgstr "Raamatullinen Heprea (Tiro)"
-#: ../rules/base.xml.in.h:110
+#: ../rules/base.xml.in.h:112
msgid "Bih"
msgstr "Bih"
-#: ../rules/base.xml.in.h:111
+#: ../rules/base.xml.in.h:113
msgid "Blr"
msgstr "Blr"
-#: ../rules/base.xml.in.h:112
+#: ../rules/base.xml.in.h:114
msgid "Bosnia and Herzegovina"
msgstr "Bosnia-Hertsegovina"
-#: ../rules/base.xml.in.h:113
+#: ../rules/base.xml.in.h:115
msgid "Both Alt keys together"
msgstr "Molemmat Alt-näppäimet"
-#: ../rules/base.xml.in.h:114
+#: ../rules/base.xml.in.h:116
msgid "Both Ctrl keys together"
msgstr "Molemmat Ctrl-näppäimet"
-#: ../rules/base.xml.in.h:115
+#: ../rules/base.xml.in.h:117
msgid "Both Shift keys together"
msgstr "Molemmat Shift-näppäimet"
-#: ../rules/base.xml.in.h:116
-msgid "Both Shift-Keys together toggle CapsLock"
-msgstr "Molemmat Shift-näppäimet yhdessä vaihtavat CapsLockin."
+#: ../rules/base.xml.in.h:118
+msgid "Both Shift-Keys together toggle Caps Lock"
+msgstr "Molemmat Shift-näppäimet yhdessä vaihtavat Caps Lockin."
-#: ../rules/base.xml.in.h:117
+#: ../rules/base.xml.in.h:119
msgid "Botswana"
msgstr "Botswana"
-#: ../rules/base.xml.in.h:118
+#: ../rules/base.xml.in.h:120
msgid "Bra"
msgstr "Bra"
-#: ../rules/base.xml.in.h:119
+#: ../rules/base.xml.in.h:121
msgid "Braille"
msgstr "Braille"
-#: ../rules/base.xml.in.h:120
+#: ../rules/base.xml.in.h:122
msgid "Brazil"
msgstr "Brasilia"
-#: ../rules/base.xml.in.h:121
+#: ../rules/base.xml.in.h:123
msgid "Breton"
msgstr "Bretoni"
-#: ../rules/base.xml.in.h:122
+#: ../rules/base.xml.in.h:124
msgid "Brl"
msgstr "Brl"
-#: ../rules/base.xml.in.h:123
+#: ../rules/base.xml.in.h:125
msgid "Brother Internet Keyboard"
msgstr "Brother-Internet-näppäimistö"
-#: ../rules/base.xml.in.h:124
+#: ../rules/base.xml.in.h:126
msgid "Btn"
msgstr "Btn"
-#: ../rules/base.xml.in.h:125
+#: ../rules/base.xml.in.h:127
msgid "Buckwalter"
msgstr "Buckwalter"
-#: ../rules/base.xml.in.h:126
+#: ../rules/base.xml.in.h:128
msgid "Bulgaria"
msgstr "Bulgaria"
-#: ../rules/base.xml.in.h:127
+#: ../rules/base.xml.in.h:129
msgid "Bwa"
msgstr "Bwa"
-#: ../rules/base.xml.in.h:128
+#: ../rules/base.xml.in.h:130
msgid "COD"
msgstr "COD"
-#: ../rules/base.xml.in.h:129
+#: ../rules/base.xml.in.h:131
msgid "CRULP"
msgstr "CRULP"
-#: ../rules/base.xml.in.h:130
+#: ../rules/base.xml.in.h:132
msgid "Cambodia"
msgstr "Kambodža"
-#: ../rules/base.xml.in.h:131
+#: ../rules/base.xml.in.h:133
msgid "Can"
msgstr "Can"
-#: ../rules/base.xml.in.h:132
+#: ../rules/base.xml.in.h:134
msgid "Canada"
msgstr "Kanada"
-#: ../rules/base.xml.in.h:133
-msgid "CapsLock"
-msgstr "CapsLock"
-
-#: ../rules/base.xml.in.h:134
-msgid "CapsLock (to first layout), Shift+CapsLock (to last layout)"
-msgstr "CapsLock (ensimmäiselle tasolle), Shift+CapsLock (viimeiselle tasolle)"
-
#: ../rules/base.xml.in.h:135
-msgid "CapsLock (while pressed), Alt+CapsLock does the original capslock action"
-msgstr "CapsLock (painettaessa), Alt+CapsLock tekee normaalin CapsLock-toiminnon"
+msgid "Caps Lock"
+msgstr "Caps Lock"
#: ../rules/base.xml.in.h:136
-msgid "CapsLock acts as Shift with locking. Shift \"pauses\" CapsLock"
-msgstr "CapsLock toimii lukitsevana Shiftinä. Shift kumoaa CapsLockin"
+msgid "Caps Lock (to first layout), Shift+Caps Lock (to last layout)"
+msgstr "Caps Lock (ensimmäiselle tasolle), Shift+Caps Lock (viimeiselle tasolle)"
#: ../rules/base.xml.in.h:137
-msgid "CapsLock acts as Shift with locking. Shift doesn't affect CapsLock"
-msgstr "CapsLock toimii lukitsevana Shiftinä. Shift ei kumoa CapsLockia"
+msgid "Caps Lock (while pressed), Alt+Caps Lock does the original capslock action"
+msgstr "Caps Lock (painettaessa), Alt+Caps Lock tekee normaalin CapsLock-toiminnon"
#: ../rules/base.xml.in.h:138
-msgid "CapsLock is disabled"
-msgstr "Caps Lock ei käytössä"
+msgid "Caps Lock acts as Shift with locking. Shift \"pauses\" Caps Lock"
+msgstr "Caps Lock toimii lukitsevana Shiftinä. Shift kumoaa Caps Lockin"
#: ../rules/base.xml.in.h:139
-msgid "CapsLock key behavior"
-msgstr "CapsLock-näppäimen toiminta"
+msgid "Caps Lock acts as Shift with locking. Shift doesn't affect Caps Lock"
+msgstr "Caps Lock toimii lukitsevana Shiftinä. Shift ei kumoa Caps Lockia"
#: ../rules/base.xml.in.h:140
-msgid "CapsLock toggles Shift so all keys are affected"
-msgstr "CapsLock vaihtaa Shiftiä vaikuttaen kaikkiin näppäimiin"
+msgid "Caps Lock is disabled"
+msgstr "Caps Lock ei käytössä"
#: ../rules/base.xml.in.h:141
-msgid "CapsLock toggles normal capitalization of alphabetic characters"
-msgstr "CapsLock vaihtaa normaalin suuraakkostuksen aakkosille"
+msgid "Caps Lock key behavior"
+msgstr "Caps Lock-näppäimen toiminta"
#: ../rules/base.xml.in.h:142
-msgid "CapsLock uses internal capitalization. Shift \"pauses\" CapsLock"
-msgstr "CapsLock käyttää sisäistä suuraakkostusta. Shift kumoaa CapsLockin"
+msgid "Caps Lock toggles Shift so all keys are affected"
+msgstr "Caps Lock vaihtaa Shiftiä vaikuttaen kaikkiin näppäimiin"
#: ../rules/base.xml.in.h:143
-msgid "CapsLock uses internal capitalization. Shift doesn't affect CapsLock"
-msgstr "CapsLock käyttää sisäistä suuraakkostusta. Shift ei kumoa CapsLockia"
+msgid "Caps Lock toggles normal capitalization of alphabetic characters"
+msgstr "Caps Lock vaihtaa normaalin suuraakkostuksen aakkosille"
#: ../rules/base.xml.in.h:144
+msgid "Caps Lock uses internal capitalization. Shift \"pauses\" Caps Lock"
+msgstr "Caps Lock käyttää sisäistä suuraakkostusta. Shift kumoaa Caps Lockin"
+
+#: ../rules/base.xml.in.h:145
+msgid "Caps Lock uses internal capitalization. Shift doesn't affect Caps Lock"
+msgstr "Caps Lock käyttää sisäistä suuraakkostusta. Shift ei kumoa Caps Lockia"
+
+#: ../rules/base.xml.in.h:146
msgid "Catalan variant with middle-dot L"
msgstr "Katalaani-vaihtoehto keskipilkullisella L-kirjaimella"
-#: ../rules/base.xml.in.h:145
+#: ../rules/base.xml.in.h:147
msgid "Cedilla"
msgstr "Sedilji"
-#: ../rules/base.xml.in.h:146
+#: ../rules/base.xml.in.h:148
msgid "Che"
msgstr "Che"
-#: ../rules/base.xml.in.h:147
+#: ../rules/base.xml.in.h:149
msgid "Cherokee"
msgstr "Cherokee"
-#: ../rules/base.xml.in.h:148
+#: ../rules/base.xml.in.h:150
msgid "Cherry B.UNLIMITED"
msgstr "Cherry B.UNLIMITED"
-#: ../rules/base.xml.in.h:149
+#: ../rules/base.xml.in.h:151
msgid "Cherry Blue Line CyBo@rd"
msgstr "Cherry Blue Line CyBo@rd"
-#: ../rules/base.xml.in.h:150
+#: ../rules/base.xml.in.h:152
msgid "Cherry Blue Line CyBo@rd (alternate option)"
msgstr "Cherry Blue Line CyBo@rd (vaihtoehtoinen valinta)"
-#: ../rules/base.xml.in.h:151
+#: ../rules/base.xml.in.h:153
msgid "Cherry CyBo@rd USB-Hub"
msgstr "Cherry CyBo@rd USB-Hub"
-#: ../rules/base.xml.in.h:152
+#: ../rules/base.xml.in.h:154
msgid "Cherry CyMotion Expert"
msgstr "Cherry CyMotion Expert"
-#: ../rules/base.xml.in.h:153
+#: ../rules/base.xml.in.h:155
msgid "Cherry CyMotion Master Linux"
msgstr "Cherry CyMotion Master Linux"
-#: ../rules/base.xml.in.h:154
+#: ../rules/base.xml.in.h:156
msgid "Cherry CyMotion Master XPress"
msgstr "Cherry CyMotion Master XPress"
-#: ../rules/base.xml.in.h:155
+#: ../rules/base.xml.in.h:157
msgid "Chicony Internet Keyboard"
msgstr "Chicony-Internet-näppäimistö"
-#: ../rules/base.xml.in.h:156
+#: ../rules/base.xml.in.h:158
msgid "Chicony KB-9885"
msgstr "Chicony KB-9885"
-#: ../rules/base.xml.in.h:157
+#: ../rules/base.xml.in.h:159
msgid "Chicony KU-0108"
msgstr "Chicony KU-0108"
-#: ../rules/base.xml.in.h:158
+#: ../rules/base.xml.in.h:160
msgid "Chicony KU-0420"
msgstr "Chicony KU-0420"
-#: ../rules/base.xml.in.h:159
+#: ../rules/base.xml.in.h:161
msgid "China"
msgstr "Kiina"
-#: ../rules/base.xml.in.h:160
+#: ../rules/base.xml.in.h:162
msgid "Chn"
msgstr "Chn"
-#: ../rules/base.xml.in.h:161
+#: ../rules/base.xml.in.h:163
msgid "Chuvash"
msgstr "Chuvash"
-#: ../rules/base.xml.in.h:162
+#: ../rules/base.xml.in.h:164
msgid "Chuvash Latin"
msgstr "Chuvash latinalainen"
-#: ../rules/base.xml.in.h:163
+#: ../rules/base.xml.in.h:165
msgid "Classic"
msgstr "Perinteinen"
-#: ../rules/base.xml.in.h:164
+#: ../rules/base.xml.in.h:166
msgid "Classic Dvorak"
msgstr "Perinteinen dvorak"
-#: ../rules/base.xml.in.h:165
+#: ../rules/base.xml.in.h:167
msgid "Classic, eliminate dead keys"
msgstr "Perinteinen, ei kuolleita näppäimiä"
-#: ../rules/base.xml.in.h:166
+#: ../rules/base.xml.in.h:168
msgid "Classmate PC"
msgstr "Classmate PC"
-#: ../rules/base.xml.in.h:167
+#: ../rules/base.xml.in.h:169
msgid "CloGaelach"
msgstr "CloGaelach"
-#: ../rules/base.xml.in.h:168
+#: ../rules/base.xml.in.h:170
msgid "Colemak"
msgstr "Colemak"
-#: ../rules/base.xml.in.h:169
+#: ../rules/base.xml.in.h:171
msgid "Compaq Easy Access Keyboard"
msgstr "Compaq Easy Access -näppäimistö"
-#: ../rules/base.xml.in.h:170
+#: ../rules/base.xml.in.h:172
msgid "Compaq Internet Keyboard (13 keys)"
msgstr "Compaq-Internet-näppäimistö (13 näppäintä)"
-#: ../rules/base.xml.in.h:171
+#: ../rules/base.xml.in.h:173
msgid "Compaq Internet Keyboard (18 keys)"
msgstr "Compaq-Internet-näppäimistö (18 näppäintä)"
-#: ../rules/base.xml.in.h:172
+#: ../rules/base.xml.in.h:174
msgid "Compaq Internet Keyboard (7 keys)"
msgstr "Compaq-Internet-näppäimistö (7 näppäintä)"
-#: ../rules/base.xml.in.h:173
+#: ../rules/base.xml.in.h:175
msgid "Compaq iPaq Keyboard"
msgstr "Compaq iPaq-näppäimistö"
-#: ../rules/base.xml.in.h:174
+#: ../rules/base.xml.in.h:176
msgid "Compose key position"
msgstr "Compose-näppäimen sijainti"
-#: ../rules/base.xml.in.h:175
+#: ../rules/base.xml.in.h:177
msgid "Congo, Democratic Republic of the"
msgstr "Kongon tasavalta"
-#: ../rules/base.xml.in.h:176
+#: ../rules/base.xml.in.h:178
msgid "Control + Alt + Backspace"
msgstr "Control + Alt + Backspace"
-#: ../rules/base.xml.in.h:177
+#: ../rules/base.xml.in.h:179
msgid "Control is mapped to Alt keys, Alt is mapped to Win keys"
msgstr "Contol on liitetty Alt-näppäimiin, Alt Win-näppäimiin"
-#: ../rules/base.xml.in.h:178
+#: ../rules/base.xml.in.h:180
msgid "Control is mapped to Win keys (and the usual Ctrl keys)"
msgstr "Contol on liitetty Win-näppäimiin (ja tavalliset Ctrl-näppämet)"
-#: ../rules/base.xml.in.h:179
+#: ../rules/base.xml.in.h:181
msgid "Creative Desktop Wireless 7000"
msgstr "Creative Desktop Wireless 7000"
-#: ../rules/base.xml.in.h:180
+#: ../rules/base.xml.in.h:182
msgid "Crimean Tatar (Dobruca-1 Q)"
msgstr "Krimintataari (Dobruca-1 Q)"
-#: ../rules/base.xml.in.h:181
+#: ../rules/base.xml.in.h:183
msgid "Crimean Tatar (Dobruca-2 Q)"
msgstr "Krimintataari (Dobruca-2 Q)"
-#: ../rules/base.xml.in.h:182
+#: ../rules/base.xml.in.h:184
msgid "Crimean Tatar (Turkish Alt-Q)"
msgstr "Krimintataari (turkkilainen Alt-Q)"
-#: ../rules/base.xml.in.h:183
+#: ../rules/base.xml.in.h:185
msgid "Crimean Tatar (Turkish F)"
msgstr "Krimintataari (turkkilainen F)"
-#: ../rules/base.xml.in.h:184
+#: ../rules/base.xml.in.h:186
msgid "Crimean Tatar (Turkish Q)"
msgstr "Krimintataari (turkkilainen Q)"
-#: ../rules/base.xml.in.h:185
+#: ../rules/base.xml.in.h:187
msgid "Croatia"
msgstr "Kroatia"
-#: ../rules/base.xml.in.h:186
+#: ../rules/base.xml.in.h:188
msgid "Ctrl key position"
msgstr "Ctrl-näppäimen sijainti"
-#: ../rules/base.xml.in.h:187
+#: ../rules/base.xml.in.h:189
msgid "Ctrl+Shift"
msgstr "Ctrl+Shift"
-#: ../rules/base.xml.in.h:188
+#: ../rules/base.xml.in.h:190
msgid "Cyrillic"
msgstr "Kyrillinen"
-#: ../rules/base.xml.in.h:189
+#: ../rules/base.xml.in.h:191
msgid "Cyrillic with guillemets"
msgstr "Kyrillinen guillemot-lainausmerkeillä"
-#: ../rules/base.xml.in.h:190
+#: ../rules/base.xml.in.h:192
msgid "Cyrillic, Z and ZHE swapped"
msgstr "Kyrillinen, Z ja ZHE vaihdettu"
-#: ../rules/base.xml.in.h:191
+#: ../rules/base.xml.in.h:193
msgid "Cze"
msgstr "Cze"
-#: ../rules/base.xml.in.h:192
+#: ../rules/base.xml.in.h:194
msgid "Czechia"
msgstr "Tšekki"
-#: ../rules/base.xml.in.h:193
+#: ../rules/base.xml.in.h:195
msgid "DOS"
msgstr "DOS"
-#: ../rules/base.xml.in.h:194
+#: ../rules/base.xml.in.h:196
msgid "DTK2000"
msgstr "DTK2000"
-#: ../rules/base.xml.in.h:195
+#: ../rules/base.xml.in.h:197
msgid "Dead acute"
msgstr "Kuollut akuutti"
-#: ../rules/base.xml.in.h:196
+#: ../rules/base.xml.in.h:198
msgid "Dead grave acute"
msgstr "Kuollut gravis"
-#: ../rules/base.xml.in.h:197
+#: ../rules/base.xml.in.h:199
msgid "Default numeric keypad keys"
msgstr "Oletussormionäppäimet"
-#: ../rules/base.xml.in.h:198
+#: ../rules/base.xml.in.h:200
msgid "Dell"
msgstr "Dell"
-#: ../rules/base.xml.in.h:199
+#: ../rules/base.xml.in.h:201
msgid "Dell 101-key PC"
msgstr "Dell 101-näppäiminen PC"
-#: ../rules/base.xml.in.h:200
+#: ../rules/base.xml.in.h:202
msgid "Dell Laptop/notebook Inspiron 6xxx/8xxx"
msgstr "Kannettava Dell Inspiron 6xxx/8xxx"
-#: ../rules/base.xml.in.h:201
+#: ../rules/base.xml.in.h:203
msgid "Dell Laptop/notebook Precision M series"
msgstr "Kannettava Dell Precision M -sarja"
-#: ../rules/base.xml.in.h:202
+#: ../rules/base.xml.in.h:204
msgid "Dell Latitude series laptop"
msgstr "Kannettava Dell Latitude-sarja"
-#: ../rules/base.xml.in.h:203
+#: ../rules/base.xml.in.h:205
msgid "Dell Precision M65"
msgstr "Dell Precision M65"
-#: ../rules/base.xml.in.h:204
+#: ../rules/base.xml.in.h:206
msgid "Dell SK-8125"
msgstr "Dell SK-8125"
-#: ../rules/base.xml.in.h:205
+#: ../rules/base.xml.in.h:207
msgid "Dell SK-8135"
msgstr "Dell SK-8135"
-#: ../rules/base.xml.in.h:206
+#: ../rules/base.xml.in.h:208
msgid "Dell USB Multimedia Keyboard"
msgstr "Dell USB -multimedianäppäimistö"
-#: ../rules/base.xml.in.h:207
+#: ../rules/base.xml.in.h:209
msgid "Denmark"
msgstr "Tanska"
-#: ../rules/base.xml.in.h:208
+#: ../rules/base.xml.in.h:210
msgid "Deu"
msgstr "Deu"
-#: ../rules/base.xml.in.h:209
+#: ../rules/base.xml.in.h:211
msgid "Dexxa Wireless Desktop Keyboard"
msgstr "Dexxa-langaton työpöytänäppäimistö"
-#: ../rules/base.xml.in.h:210
+#: ../rules/base.xml.in.h:212
msgid "Diamond 9801 / 9802 series"
msgstr "Diamond 9801/9802-sarja"
-#: ../rules/base.xml.in.h:211
+#: ../rules/base.xml.in.h:213
msgid "Dnk"
msgstr "Dnk"
-#: ../rules/base.xml.in.h:212
+#: ../rules/base.xml.in.h:214
msgid "Dvorak"
msgstr "Dvorak"
-#: ../rules/base.xml.in.h:213
+#: ../rules/base.xml.in.h:215
msgid "Dvorak (UK Punctuation)"
msgstr "Dvorak (UK-pilkutus)"
-#: ../rules/base.xml.in.h:214
+#: ../rules/base.xml.in.h:216
msgid "Dvorak alternative international (no dead keys)"
msgstr "Dvorak vaihtoehtoinen kansainvälinen (ei kuolleita näppäimiä)"
-#: ../rules/base.xml.in.h:215
+#: ../rules/base.xml.in.h:217
msgid "Dvorak international (with dead keys)"
msgstr "Dvorak kansainvälinen (kuolleilla näppäimillä)"
-#: ../rules/base.xml.in.h:216
+#: ../rules/base.xml.in.h:218
msgid "Dvorak, Polish quotes on key 1"
msgstr "Dvorak, puolalaiset lainausmerkit ”1”-näppäimistä"
-#: ../rules/base.xml.in.h:217
+#: ../rules/base.xml.in.h:219
msgid "Dvorak, Polish quotes on quotemark key"
msgstr "Dvorak, puolalaiset lainausmerkit lainausmerkkinäppäimestä"
-#: ../rules/base.xml.in.h:218
+#: ../rules/base.xml.in.h:220
msgid "E"
msgstr "E"
-#: ../rules/base.xml.in.h:219
+#: ../rules/base.xml.in.h:221
msgid "Eastern"
msgstr "Itäinen"
-#: ../rules/base.xml.in.h:220
+#: ../rules/base.xml.in.h:222
msgid "Eliminate dead keys"
msgstr "Ei kuolleita näppäimiä"
-#: ../rules/base.xml.in.h:221
+#: ../rules/base.xml.in.h:223
msgid "Enable extra typographic characters"
msgstr "Ota käyttöön ylimääräiset typografiset merkit"
-#: ../rules/base.xml.in.h:222
+#: ../rules/base.xml.in.h:224
msgid "English"
msgstr "englanti"
-#: ../rules/base.xml.in.h:223
+#: ../rules/base.xml.in.h:225
msgid "English (USA International)"
msgstr "Englantilainen (USA kansainvälinen)"
-#: ../rules/base.xml.in.h:224
+#: ../rules/base.xml.in.h:226
msgid "English (USA Macintosh)"
msgstr "Englantilainen (USA Macintosh)"
-#: ../rules/base.xml.in.h:225
+#: ../rules/base.xml.in.h:227
msgid "Ennyah DKB-1008"
msgstr "Ennyah DKB-1008"
-#: ../rules/base.xml.in.h:226
+#: ../rules/base.xml.in.h:228
msgid "Enter on keypad"
msgstr "Enter sormiossa"
-#: ../rules/base.xml.in.h:227
+#: ../rules/base.xml.in.h:229
msgid "Epo"
msgstr "Epo"
-#: ../rules/base.xml.in.h:228
+#: ../rules/base.xml.in.h:230
msgid "Ergonomic"
msgstr "ergonominen"
-#: ../rules/base.xml.in.h:229
+#: ../rules/base.xml.in.h:231
msgid "Esp"
msgstr "Esp"
-#: ../rules/base.xml.in.h:230
+#: ../rules/base.xml.in.h:232
msgid "Esperanto"
msgstr "Esperanto"
-#: ../rules/base.xml.in.h:231
+#: ../rules/base.xml.in.h:233
msgid "Est"
msgstr "Est"
-#: ../rules/base.xml.in.h:232
+#: ../rules/base.xml.in.h:234
msgid "Estonia"
msgstr "Viro"
-#: ../rules/base.xml.in.h:233
+#: ../rules/base.xml.in.h:235
msgid "Eth"
msgstr "Eth"
-#: ../rules/base.xml.in.h:234
+#: ../rules/base.xml.in.h:236
msgid "Ethiopia"
msgstr "Etiopia"
-#: ../rules/base.xml.in.h:235
+#: ../rules/base.xml.in.h:237
msgid "Everex STEPnote"
msgstr "Everex STEPnote"
-#: ../rules/base.xml.in.h:236
+#: ../rules/base.xml.in.h:238
msgid "Ewe"
msgstr "Ewe"
-#: ../rules/base.xml.in.h:237
+#: ../rules/base.xml.in.h:239
msgid "Extended"
msgstr "Laajennettu"
-#: ../rules/base.xml.in.h:238
+#: ../rules/base.xml.in.h:240
msgid "Extended - Winkeys"
msgstr "Laajennettu - Win-näppäimet"
-#: ../rules/base.xml.in.h:239
+#: ../rules/base.xml.in.h:241
msgid "Extended Backslash"
msgstr "Laajennettu kenoviiva"
-#: ../rules/base.xml.in.h:240
+#: ../rules/base.xml.in.h:242
msgid "F-letter (F) variant"
msgstr "F-kirjainmuunnos (F)"
-#: ../rules/base.xml.in.h:241
+#: ../rules/base.xml.in.h:243
msgid "FL90"
msgstr "FL90"
-#: ../rules/base.xml.in.h:242
+#: ../rules/base.xml.in.h:244
msgid "Faroe Islands"
msgstr "Färsaaret"
-#: ../rules/base.xml.in.h:243
+#: ../rules/base.xml.in.h:245
msgid "Fin"
msgstr "Fin"
-#: ../rules/base.xml.in.h:244
+#: ../rules/base.xml.in.h:246
msgid "Finland"
msgstr "Suomi"
#. This assumes the KP_ abstract symbols are actually useful for some apps
#. The description needs to be rewritten
-#: ../rules/base.xml.in.h:247
+#: ../rules/base.xml.in.h:249
msgid "Four-level key with abstract separators"
msgstr "Neljännen tason näppäin abstrakteilla erottimilla"
-#: ../rules/base.xml.in.h:248
+#: ../rules/base.xml.in.h:250
msgid "Four-level key with comma"
msgstr "Neljännen tason näppäin pilkulla"
-#: ../rules/base.xml.in.h:249
+#: ../rules/base.xml.in.h:251
msgid "Four-level key with dot"
msgstr "Neljännen tason näppäin pisteellä"
-#: ../rules/base.xml.in.h:250
+#: ../rules/base.xml.in.h:252
msgid "Four-level key with dot, latin-9 restriction"
msgstr "Neljännen tason näppäin pisteellä, latin-9-rajoituksella"
# Wikipediasta katsoin, että momayyez on persialainen desimaalierotin, joka näyttää kauttaviivalta
-#: ../rules/base.xml.in.h:251
+#: ../rules/base.xml.in.h:253
msgid "Four-level key with momayyez"
msgstr "Neljännen tason näppäin persialaisella desimaalierottimella (momayyez)"
-#: ../rules/base.xml.in.h:252
+#: ../rules/base.xml.in.h:254
msgid "Fra"
msgstr "Fra"
-#: ../rules/base.xml.in.h:253
+#: ../rules/base.xml.in.h:255
msgid "France"
msgstr "Ranska"
-#: ../rules/base.xml.in.h:254
+#: ../rules/base.xml.in.h:256
msgid "Français (France Alternative)"
msgstr "Ranskalainen (Ranska vaihtoehtoinen)"
-#: ../rules/base.xml.in.h:255
+#: ../rules/base.xml.in.h:257
msgid "French"
msgstr "Ranskalainen"
-#: ../rules/base.xml.in.h:256
+#: ../rules/base.xml.in.h:258
msgid "French (Macintosh)"
msgstr "Ranskalainen (Macintosh)"
-#: ../rules/base.xml.in.h:257
+#: ../rules/base.xml.in.h:259
msgid "French (legacy)"
msgstr "Ranskalainen (vanha)"
-#: ../rules/base.xml.in.h:258
+#: ../rules/base.xml.in.h:260
msgid "French Dvorak"
msgstr "Ranskalainen dvorak"
-#: ../rules/base.xml.in.h:259
+#: ../rules/base.xml.in.h:261
msgid "French, Sun dead keys"
msgstr "Ranskalainen, Sunin kuolleet näppäimet"
-#: ../rules/base.xml.in.h:260
+#: ../rules/base.xml.in.h:262
msgid "French, eliminate dead keys"
msgstr "Ranskalainen, ei kuolleita näppäimiä"
-#: ../rules/base.xml.in.h:261
+#: ../rules/base.xml.in.h:263
msgid "Fro"
msgstr "Fro"
-#: ../rules/base.xml.in.h:262
+#: ../rules/base.xml.in.h:264
msgid "Fujitsu-Siemens Computers AMILO laptop"
msgstr "Fujitsu-Siemens Computers AMILO-kannettava"
-#: ../rules/base.xml.in.h:263
+#: ../rules/base.xml.in.h:265
msgid "Fula"
msgstr "Fula"
-#: ../rules/base.xml.in.h:264
+#: ../rules/base.xml.in.h:266
msgid "GBr"
msgstr "GBr"
-#: ../rules/base.xml.in.h:265
+#: ../rules/base.xml.in.h:267
msgid "GILLBT"
msgstr "GILLBT"
-#: ../rules/base.xml.in.h:266
+#: ../rules/base.xml.in.h:268
msgid "Ga"
msgstr "Ga"
-#: ../rules/base.xml.in.h:267
+#: ../rules/base.xml.in.h:269
msgid "Generic 101-key PC"
msgstr "Yleinen 101-näppäiminen PC"
-#: ../rules/base.xml.in.h:268
+#: ../rules/base.xml.in.h:270
msgid "Generic 102-key (Intl) PC"
msgstr "Yleinen 102-näppäiminen (kansainvälinen) PC"
-#: ../rules/base.xml.in.h:269
+#: ../rules/base.xml.in.h:271
msgid "Generic 104-key PC"
msgstr "Yleinen 104-näppäiminen PC"
-#: ../rules/base.xml.in.h:270
+#: ../rules/base.xml.in.h:272
msgid "Generic 105-key (Intl) PC"
msgstr "Yleinen 105-näppäiminen (kansainvälinen) PC"
-#: ../rules/base.xml.in.h:271
+#: ../rules/base.xml.in.h:273
msgid "Genius Comfy KB-12e"
msgstr "Genius Comfy KB-21e"
-#: ../rules/base.xml.in.h:272
+#: ../rules/base.xml.in.h:274
msgid "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
msgstr "Genius Comfy KB-16M / Genius MM-näppäimistö KWD-910"
-#: ../rules/base.xml.in.h:273
+#: ../rules/base.xml.in.h:275
msgid "Genius Comfy KB-21e-Scroll"
msgstr "Genius Comfy KB-21e-rulla"
-#: ../rules/base.xml.in.h:274
+#: ../rules/base.xml.in.h:276
msgid "Genius KB-19e NB"
msgstr "Genius KB-19e NB"
-#: ../rules/base.xml.in.h:275
+#: ../rules/base.xml.in.h:277
msgid "Genius KKB-2050HS"
msgstr "Genius KKB-2050HS"
-#: ../rules/base.xml.in.h:276
+#: ../rules/base.xml.in.h:278
msgid "Geo"
msgstr "Geo"
-#: ../rules/base.xml.in.h:277
+#: ../rules/base.xml.in.h:279
msgid "Georgia"
msgstr "Georgia"
-#: ../rules/base.xml.in.h:278
+#: ../rules/base.xml.in.h:280
msgid "Georgian"
msgstr "Georgia"
-#: ../rules/base.xml.in.h:279
+#: ../rules/base.xml.in.h:281
msgid "Georgian AZERTY Tskapo"
msgstr "Georgian AZERTY Tskapo"
-#: ../rules/base.xml.in.h:280
+#: ../rules/base.xml.in.h:282
msgid "German (Macintosh)"
msgstr "Saksalainen (Macintosh)"
-#: ../rules/base.xml.in.h:281
+#: ../rules/base.xml.in.h:283
msgid "German, Sun dead keys"
msgstr "Saksalainen, Sunin kuolleet näppäimet"
-#: ../rules/base.xml.in.h:282
+#: ../rules/base.xml.in.h:284
msgid "German, eliminate dead keys"
msgstr "Saksalainen, ei kuolleita näppäimiä"
-#: ../rules/base.xml.in.h:283
+#: ../rules/base.xml.in.h:285
msgid "Germany"
msgstr "Saksa"
-#: ../rules/base.xml.in.h:284
+#: ../rules/base.xml.in.h:286
msgid "Gha"
msgstr "Gha"
-#: ../rules/base.xml.in.h:285
+#: ../rules/base.xml.in.h:287
msgid "Ghana"
msgstr "Ghana"
-#: ../rules/base.xml.in.h:286
+#: ../rules/base.xml.in.h:288
msgid "Gin"
msgstr "Gin"
-#: ../rules/base.xml.in.h:287
+#: ../rules/base.xml.in.h:289
msgid "Grc"
msgstr "Grc"
-#: ../rules/base.xml.in.h:288
+#: ../rules/base.xml.in.h:290
msgid "Greece"
msgstr "Kreikka"
-#: ../rules/base.xml.in.h:289
+#: ../rules/base.xml.in.h:291
msgid "Guinea"
msgstr "Guinea"
-#: ../rules/base.xml.in.h:290
+#: ../rules/base.xml.in.h:292
msgid "Gujarati"
msgstr "Gujarati"
-#: ../rules/base.xml.in.h:291
+#: ../rules/base.xml.in.h:293
msgid "Gurmukhi"
msgstr "Gurmukhi"
-#: ../rules/base.xml.in.h:292
+#: ../rules/base.xml.in.h:294
msgid "Gurmukhi Jhelum"
msgstr "Gurmukhi Jhelum"
# Lienee tuotemerkki
-#: ../rules/base.xml.in.h:293
+#: ../rules/base.xml.in.h:295
msgid "Gyration"
msgstr "Gyration"
-#: ../rules/base.xml.in.h:294
+#: ../rules/base.xml.in.h:296
msgid "Happy Hacking Keyboard"
msgstr "Happy Hacking -näppäimistö"
-#: ../rules/base.xml.in.h:295
+#: ../rules/base.xml.in.h:297
msgid "Happy Hacking Keyboard for Mac"
msgstr "Happy Hacking -näppäimistö, Mac-versio"
-#: ../rules/base.xml.in.h:296
+#: ../rules/base.xml.in.h:298
msgid "Hausa"
msgstr "Hausa"
-#: ../rules/base.xml.in.h:297
+#: ../rules/base.xml.in.h:299
msgid "Hewlett-Packard Internet Keyboard"
msgstr "Hewlett-Packard-Internet-näppäimistö"
-#: ../rules/base.xml.in.h:298
+#: ../rules/base.xml.in.h:300
msgid "Hewlett-Packard Mini 110 Notebook"
msgstr "Hewlett-Packard Mini 110 Notebook"
-#: ../rules/base.xml.in.h:299
+#: ../rules/base.xml.in.h:301
msgid "Hewlett-Packard Omnibook 500 FA"
msgstr "Hewlett-Packard Omnibook 500 FA"
-#: ../rules/base.xml.in.h:300
+#: ../rules/base.xml.in.h:302
msgid "Hewlett-Packard Omnibook 5xx"
msgstr "Hewlett-Packard Omnibook 5xx"
-#: ../rules/base.xml.in.h:301
+#: ../rules/base.xml.in.h:303
msgid "Hewlett-Packard Omnibook 6000/6100"
msgstr "Hewlett-Packard Omnibook 6000/6100"
-#: ../rules/base.xml.in.h:302
+#: ../rules/base.xml.in.h:304
msgid "Hewlett-Packard Omnibook XE3 GC"
msgstr "Hewlett-Packard Omnibook XE3 GC"
-#: ../rules/base.xml.in.h:303
+#: ../rules/base.xml.in.h:305
msgid "Hewlett-Packard Omnibook XE3 GF"
msgstr "Hewlett-Packard Omnibook XE3 GF"
-#: ../rules/base.xml.in.h:304
+#: ../rules/base.xml.in.h:306
msgid "Hewlett-Packard Omnibook XT1000"
msgstr "Hewlett-Packard Omnibook XT1000"
-#: ../rules/base.xml.in.h:305
+#: ../rules/base.xml.in.h:307
msgid "Hewlett-Packard Pavilion ZT11xx"
msgstr "Hewlett-Packard Pavilion ZT11xx"
-#: ../rules/base.xml.in.h:306
+#: ../rules/base.xml.in.h:308
msgid "Hewlett-Packard Pavilion dv5"
msgstr "Hewlett-Packard Pavilion dv5"
-#: ../rules/base.xml.in.h:307
+#: ../rules/base.xml.in.h:309
msgid "Hewlett-Packard SK-250x Multimedia Keyboard"
msgstr "Hewlett-Packard SK-250x-multimedianäppäimistö"
-#: ../rules/base.xml.in.h:308
+#: ../rules/base.xml.in.h:310
msgid "Hewlett-Packard nx9020"
msgstr "Hewlett-Packard nx9020"
-#: ../rules/base.xml.in.h:309
+#: ../rules/base.xml.in.h:311
msgid "Hexadecimal"
msgstr "Heksadesimaali"
-#: ../rules/base.xml.in.h:310
+#: ../rules/base.xml.in.h:312
msgid "Hindi Bolnagri"
msgstr "Hindi Bolnagri"
-#: ../rules/base.xml.in.h:311
+#: ../rules/base.xml.in.h:313
msgid "Hindi Wx"
msgstr "Hindi Wx"
-#: ../rules/base.xml.in.h:312
+#: ../rules/base.xml.in.h:314
msgid "Homophonic"
msgstr "Homofoninen"
-#: ../rules/base.xml.in.h:313
+#: ../rules/base.xml.in.h:315
msgid "Honeywell Euroboard"
msgstr "Honeywell Euroboard"
-#: ../rules/base.xml.in.h:314
+#: ../rules/base.xml.in.h:316
msgid "Hrv"
msgstr "Hrv"
-#: ../rules/base.xml.in.h:315
+#: ../rules/base.xml.in.h:317
msgid "Hun"
msgstr "Hun"
-#: ../rules/base.xml.in.h:316
+#: ../rules/base.xml.in.h:318
msgid "Hungary"
msgstr "Unkari"
-#: ../rules/base.xml.in.h:317
+#: ../rules/base.xml.in.h:319
msgid "Hyper is mapped to Win-keys"
msgstr "Hyper tulee Win-näppäimistä"
-#: ../rules/base.xml.in.h:318
+#: ../rules/base.xml.in.h:320
msgid "IBM (LST 1205-92)"
msgstr "IMB (LST 1205-92)"
-#: ../rules/base.xml.in.h:319
+#: ../rules/base.xml.in.h:321
msgid "IBM Rapid Access"
msgstr "IBM Rapid Access"
-#: ../rules/base.xml.in.h:320
+#: ../rules/base.xml.in.h:322
msgid "IBM Rapid Access II"
msgstr "IBM Rapid Access II"
-#: ../rules/base.xml.in.h:321
+#: ../rules/base.xml.in.h:323
msgid "IBM Space Saver"
msgstr "IBM Space Saver"
-#: ../rules/base.xml.in.h:322
+#: ../rules/base.xml.in.h:324
msgid "IBM ThinkPad 560Z/600/600E/A22E"
msgstr "IBM ThinkPad 560Z/600/600E/A22E"
-#: ../rules/base.xml.in.h:323
+#: ../rules/base.xml.in.h:325
msgid "IBM ThinkPad R60/T60/R61/T61"
msgstr "IBM ThinkPad R60/T60/R61/T61"
-#: ../rules/base.xml.in.h:324
+#: ../rules/base.xml.in.h:326
msgid "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
msgstr "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
-#: ../rules/base.xml.in.h:325
+#: ../rules/base.xml.in.h:327
msgid "ISO Alternate"
msgstr "ISO vaihtoehtoinen"
-#: ../rules/base.xml.in.h:326
+#: ../rules/base.xml.in.h:328
msgid "Iceland"
msgstr "Islanti"
-#: ../rules/base.xml.in.h:327
+#: ../rules/base.xml.in.h:329
msgid "Igbo"
msgstr "Igbo"
-#: ../rules/base.xml.in.h:328
+#: ../rules/base.xml.in.h:330
msgid "Include dead tilde"
msgstr "Sisällytä kuollut tilde"
-#: ../rules/base.xml.in.h:329
+#: ../rules/base.xml.in.h:331
msgid "Ind"
msgstr "Ind"
-#: ../rules/base.xml.in.h:330
+#: ../rules/base.xml.in.h:332
msgid "India"
msgstr "Intia"
-#: ../rules/base.xml.in.h:331
+#: ../rules/base.xml.in.h:333
msgid "International (AltGr dead keys)"
msgstr "Kansainvälinen (AltGr -kuolleet näppäimet)"
-#: ../rules/base.xml.in.h:332
+#: ../rules/base.xml.in.h:334
msgid "International (with dead keys)"
msgstr "Kansainvälinen (ilman kuolleita näppäimiä)"
-#: ../rules/base.xml.in.h:333
+#: ../rules/base.xml.in.h:335
msgid "Inuktitut"
msgstr "Inuktitut"
-#: ../rules/base.xml.in.h:334
+#: ../rules/base.xml.in.h:336 ../rules/base.extras.xml.in.h:8
msgid "Iran"
msgstr "Iran"
-#: ../rules/base.xml.in.h:335
+#: ../rules/base.xml.in.h:337
msgid "Iraq"
msgstr "Irak"
-#: ../rules/base.xml.in.h:336
+#: ../rules/base.xml.in.h:338
msgid "Ireland"
msgstr "Irlanti"
-#: ../rules/base.xml.in.h:337
+#: ../rules/base.xml.in.h:339
msgid "Irl"
msgstr "Irl"
-#: ../rules/base.xml.in.h:338
+#: ../rules/base.xml.in.h:340
msgid "Irn"
msgstr "Irn"
-#: ../rules/base.xml.in.h:339
+#: ../rules/base.xml.in.h:341
msgid "Irq"
msgstr "Irq"
-#: ../rules/base.xml.in.h:340
+#: ../rules/base.xml.in.h:342
msgid "Isl"
msgstr "Isl"
-#: ../rules/base.xml.in.h:341
+#: ../rules/base.xml.in.h:343
msgid "Isr"
msgstr "Isr"
-#: ../rules/base.xml.in.h:342
+#: ../rules/base.xml.in.h:344
msgid "Israel"
msgstr "Israel"
-#: ../rules/base.xml.in.h:343
+#: ../rules/base.xml.in.h:345
msgid "Ita"
msgstr "Ita"
-#: ../rules/base.xml.in.h:344
+#: ../rules/base.xml.in.h:346
msgid "Italy"
msgstr "Italia"
-#: ../rules/base.xml.in.h:345
+#: ../rules/base.xml.in.h:347
msgid "Japan"
msgstr "Japani"
-#: ../rules/base.xml.in.h:346
+#: ../rules/base.xml.in.h:348
msgid "Japan (PC-98xx Series)"
msgstr "Japani (PC-98xx-sarja)"
-#: ../rules/base.xml.in.h:347
+#: ../rules/base.xml.in.h:349
msgid "Japanese keyboard options"
msgstr "japanilaisen näppäimistön valinnat"
-#: ../rules/base.xml.in.h:348
+#: ../rules/base.xml.in.h:350
msgid "Jpn"
msgstr "Jpn"
-#: ../rules/base.xml.in.h:349
+#: ../rules/base.xml.in.h:351
msgid "Kalmyk"
msgstr "kalmukki"
-#: ../rules/base.xml.in.h:350
+#: ../rules/base.xml.in.h:352
msgid "Kana"
msgstr "Kana"
-#: ../rules/base.xml.in.h:351
+#: ../rules/base.xml.in.h:353
msgid "Kana Lock key is locking"
msgstr "Kana, lukitusnäppäin lukitseva"
-#: ../rules/base.xml.in.h:352
+#: ../rules/base.xml.in.h:354
msgid "Kannada"
msgstr "Kannada"
-#: ../rules/base.xml.in.h:353
+#: ../rules/base.xml.in.h:355
msgid "Kashubian"
msgstr "Kashubia"
-#: ../rules/base.xml.in.h:354
+#: ../rules/base.xml.in.h:356
msgid "Kaz"
msgstr "Kaz"
-#: ../rules/base.xml.in.h:355
+#: ../rules/base.xml.in.h:357
msgid "Kazakh with Russian"
msgstr "Kazakstan venäjän kanssa"
-#: ../rules/base.xml.in.h:356
+#: ../rules/base.xml.in.h:358
msgid "Kazakhstan"
msgstr "Kazakstan"
-#: ../rules/base.xml.in.h:357
+#: ../rules/base.xml.in.h:359
msgid "Ken"
msgstr "Ken"
-#: ../rules/base.xml.in.h:358
+#: ../rules/base.xml.in.h:360
msgid "Kenya"
msgstr "Kenia"
-#: ../rules/base.xml.in.h:359
+#: ../rules/base.xml.in.h:361
msgid "Key sequence to kill the X server"
msgstr "Näppäinyhdistelmä, joka tappaa X-palvelimen"
-#: ../rules/base.xml.in.h:360
+#: ../rules/base.xml.in.h:362
msgid "Key to choose 3rd level"
msgstr "Kolmannen tason valintanäppäin"
-#: ../rules/base.xml.in.h:361
+#: ../rules/base.xml.in.h:363
msgid "Key to choose 5th level"
msgstr "Viidennen tason valintanäppäin"
-#: ../rules/base.xml.in.h:362
+#: ../rules/base.xml.in.h:364
msgid "Key(s) to change layout"
msgstr "Asettelunvaihtonäppäimet"
-#: ../rules/base.xml.in.h:363
+#: ../rules/base.xml.in.h:365
msgid "Keytronic FlexPro"
msgstr "Keytronic FlexPro"
-#: ../rules/base.xml.in.h:364
+#: ../rules/base.xml.in.h:366
msgid "Kgz"
msgstr "Kgz"
-#: ../rules/base.xml.in.h:365
+#: ../rules/base.xml.in.h:367
msgid "Khm"
msgstr "Khm"
-#: ../rules/base.xml.in.h:366
+#: ../rules/base.xml.in.h:368
msgid "Kikuyu"
msgstr "Kikuju"
-#: ../rules/base.xml.in.h:367
+#: ../rules/base.xml.in.h:369
+msgid "Kinesis"
+msgstr "Kinesis"
+
+#: ../rules/base.xml.in.h:370
msgid "Komi"
msgstr "Komi"
-#: ../rules/base.xml.in.h:368
+#: ../rules/base.xml.in.h:371
msgid "Kor"
msgstr "Kor"
-#: ../rules/base.xml.in.h:369
+#: ../rules/base.xml.in.h:372
msgid "Korea, Republic of"
msgstr "Etelä-Korea"
-#: ../rules/base.xml.in.h:370
+#: ../rules/base.xml.in.h:373
msgid "Ktunaxa"
msgstr "Ktunaxa"
-#: ../rules/base.xml.in.h:371
+#: ../rules/base.xml.in.h:374
msgid "Kurdish, (F)"
msgstr "Kurdi, (F)"
-#: ../rules/base.xml.in.h:372
+#: ../rules/base.xml.in.h:375
msgid "Kurdish, Arabic-Latin"
msgstr "Kurdi, arabia-latinalainen"
-#: ../rules/base.xml.in.h:373
+#: ../rules/base.xml.in.h:376
msgid "Kurdish, Latin Alt-Q"
msgstr "Kurdi, latinalainen Alt-Q"
-#: ../rules/base.xml.in.h:374
+#: ../rules/base.xml.in.h:377
msgid "Kurdish, Latin Q"
msgstr "Kurdi, latinalainen Q"
-#: ../rules/base.xml.in.h:375
+#: ../rules/base.xml.in.h:378
msgid "Kyrgyzstan"
msgstr "Kirgisia"
-#: ../rules/base.xml.in.h:376
+#: ../rules/base.xml.in.h:379
msgid "LAm"
msgstr "LAm"
-#: ../rules/base.xml.in.h:377
+#: ../rules/base.xml.in.h:380
msgid "LEKP"
msgstr "LEKP"
-#: ../rules/base.xml.in.h:378
+#: ../rules/base.xml.in.h:381
msgid "LEKPa"
msgstr "LEKPa"
-#: ../rules/base.xml.in.h:379
+#: ../rules/base.xml.in.h:382
msgid "Lao"
msgstr "Lao"
-#: ../rules/base.xml.in.h:380
+#: ../rules/base.xml.in.h:383
msgid "Laos"
msgstr "Laos"
-#: ../rules/base.xml.in.h:381
+#: ../rules/base.xml.in.h:384
msgid "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard"
msgstr "Kannettava Compaq (esim. Armada) kannettavan näppäimistö "
-#: ../rules/base.xml.in.h:382
+#: ../rules/base.xml.in.h:385
msgid "Laptop/notebook Compaq (eg. Presario) Internet Keyboard"
msgstr "Kannettava Compaq (esim. Armada) Internet-näppäimistö "
-#: ../rules/base.xml.in.h:383
+#: ../rules/base.xml.in.h:386
msgid "Laptop/notebook eMachines m68xx"
msgstr "Kannettava eMachines m68xx"
-#: ../rules/base.xml.in.h:384
+#: ../rules/base.xml.in.h:387
msgid "Latin"
msgstr "Latinalainen"
-#: ../rules/base.xml.in.h:385
+#: ../rules/base.xml.in.h:388
msgid "Latin American"
msgstr "Latinalainen amerikka"
-#: ../rules/base.xml.in.h:386
+#: ../rules/base.xml.in.h:389
msgid "Latin Unicode"
msgstr "Latinalainen Unicode"
-#: ../rules/base.xml.in.h:387
+#: ../rules/base.xml.in.h:390
msgid "Latin Unicode qwerty"
msgstr "Latinalainen Unicode-qwerty"
-#: ../rules/base.xml.in.h:388
+#: ../rules/base.xml.in.h:391
msgid "Latin qwerty"
msgstr "Latinalainen qwerty"
-#: ../rules/base.xml.in.h:389
+#: ../rules/base.xml.in.h:392
msgid "Latin unicode"
msgstr "Latinalainen Unicode"
-#: ../rules/base.xml.in.h:390
+#: ../rules/base.xml.in.h:393
msgid "Latin unicode qwerty"
msgstr "Latinalainen Unicode-qwerty"
-#: ../rules/base.xml.in.h:391
+#: ../rules/base.xml.in.h:394
msgid "Latin with guillemets"
msgstr "Latinalainen guillemot-lainausmerkeillä"
-#: ../rules/base.xml.in.h:392
+#: ../rules/base.xml.in.h:395
msgid "Latvia"
msgstr "Latvia"
-#: ../rules/base.xml.in.h:393
+#: ../rules/base.xml.in.h:396
msgid "Layout toggle on multiply/divide key"
msgstr "Ryhmän vaihto kerto/jako-näppäimellä"
-#: ../rules/base.xml.in.h:394
+#: ../rules/base.xml.in.h:397
msgid "Left Alt"
msgstr "Vasen Alt"
-#: ../rules/base.xml.in.h:395
+#: ../rules/base.xml.in.h:398
msgid "Left Alt (while pressed)"
msgstr "Vasen Alt-näppäin (painettaessa)"
-#: ../rules/base.xml.in.h:396
+#: ../rules/base.xml.in.h:399
msgid "Left Alt is swapped with Left Win"
msgstr "Vaihda vasen Alt-näppän vasemman Win-näppäimen kanssa"
-#: ../rules/base.xml.in.h:397
+#: ../rules/base.xml.in.h:400
msgid "Left Ctrl"
msgstr "Vasen Ctrl"
-#: ../rules/base.xml.in.h:398
+#: ../rules/base.xml.in.h:401
msgid "Left Ctrl (to first layout), Right Ctrl (to last layout)"
msgstr "Vasen ctrl (ensimmäiselle asettelulle), Oikea Ctrl (viimeiselle asettelulle)"
-#: ../rules/base.xml.in.h:399
+#: ../rules/base.xml.in.h:402
msgid "Left Ctrl+Left Shift"
msgstr "Vasen Ctrl+Vasen Shift"
-#: ../rules/base.xml.in.h:400
+#: ../rules/base.xml.in.h:403
msgid "Left Shift"
msgstr "Vasen Shift"
-#: ../rules/base.xml.in.h:401
+#: ../rules/base.xml.in.h:404
msgid "Left Win"
msgstr "Vasen Win"
-#: ../rules/base.xml.in.h:402
+#: ../rules/base.xml.in.h:405
msgid "Left Win (to first layout), Right Win/Menu (to last layout)"
msgstr "Vasen Win (ensimmäiselle asettelulle), Oikea Win/valikko (viimeiselle asettelulle)"
-#: ../rules/base.xml.in.h:403
+#: ../rules/base.xml.in.h:406
msgid "Left Win (while pressed)"
msgstr "Vasen Win (painettaessa)"
-#: ../rules/base.xml.in.h:404
+#: ../rules/base.xml.in.h:407
msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "Vasen Win valitsee 5. tason, lukitsee kun painetaan yhdessä toisen 5. tason valitsimen kanssa"
-#: ../rules/base.xml.in.h:405
+#: ../rules/base.xml.in.h:408
msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "Vasen Win valitsee 5. tason, lukitsee kun painetaan yhdessä toisen 5. tason valitsimen kanssa, yksi painallus vapauttaa lukon"
-#: ../rules/base.xml.in.h:406
+#: ../rules/base.xml.in.h:409
msgid "Left hand"
msgstr "Vasenkätinen"
-#: ../rules/base.xml.in.h:407
+#: ../rules/base.xml.in.h:410
msgid "Left handed Dvorak"
msgstr "Vasenkätinen dvorak"
-#: ../rules/base.xml.in.h:408
+#: ../rules/base.xml.in.h:411
msgid "Legacy"
msgstr "Perinteinen"
-#: ../rules/base.xml.in.h:409
+#: ../rules/base.xml.in.h:412
msgid "Legacy Wang 724"
msgstr "Perinteinen Wang 724"
#. Actually, with KP_SEPARATOR, as the old keypad(comma)
-#: ../rules/base.xml.in.h:411
+#: ../rules/base.xml.in.h:414
msgid "Legacy key with comma"
msgstr "Perinteinen näppäin pilkulla"
-#: ../rules/base.xml.in.h:412
+#: ../rules/base.xml.in.h:415
msgid "Legacy key with dot"
msgstr "Perinteinen näppäin pisteellä"
-#: ../rules/base.xml.in.h:413
+#: ../rules/base.xml.in.h:416
msgid "Lithuania"
msgstr "Liettua"
-#: ../rules/base.xml.in.h:414
+#: ../rules/base.xml.in.h:417
msgid "Lka"
msgstr "Lka"
-#: ../rules/base.xml.in.h:415
+#: ../rules/base.xml.in.h:418
msgid "Logitech Access Keyboard"
msgstr "Logitech Access Keyboard"
-#: ../rules/base.xml.in.h:416
+#: ../rules/base.xml.in.h:419
msgid "Logitech Cordless Desktop"
msgstr "Logitech Cordless Desktop"
-#: ../rules/base.xml.in.h:417
+#: ../rules/base.xml.in.h:420
msgid "Logitech Cordless Desktop (alternate option)"
msgstr "Logitech Cordless Desktop (vaihtoehtoinen)"
-#: ../rules/base.xml.in.h:418
+#: ../rules/base.xml.in.h:421
msgid "Logitech Cordless Desktop EX110"
msgstr "Logitech Cordless Desktop EX110"
-#: ../rules/base.xml.in.h:419
+#: ../rules/base.xml.in.h:422
msgid "Logitech Cordless Desktop LX-300"
msgstr "Logitech Cordless Desktop LX-300"
-#: ../rules/base.xml.in.h:420
+#: ../rules/base.xml.in.h:423
msgid "Logitech Cordless Desktop Navigator"
msgstr "Logitech Cordless Desktop Navigator"
-#: ../rules/base.xml.in.h:421
+#: ../rules/base.xml.in.h:424
msgid "Logitech Cordless Desktop Optical"
msgstr "Logitech Cordless Desktop Optical"
-#: ../rules/base.xml.in.h:422
+#: ../rules/base.xml.in.h:425
msgid "Logitech Cordless Desktop Pro (alternate option 2)"
msgstr "Logitech Cordless Desktop Pro (vaihtoehtoinen 2)"
-#: ../rules/base.xml.in.h:423
+#: ../rules/base.xml.in.h:426
msgid "Logitech Cordless Desktop iTouch"
msgstr "Logitech Cordless Desktop iTouch"
-#: ../rules/base.xml.in.h:424
+#: ../rules/base.xml.in.h:427
msgid "Logitech Cordless Freedom/Desktop Navigator"
msgstr "Logitech Cordless Freedom/Desktop Navigator"
-#: ../rules/base.xml.in.h:425
+#: ../rules/base.xml.in.h:428
msgid "Logitech G15 extra keys via G15daemon"
msgstr "Logitech G15 -lisänäppäimet G15daemon-ohjelmasta"
-#: ../rules/base.xml.in.h:426
+#: ../rules/base.xml.in.h:429
msgid "Logitech Generic Keyboard"
msgstr "Logitech-yleisnäppäimistö"
-#: ../rules/base.xml.in.h:427
+#: ../rules/base.xml.in.h:430
msgid "Logitech Internet 350 Keyboard"
msgstr "Logitech Internet 350 -näppämistö"
-#: ../rules/base.xml.in.h:428
+#: ../rules/base.xml.in.h:431
msgid "Logitech Internet Keyboard"
msgstr "Logitech Internet -näppämistö"
-#: ../rules/base.xml.in.h:429
+#: ../rules/base.xml.in.h:432
msgid "Logitech Internet Navigator Keyboard"
msgstr "Logitech Internet Navigator -näppämistö"
-#: ../rules/base.xml.in.h:430
+#: ../rules/base.xml.in.h:433
msgid "Logitech Media Elite Keyboard"
msgstr "Logitech Media Elite -näppäimistö"
-#: ../rules/base.xml.in.h:431
+#: ../rules/base.xml.in.h:434
msgid "Logitech Ultra-X Cordless Media Desktop Keyboard"
msgstr "Logitech Ultra-X Cordless Media Desktop -näppäimistö"
-#: ../rules/base.xml.in.h:432
+#: ../rules/base.xml.in.h:435
msgid "Logitech Ultra-X Keyboard"
msgstr "Logitech Ultra-X-näppäimistö"
-#: ../rules/base.xml.in.h:433
+#: ../rules/base.xml.in.h:436
msgid "Logitech diNovo Edge Keyboard"
msgstr "Logitech diNovo Edge -näppäimistö"
-#: ../rules/base.xml.in.h:434
+#: ../rules/base.xml.in.h:437
msgid "Logitech diNovo Keyboard"
msgstr "Logitech diNovo-näppäimistö"
-#: ../rules/base.xml.in.h:435
+#: ../rules/base.xml.in.h:438
msgid "Logitech iTouch"
msgstr "Logitech iTouch"
-#: ../rules/base.xml.in.h:436
+#: ../rules/base.xml.in.h:439
msgid "Logitech iTouch Cordless Keyboard (model Y-RB6)"
msgstr "Logitech iTouch Cordless Keyboard (malli Y-RB6)"
-#: ../rules/base.xml.in.h:437
+#: ../rules/base.xml.in.h:440
msgid "Logitech iTouch Internet Navigator Keyboard SE"
msgstr "Logitech iTouch Internet Navigator Keyboard SE"
-#: ../rules/base.xml.in.h:438
+#: ../rules/base.xml.in.h:441
msgid "Logitech iTouch Internet Navigator Keyboard SE (USB)"
msgstr "Logitech iTouch Internet Navigator Keyboard SE (USB)"
-#: ../rules/base.xml.in.h:439
+#: ../rules/base.xml.in.h:442
msgid "Lower Sorbian"
msgstr "alasorbi"
-#: ../rules/base.xml.in.h:440
+#: ../rules/base.xml.in.h:443
msgid "Lower Sorbian (qwertz)"
msgstr "alasorbi (qwertz)"
-#: ../rules/base.xml.in.h:441
+#: ../rules/base.xml.in.h:444
msgid "Ltu"
msgstr "Ltu"
-#: ../rules/base.xml.in.h:442
+#: ../rules/base.xml.in.h:445
msgid "Lva"
msgstr "Lva"
-#: ../rules/base.xml.in.h:443
+#: ../rules/base.xml.in.h:446
msgid "MESS"
msgstr "MESS"
-#: ../rules/base.xml.in.h:444
+#: ../rules/base.xml.in.h:447
msgid "MNE"
msgstr "MNE"
-#: ../rules/base.xml.in.h:445
+#: ../rules/base.xml.in.h:448
msgid "MacBook/MacBook Pro"
msgstr "MacBook/MacBook Pro"
-#: ../rules/base.xml.in.h:446
+#: ../rules/base.xml.in.h:449
msgid "MacBook/MacBook Pro (Intl)"
msgstr "MacBook/MacBook Pro (kansainvälinen)"
-#: ../rules/base.xml.in.h:447
+#: ../rules/base.xml.in.h:450
msgid "Macedonia"
msgstr "Makedonia"
-#: ../rules/base.xml.in.h:448
+#: ../rules/base.xml.in.h:451
msgid "Macintosh"
msgstr "Macintosh"
-#: ../rules/base.xml.in.h:449
+#: ../rules/base.xml.in.h:452
+msgid "Macintosh (International)"
+msgstr "Macintosh (kansainvälinen)"
+
+#: ../rules/base.xml.in.h:453
msgid "Macintosh Old"
msgstr "Macintosh vanha"
-#: ../rules/base.xml.in.h:450
+#: ../rules/base.xml.in.h:454
msgid "Macintosh, Sun dead keys"
msgstr "Macintosh, Sunin kuolleet näppäimet"
-#: ../rules/base.xml.in.h:451
+#: ../rules/base.xml.in.h:455
msgid "Macintosh, eliminate dead keys"
msgstr "Macintosh, ei kuolleita näppäimiä"
-#: ../rules/base.xml.in.h:452
-msgid "Make CapsLock an additional Backspace"
-msgstr "Tee CapsLockista ylimääräinen askelpalautin"
+#: ../rules/base.xml.in.h:456
+msgid "Make Caps Lock an additional Backspace"
+msgstr "Tee Caps Lockista ylimääräinen askelpalautin"
-#: ../rules/base.xml.in.h:453
-msgid "Make CapsLock an additional Ctrl"
-msgstr "Tee CapsLockista ylimääräinen Ctrl"
+#: ../rules/base.xml.in.h:457
+msgid "Make Caps Lock an additional Ctrl"
+msgstr "Tee Caps Lockista ylimääräinen Ctrl"
-#: ../rules/base.xml.in.h:454
-msgid "Make CapsLock an additional ESC"
-msgstr "Tee CapsLockista ylimääräinen Esc"
+#: ../rules/base.xml.in.h:458
+msgid "Make Caps Lock an additional ESC"
+msgstr "Tee Caps Lockista ylimääräinen Esc"
-#: ../rules/base.xml.in.h:455
-msgid "Make CapsLock an additional Hyper"
-msgstr "Tee CapsLockista ylimääräinen Hyper"
+#: ../rules/base.xml.in.h:459
+msgid "Make Caps Lock an additional Hyper"
+msgstr "Tee Caps Lockista ylimääräinen Hyper"
-#: ../rules/base.xml.in.h:456
-msgid "Make CapsLock an additional NumLock"
-msgstr "Tee CapsLockista ylimääräinen NumLock"
+#: ../rules/base.xml.in.h:460
+msgid "Make Caps Lock an additional Num Lock"
+msgstr "Tee Caps Lockista ylimääräinen Num Lock"
-#: ../rules/base.xml.in.h:457
-msgid "Make CapsLock an additional Super"
-msgstr "Tee CapsLockista ylimääräinen Super"
+#: ../rules/base.xml.in.h:461
+msgid "Make Caps Lock an additional Super"
+msgstr "Tee Caps Lockista ylimääräinen Super"
-#: ../rules/base.xml.in.h:458
+#: ../rules/base.xml.in.h:462
msgid "Malayalam"
msgstr "Malayalam"
-#: ../rules/base.xml.in.h:459
+#: ../rules/base.xml.in.h:463
msgid "Malayalam Lalitha"
msgstr "Malayalam Lalitha"
-#: ../rules/base.xml.in.h:460
+#: ../rules/base.xml.in.h:464
msgid "Maldives"
msgstr "Malediivit"
-#: ../rules/base.xml.in.h:461
+#: ../rules/base.xml.in.h:465
msgid "Mali"
msgstr "Mali"
-#: ../rules/base.xml.in.h:462
+#: ../rules/base.xml.in.h:466
msgid "Malta"
msgstr "Malta"
-#: ../rules/base.xml.in.h:463
+#: ../rules/base.xml.in.h:467
msgid "Maltese keyboard with US layout"
msgstr "Maltalainen näppäimistö US-asettelulla"
-#: ../rules/base.xml.in.h:464
+#: ../rules/base.xml.in.h:468
msgid "Mao"
msgstr "Mao"
-#: ../rules/base.xml.in.h:465
+#: ../rules/base.xml.in.h:469
msgid "Maori"
msgstr "Maori"
-#: ../rules/base.xml.in.h:466
+#: ../rules/base.xml.in.h:470
msgid "Mdv"
msgstr "Mdv"
-#: ../rules/base.xml.in.h:467
+#: ../rules/base.xml.in.h:471
msgid "Memorex MX1998"
msgstr "Memorex MX1998"
-#: ../rules/base.xml.in.h:468
+#: ../rules/base.xml.in.h:472
msgid "Memorex MX2500 EZ-Access Keyboard"
msgstr "Memorex MX2500 EZ-Access-näppäimistö"
-#: ../rules/base.xml.in.h:469
+#: ../rules/base.xml.in.h:473
msgid "Memorex MX2750"
msgstr "Memorex MX2750"
-#: ../rules/base.xml.in.h:470
+#: ../rules/base.xml.in.h:474
msgid "Menu"
msgstr "Valikko"
-#: ../rules/base.xml.in.h:471
+#: ../rules/base.xml.in.h:475
msgid "Meta is mapped to Left Win"
msgstr "Meta tulee vasemmasta Win-näppäimestä"
-#: ../rules/base.xml.in.h:472
+#: ../rules/base.xml.in.h:476
msgid "Meta is mapped to Win keys"
msgstr "Meta tulee Win-näppäimistä"
-#: ../rules/base.xml.in.h:473
+#: ../rules/base.xml.in.h:477
msgid "Microsoft Comfort Curve Keyboard 2000"
msgstr "Microsoft Comfort Curve 2000 -näppäimistö"
-#: ../rules/base.xml.in.h:474
+#: ../rules/base.xml.in.h:478
msgid "Microsoft Internet Keyboard"
msgstr "Microsoft-Internet-näppäimistö"
-#: ../rules/base.xml.in.h:475
+#: ../rules/base.xml.in.h:479
msgid "Microsoft Internet Keyboard Pro, Swedish"
msgstr "Microsoft-Internet-näppäimistö Pro, ruotsalainen"
-#: ../rules/base.xml.in.h:476
+#: ../rules/base.xml.in.h:480
msgid "Microsoft Natural"
msgstr "Microsoft Natural"
-#: ../rules/base.xml.in.h:477
+#: ../rules/base.xml.in.h:481
msgid "Microsoft Natural Keyboard Elite"
msgstr "Microsoft Natural-näppäimistö Elite"
-#: ../rules/base.xml.in.h:478
+#: ../rules/base.xml.in.h:482
msgid "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
msgstr "Microsoft Natural-näppäimistö Pro / Microsoft-Internet-näppäimistö Pro"
-#: ../rules/base.xml.in.h:479
+#: ../rules/base.xml.in.h:483
msgid "Microsoft Natural Keyboard Pro OEM"
msgstr "Microsoft Natural-näppäimistö Pro OEM"
-#: ../rules/base.xml.in.h:480
+#: ../rules/base.xml.in.h:484
msgid "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
msgstr "Microsoft Natural-näppäimistö Pro USB / Microsoft-Internet-näppäimistö Pro"
-#: ../rules/base.xml.in.h:481
+#: ../rules/base.xml.in.h:485
msgid "Microsoft Natural Wireless Ergonomic Keyboard 7000"
msgstr "Microsoft Natural Wireless Ergonomic -näppäimistö 7000"
-#: ../rules/base.xml.in.h:482
+#: ../rules/base.xml.in.h:486
msgid "Microsoft Office Keyboard"
msgstr "Microsoft Office-näppäimistö"
-#: ../rules/base.xml.in.h:483
+#: ../rules/base.xml.in.h:487
msgid "Microsoft Wireless Multimedia Keyboard 1.0A"
msgstr "Microsoft-langaton multimedianäppämistö 1.0A"
-#: ../rules/base.xml.in.h:484
+#: ../rules/base.xml.in.h:488
msgid "Miscellaneous compatibility options"
msgstr "Sekalaisia yhteensopivuusvalintoja"
-#: ../rules/base.xml.in.h:485
+#: ../rules/base.xml.in.h:489
msgid "Mkd"
msgstr "Mkd"
-#: ../rules/base.xml.in.h:486
+#: ../rules/base.xml.in.h:490
msgid "Mli"
msgstr "Mli"
-#: ../rules/base.xml.in.h:487
+#: ../rules/base.xml.in.h:491
msgid "Mlt"
msgstr "Mlt"
-#: ../rules/base.xml.in.h:488
+#: ../rules/base.xml.in.h:492
msgid "Mmr"
msgstr "Mmr"
-#: ../rules/base.xml.in.h:489
+#: ../rules/base.xml.in.h:493
msgid "Mng"
msgstr "Mng"
-#: ../rules/base.xml.in.h:490
+#: ../rules/base.xml.in.h:494
msgid "Mongolia"
msgstr "Mongolia"
-#: ../rules/base.xml.in.h:491
+#: ../rules/base.xml.in.h:495
msgid "Montenegro"
msgstr "Montenegro"
-#: ../rules/base.xml.in.h:492
+#: ../rules/base.xml.in.h:496
msgid "Morocco"
msgstr "Marokko"
-#: ../rules/base.xml.in.h:493
+#: ../rules/base.xml.in.h:497
msgid "Multilingual"
msgstr "Monikielinen"
-#: ../rules/base.xml.in.h:494
+#: ../rules/base.xml.in.h:498
msgid "Multilingual, first part"
msgstr "Monikielinen, ensimmäinen osa"
-#: ../rules/base.xml.in.h:495
+#: ../rules/base.xml.in.h:499
msgid "Multilingual, second part"
msgstr "Monikielinen, toinen osa"
-#: ../rules/base.xml.in.h:496
+#: ../rules/base.xml.in.h:500
msgid "Myanmar"
msgstr "Myanmar"
-#: ../rules/base.xml.in.h:497
+#: ../rules/base.xml.in.h:501
msgid "NICOLA-F style Backspace"
msgstr "NICOLA-F-tyylin Backspace"
-#: ../rules/base.xml.in.h:498
+#: ../rules/base.xml.in.h:502
msgid "NLA"
msgstr "NLA"
-#: ../rules/base.xml.in.h:499
+#: ../rules/base.xml.in.h:503
msgid "Nativo"
msgstr "Nativo"
-#: ../rules/base.xml.in.h:500
+#: ../rules/base.xml.in.h:504
msgid "Nativo for Esperanto"
msgstr "Nativo esperantolle"
-#: ../rules/base.xml.in.h:501
+#: ../rules/base.xml.in.h:505
msgid "Nativo for USA keyboards"
msgstr "Nativo yhdysvaltalaisille näppäimistöille"
-#: ../rules/base.xml.in.h:502
+#: ../rules/base.xml.in.h:506
msgid "Neo 2"
msgstr "Neo 2"
-#: ../rules/base.xml.in.h:503
+#: ../rules/base.xml.in.h:507
msgid "Nepal"
msgstr "Nepal"
-#: ../rules/base.xml.in.h:504
+#: ../rules/base.xml.in.h:508
msgid "Netherlands"
msgstr "Alankomaat"
-#: ../rules/base.xml.in.h:505
+#: ../rules/base.xml.in.h:509
msgid "New phonetic"
msgstr "Uusi foneettinen"
-#: ../rules/base.xml.in.h:506
+#: ../rules/base.xml.in.h:510
msgid "Nga"
msgstr "Nga"
-#: ../rules/base.xml.in.h:507
+#: ../rules/base.xml.in.h:511
msgid "Nigeria"
msgstr "Nigeria"
-#: ../rules/base.xml.in.h:508
+#: ../rules/base.xml.in.h:512
msgid "Nld"
msgstr "Nld"
-#: ../rules/base.xml.in.h:509
+#: ../rules/base.xml.in.h:513
msgid "Non-breakable space character at fourth level"
msgstr "Sitova välilyöntimerkki 4. tasolla"
-#: ../rules/base.xml.in.h:510
+#: ../rules/base.xml.in.h:514
msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level"
msgstr "Sitova välilyöntimerkki 4. tasolla ja kapea sitova välilyöntimerkki 6. tasolla"
-#: ../rules/base.xml.in.h:511
+#: ../rules/base.xml.in.h:515
msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)"
msgstr "Sitova välilyöntimerkki 4. tasolla, kapea sitova välilyöntimerkki 6. tasolla (Ctrl+Shift)"
-#: ../rules/base.xml.in.h:512
+#: ../rules/base.xml.in.h:516
msgid "Non-breakable space character at second level"
msgstr "Sitova välilyöntimerkki 2. tasolla"
-#: ../rules/base.xml.in.h:513
+#: ../rules/base.xml.in.h:517
msgid "Non-breakable space character at third level"
msgstr "Sitova välilyöntimerkki 3. tasolla"
-#: ../rules/base.xml.in.h:514
+#: ../rules/base.xml.in.h:518
msgid "Non-breakable space character at third level, nothing at fourth level"
msgstr "Sitova välilyöntimerkki 3. tasolla eikä mitään 4. tasolla"
-#: ../rules/base.xml.in.h:515
+#: ../rules/base.xml.in.h:519
msgid "Non-breakable space character at third level, thin non-breakable space character at fourth level"
msgstr "Sitova välilyöntimerkki 3. tasolla, kapea sitova välilyöntimerkki 4. tasolla"
-#: ../rules/base.xml.in.h:516
+#: ../rules/base.xml.in.h:520
msgid "Nor"
msgstr "Nor"
-#: ../rules/base.xml.in.h:517
+#: ../rules/base.xml.in.h:521
msgid "Northern Saami"
msgstr "Pohjoissaami"
-#: ../rules/base.xml.in.h:518
+#: ../rules/base.xml.in.h:522
msgid "Northern Saami, eliminate dead keys"
msgstr "Pohjoissaami, ei kuolleita näppäimiä"
-#: ../rules/base.xml.in.h:519
+#: ../rules/base.xml.in.h:523
msgid "Northgate OmniKey 101"
msgstr "Northgate OmniKey 101"
-#: ../rules/base.xml.in.h:520
+#: ../rules/base.xml.in.h:524
msgid "Norway"
msgstr "Norja"
-#: ../rules/base.xml.in.h:521
+#: ../rules/base.xml.in.h:525
msgid "Npl"
msgstr "Npl"
-#: ../rules/base.xml.in.h:522
-msgid "NumLock"
-msgstr "NumLock"
+#: ../rules/base.xml.in.h:526
+msgid "Num Lock"
+msgstr "Num Lock"
-#: ../rules/base.xml.in.h:523
+#: ../rules/base.xml.in.h:527
msgid "Numeric keypad delete key behaviour"
msgstr "Numerosormion Del-näppäimen toiminta"
-#: ../rules/base.xml.in.h:524
+#: ../rules/base.xml.in.h:528
msgid "Numeric keypad keys work as with Mac"
msgstr "Sormionäppäimet toimivat kuten Macissa"
-#: ../rules/base.xml.in.h:525
+#: ../rules/base.xml.in.h:529
msgid "Numeric keypad layout selection"
msgstr "Sormion asettelun valinta"
-#: ../rules/base.xml.in.h:526
+#: ../rules/base.xml.in.h:530
msgid "OADG 109A"
msgstr "OADG 109A"
-#: ../rules/base.xml.in.h:527
+#: ../rules/base.xml.in.h:531
msgid "OLPC"
msgstr "OLPC"
-#: ../rules/base.xml.in.h:528
+#: ../rules/base.xml.in.h:532
msgid "OLPC Dari"
msgstr "OLPC, dari"
-#: ../rules/base.xml.in.h:529
+#: ../rules/base.xml.in.h:533
msgid "OLPC Pashto"
msgstr "OLPC, pashto"
-#: ../rules/base.xml.in.h:530
+#: ../rules/base.xml.in.h:534
msgid "OLPC Southern Uzbek"
msgstr "OLPC, eteläinen uzbeekki"
-#: ../rules/base.xml.in.h:531
+#: ../rules/base.xml.in.h:535
msgid "Occitan"
msgstr "oksitaani"
-#: ../rules/base.xml.in.h:532
+#: ../rules/base.xml.in.h:536
msgid "Ogham"
msgstr "Ogham"
-#: ../rules/base.xml.in.h:533
+#: ../rules/base.xml.in.h:537
msgid "Ogham IS434"
msgstr "Ogham IS434"
-#: ../rules/base.xml.in.h:534
+#: ../rules/base.xml.in.h:538
msgid "Oriya"
msgstr "Oriya"
-#: ../rules/base.xml.in.h:535
+#: ../rules/base.xml.in.h:539
msgid "Ortek MCK-800 MM/Internet keyboard"
msgstr "Ortek MCK-800 MM/Internet-näppäimistö"
-#: ../rules/base.xml.in.h:536
+#: ../rules/base.xml.in.h:540
msgid "Ossetian"
msgstr "Ossetia"
-#: ../rules/base.xml.in.h:537
+#: ../rules/base.xml.in.h:541
msgid "Ossetian, Winkeys"
msgstr "Ossetia, Win-näppäimet"
-#: ../rules/base.xml.in.h:538
+#: ../rules/base.xml.in.h:542
msgid "Ossetian, legacy"
msgstr "Ossetia, vanha"
-#: ../rules/base.xml.in.h:539
+#: ../rules/base.xml.in.h:543
msgid "PC-98xx Series"
msgstr "PC-98xx-sarja"
-#: ../rules/base.xml.in.h:540
+#: ../rules/base.xml.in.h:544
msgid "Pak"
msgstr "Pak"
-#: ../rules/base.xml.in.h:541
+#: ../rules/base.xml.in.h:545
msgid "Pakistan"
msgstr "Pakistan"
-#: ../rules/base.xml.in.h:542
+#: ../rules/base.xml.in.h:546
msgid "Pannonian Rusyn Homophonic"
msgstr "Homofooninen Pannonian ruteeni"
-#: ../rules/base.xml.in.h:543
+#: ../rules/base.xml.in.h:547
msgid "Pashto"
msgstr "Pashto"
-#: ../rules/base.xml.in.h:544
+#: ../rules/base.xml.in.h:548
msgid "Pattachote"
msgstr "Pattachote"
-#: ../rules/base.xml.in.h:545
+#: ../rules/base.xml.in.h:549
msgid "Pause"
msgstr "Tauko"
-#: ../rules/base.xml.in.h:546
+#: ../rules/base.xml.in.h:550
msgid "Persian, with Persian Keypad"
msgstr "Persia, persialaisella sormiolla"
-#: ../rules/base.xml.in.h:547
+#: ../rules/base.xml.in.h:551
msgid "Phonetic"
msgstr "Foneettinen"
-#: ../rules/base.xml.in.h:548
+#: ../rules/base.xml.in.h:552
msgid "Phonetic Winkeys"
msgstr "Foneettinen, Win-näppäimet"
-#: ../rules/base.xml.in.h:549
+#: ../rules/base.xml.in.h:553
msgid "Pol"
msgstr "Pol"
-#: ../rules/base.xml.in.h:550
+#: ../rules/base.xml.in.h:554
msgid "Poland"
msgstr "Puola"
-#: ../rules/base.xml.in.h:551
+#: ../rules/base.xml.in.h:555
msgid "Polytonic"
msgstr "Polytoninen"
-#: ../rules/base.xml.in.h:552
+#: ../rules/base.xml.in.h:556
msgid "Portugal"
msgstr "Portugali"
-#: ../rules/base.xml.in.h:553
+#: ../rules/base.xml.in.h:557
msgid "Probhat"
msgstr "Probhat"
-#: ../rules/base.xml.in.h:554
+#: ../rules/base.xml.in.h:558
msgid "Programmer Dvorak"
msgstr "Ohjelmoijan dvorak"
-#: ../rules/base.xml.in.h:555
+#: ../rules/base.xml.in.h:559
msgid "Propeller Voyager (KTEZ-1000)"
msgstr "Propeller Voyager (KTEZ-1000)"
-#: ../rules/base.xml.in.h:556
+#: ../rules/base.xml.in.h:560
msgid "Prt"
msgstr "Prt"
-#: ../rules/base.xml.in.h:557
+#: ../rules/base.xml.in.h:561
msgid "PrtSc"
msgstr "PrtSc"
-#: ../rules/base.xml.in.h:558
+#: ../rules/base.xml.in.h:562
msgid "QTronix Scorpius 98N+"
msgstr "QTronix Scorpius 98N+"
-#: ../rules/base.xml.in.h:559
+#: ../rules/base.xml.in.h:563
msgid "Right Alt"
msgstr "Oikea Alt"
-#: ../rules/base.xml.in.h:560
+#: ../rules/base.xml.in.h:564
msgid "Right Alt (while pressed)"
msgstr "Oikea Alt (painettaessa)"
-#: ../rules/base.xml.in.h:561
+#: ../rules/base.xml.in.h:565
msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "Oikea Alt valitsee 5. tason, lukitsee kun painetaan yhdessä toisen 5. tason valitsimen kanssa"
-#: ../rules/base.xml.in.h:562
+#: ../rules/base.xml.in.h:566
msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "Oikea Alt valitsee 5. tason, lukitsee kun painetaan yhdessä toisen 5. tason valitsimen kanssa, yksi painallus vapauttaa lukon"
-#: ../rules/base.xml.in.h:563
+#: ../rules/base.xml.in.h:567
msgid "Right Alt key never chooses 3rd level"
msgstr "Oikea Alt-näppäin ei koskaan valitse kolmatta tasoa"
-#: ../rules/base.xml.in.h:564
+#: ../rules/base.xml.in.h:568
msgid "Right Alt, Shift+Right Alt key is Multi_Key"
msgstr "Oikea Alt, Shift-Oikea Alt on Multi_Key"
-#: ../rules/base.xml.in.h:565
+#: ../rules/base.xml.in.h:569
msgid "Right Ctrl"
msgstr "Oikea Ctrl"
-#: ../rules/base.xml.in.h:566
+#: ../rules/base.xml.in.h:570
msgid "Right Ctrl (while pressed)"
msgstr "Oikea Ctrl (painettaessa)"
-#: ../rules/base.xml.in.h:567
+#: ../rules/base.xml.in.h:571
msgid "Right Ctrl as Right Alt"
msgstr "Oikea Ctrl kuten oikea Alt"
-#: ../rules/base.xml.in.h:568
+#: ../rules/base.xml.in.h:572
msgid "Right Ctrl+Right Shift"
msgstr "Oikea Ctrl+Oikea Shift"
-#: ../rules/base.xml.in.h:569
+#: ../rules/base.xml.in.h:573
msgid "Right Shift"
msgstr "Oikea Shift"
-#: ../rules/base.xml.in.h:570
+#: ../rules/base.xml.in.h:574
msgid "Right Win"
msgstr "Oikea Win"
-#: ../rules/base.xml.in.h:571
+#: ../rules/base.xml.in.h:575
msgid "Right Win (while pressed)"
msgstr "Oikea Win (painettaessa)"
-#: ../rules/base.xml.in.h:572
+#: ../rules/base.xml.in.h:576
msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "Oikea Win valitsee 5. tason, lukitsee kun painetaan yhdessä toisen 5. tason valitsimen kanssa"
-#: ../rules/base.xml.in.h:573
+#: ../rules/base.xml.in.h:577
msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "Oikea Win valitsee 5. tason, lukitsee kun painetaan yhdessä toisen 5. tason valitsimen kanssa, yksi painallus vapauttaa lukon"
-#: ../rules/base.xml.in.h:574
+#: ../rules/base.xml.in.h:578
msgid "Right hand"
msgstr "Oikeakätinen"
-#: ../rules/base.xml.in.h:575
+#: ../rules/base.xml.in.h:579
msgid "Right handed Dvorak"
msgstr "Oikeakätinen dvorak"
-#: ../rules/base.xml.in.h:576
+#: ../rules/base.xml.in.h:580
msgid "Romania"
msgstr "Romania"
-#: ../rules/base.xml.in.h:577
+#: ../rules/base.xml.in.h:581
msgid "Romanian keyboard with German letters"
msgstr "Romanialainen näppäimistö saksalaisilla kirjaimilla"
-#: ../rules/base.xml.in.h:578
+#: ../rules/base.xml.in.h:582
msgid "Romanian keyboard with German letters, eliminate dead keys"
msgstr "Romanialainen näppäimistö saksalaisilla kirjaimilla, ei kuolleita näppäimiä"
-#: ../rules/base.xml.in.h:579
+#: ../rules/base.xml.in.h:583
msgid "Rou"
msgstr "Rou"
-#: ../rules/base.xml.in.h:580
+#: ../rules/base.xml.in.h:584
msgid "Rus"
msgstr "Rus"
-#: ../rules/base.xml.in.h:581
+#: ../rules/base.xml.in.h:585
msgid "Russia"
msgstr "Venäjä"
-#: ../rules/base.xml.in.h:582
+#: ../rules/base.xml.in.h:586
msgid "Russian"
msgstr "Venäläinen"
-#: ../rules/base.xml.in.h:583
+#: ../rules/base.xml.in.h:587
msgid "Russian phonetic"
msgstr "Venäläinen foneettinen"
-#: ../rules/base.xml.in.h:584
+#: ../rules/base.xml.in.h:588
msgid "Russian phonetic Dvorak"
msgstr "Venäläinen foneettinen dvorak"
-#: ../rules/base.xml.in.h:585
+#: ../rules/base.xml.in.h:589
msgid "Russian phonetic, eliminate dead keys"
msgstr "Venäläinen foneettinen, ei kuolleita näppäimiä"
-#: ../rules/base.xml.in.h:586
+#: ../rules/base.xml.in.h:590
msgid "Russian with Kazakh"
msgstr "Venäjä kazakhin kanssa"
-#: ../rules/base.xml.in.h:587
+#: ../rules/base.xml.in.h:591
msgid "SILVERCREST Multimedia Wireless Keyboard"
msgstr "SILVERCREST langaton multimedianäppäimistö"
-#: ../rules/base.xml.in.h:588
+#: ../rules/base.xml.in.h:592
msgid "SK-1300"
msgstr "SK-1300"
-#: ../rules/base.xml.in.h:589
+#: ../rules/base.xml.in.h:593
msgid "SK-2500"
msgstr "SK-2500"
-#: ../rules/base.xml.in.h:590
+#: ../rules/base.xml.in.h:594
msgid "SK-6200"
msgstr "SK-6200"
-#: ../rules/base.xml.in.h:591
+#: ../rules/base.xml.in.h:595
msgid "SK-7100"
msgstr "SK-7100"
-#: ../rules/base.xml.in.h:592 ../rules/base.extras.xml.in.h:7
+#: ../rules/base.xml.in.h:596 ../rules/base.extras.xml.in.h:9
msgid "SRB"
msgstr "SRB"
-#: ../rules/base.xml.in.h:593
+#: ../rules/base.xml.in.h:597
msgid "SVEN Ergonomic 2500"
msgstr "SVEN Ergonomic 2500"
-#: ../rules/base.xml.in.h:594
+#: ../rules/base.xml.in.h:598
msgid "SVEN Slim 303"
msgstr "SVEN Slim 303"
-#: ../rules/base.xml.in.h:595
+#: ../rules/base.xml.in.h:599
msgid "Samsung SDM 4500P"
msgstr "Samsung SDM 4500P"
-#: ../rules/base.xml.in.h:596
+#: ../rules/base.xml.in.h:600
msgid "Samsung SDM 4510P"
msgstr "Samsung SDM 4510P"
-#: ../rules/base.xml.in.h:597
-msgid "ScrollLock"
-msgstr "ScrollLock"
+#: ../rules/base.xml.in.h:601
+msgid "Scroll Lock"
+msgstr "Scroll Lock"
-#: ../rules/base.xml.in.h:598
+#: ../rules/base.xml.in.h:602
msgid "Secwepemctsin"
msgstr "Secwepemctsin"
-#: ../rules/base.xml.in.h:599
+#: ../rules/base.xml.in.h:603
msgid "Semi-colon on third level"
msgstr "Puolipilkku kolmannella tasolla"
-#: ../rules/base.xml.in.h:600
+#: ../rules/base.xml.in.h:604
msgid "Sen"
msgstr "Sen"
-#: ../rules/base.xml.in.h:601
+#: ../rules/base.xml.in.h:605
msgid "Senegal"
msgstr "Senegal"
-#: ../rules/base.xml.in.h:602 ../rules/base.extras.xml.in.h:8
+#: ../rules/base.xml.in.h:606 ../rules/base.extras.xml.in.h:10
msgid "Serbia"
msgstr "Serbia"
-#: ../rules/base.xml.in.h:603
+#: ../rules/base.xml.in.h:607
msgid "Serbian"
msgstr "Serbialainen"
-#: ../rules/base.xml.in.h:604
-msgid "Shift cancels CapsLock"
-msgstr "Shift kumoaa CapsLockin"
+#: ../rules/base.xml.in.h:608
+msgid "Shift cancels Caps Lock"
+msgstr "Shift kumoaa Caps Lockin"
-#: ../rules/base.xml.in.h:605
-msgid "Shift does not cancel NumLock, chooses 3rd level instead"
-msgstr "Shift ei kumoa NumLockia, valitsee 3. tason sen sijaan"
+#: ../rules/base.xml.in.h:609
+msgid "Shift does not cancel Num Lock, chooses 3rd level instead"
+msgstr "Shift ei kumoa Num Lockia, valitsee 3. tason sen sijaan"
-#: ../rules/base.xml.in.h:606
+#: ../rules/base.xml.in.h:610
msgid "Shift with numeric keypad keys works as in MS Windows"
msgstr "Shift ja sormionäppäimet toimivat kuten MS Windowsissa"
-#: ../rules/base.xml.in.h:607
-msgid "Shift+CapsLock"
-msgstr "Shift+CapsLock"
+#: ../rules/base.xml.in.h:611
+msgid "Shift+Caps Lock"
+msgstr "Shift+Caps Lock"
-#: ../rules/base.xml.in.h:608
+#: ../rules/base.xml.in.h:612
msgid "Simple"
msgstr "yksinkertainen"
-#: ../rules/base.xml.in.h:609
+#: ../rules/base.xml.in.h:613
+msgid "Sindhi"
+msgstr "Sindhi"
+
+#: ../rules/base.xml.in.h:614
msgid "Slovakia"
msgstr "Slovakia"
-#: ../rules/base.xml.in.h:610
+#: ../rules/base.xml.in.h:615
msgid "Slovenia"
msgstr "Slovenia"
-#: ../rules/base.xml.in.h:611
+#: ../rules/base.xml.in.h:616
msgid "South Africa"
msgstr "Etelä-Afrikka"
-#: ../rules/base.xml.in.h:612
+#: ../rules/base.xml.in.h:617
msgid "Southern Uzbek"
msgstr "Eteläinen uzbeekki"
-#: ../rules/base.xml.in.h:613
+#: ../rules/base.xml.in.h:618
msgid "Spain"
msgstr "Espanja"
-#: ../rules/base.xml.in.h:614
+#: ../rules/base.xml.in.h:619
msgid "Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server"
msgstr "Erikoisnäppäimet (Ctrl+Alt+&lt;näppäin&gt;) käsitellään palvelimessa"
-#: ../rules/base.xml.in.h:615
+#: ../rules/base.xml.in.h:620
msgid "Sri Lanka"
msgstr "Sri Lanka"
-#: ../rules/base.xml.in.h:616
+#: ../rules/base.xml.in.h:621
msgid "Standard"
msgstr "Tavallinen"
-#: ../rules/base.xml.in.h:617
+#: ../rules/base.xml.in.h:622
msgid "Standard (Cedilla)"
msgstr "Tavallinen (Pilkku alla)"
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:619
+#: ../rules/base.xml.in.h:624
msgid "Standard RSTU"
msgstr "Tavallinen RSTU"
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:621
+#: ../rules/base.xml.in.h:626
msgid "Standard RSTU on Russian layout"
msgstr "Tavallinen RSTU venäläisellä asettelulla"
-#: ../rules/base.xml.in.h:622
+#: ../rules/base.xml.in.h:627
msgid "Sun Type 5/6"
msgstr "Sun Type 5/6"
-#: ../rules/base.xml.in.h:623
+#: ../rules/base.xml.in.h:628
msgid "Sun dead keys"
msgstr "Sunin kuolleet näppäimet"
-#: ../rules/base.xml.in.h:624
+#: ../rules/base.xml.in.h:629
msgid "Super Power Multimedia Keyboard"
msgstr "Super Power -multimedianäppäimistö"
-#: ../rules/base.xml.in.h:625
+#: ../rules/base.xml.in.h:630
msgid "Svdvorak"
msgstr "Svdvorak"
-#: ../rules/base.xml.in.h:626
+#: ../rules/base.xml.in.h:631
msgid "Svk"
msgstr "Svk"
-#: ../rules/base.xml.in.h:627
+#: ../rules/base.xml.in.h:632
msgid "Svn"
msgstr "Svn"
-#: ../rules/base.xml.in.h:628
-msgid "Swap Ctrl and CapsLock"
-msgstr "Vaihda Ctrl ja CapsLock"
+#: ../rules/base.xml.in.h:633
+msgid "Swap Ctrl and Caps Lock"
+msgstr "Vaihda Ctrl ja Caps Lock"
-#: ../rules/base.xml.in.h:629
-msgid "Swap ESC and CapsLock"
-msgstr "Vaihda Esc ja CapsLock"
+#: ../rules/base.xml.in.h:634
+msgid "Swap ESC and Caps Lock"
+msgstr "Vaihda Esc ja Caps Lock"
-#: ../rules/base.xml.in.h:630
+#: ../rules/base.xml.in.h:635
msgid "Swe"
msgstr "Swe"
-#: ../rules/base.xml.in.h:631
+#: ../rules/base.xml.in.h:636
msgid "Sweden"
msgstr "Ruotsi"
-#: ../rules/base.xml.in.h:632
+#: ../rules/base.xml.in.h:637
msgid "Switzerland"
msgstr "Sveitsi"
-#: ../rules/base.xml.in.h:633
+#: ../rules/base.xml.in.h:638
msgid "Symplon PaceBook (tablet PC)"
msgstr "Symplon PaceBook (lehtiö-PC)"
-#: ../rules/base.xml.in.h:634
+#: ../rules/base.xml.in.h:639
msgid "Syr"
msgstr "Syr"
-#: ../rules/base.xml.in.h:635
+#: ../rules/base.xml.in.h:640
msgid "Syria"
msgstr "Syyria"
-#: ../rules/base.xml.in.h:636
+#: ../rules/base.xml.in.h:641
msgid "Syriac"
msgstr "Syyrialainen"
-#: ../rules/base.xml.in.h:637
+#: ../rules/base.xml.in.h:642
msgid "Syriac phonetic"
msgstr "Syyrialainen foneettinen"
-#: ../rules/base.xml.in.h:638
+#: ../rules/base.xml.in.h:643
msgid "TIS-820.2538"
msgstr "TIS-820.2538"
-#: ../rules/base.xml.in.h:639
+#: ../rules/base.xml.in.h:644
msgid "Tajikistan"
msgstr "Tadžikistan"
-#: ../rules/base.xml.in.h:640
+#: ../rules/base.xml.in.h:645
msgid "Tamil"
msgstr "Tamili"
-#: ../rules/base.xml.in.h:641
+#: ../rules/base.xml.in.h:646
msgid "Tamil Keyboard with Numerals"
msgstr "Tamilinäppäimistö numeroilla"
-#: ../rules/base.xml.in.h:642
+#: ../rules/base.xml.in.h:647
msgid "Tamil TAB Typewriter"
msgstr "Tamili TAB Typewriter"
-#: ../rules/base.xml.in.h:643
+#: ../rules/base.xml.in.h:648
msgid "Tamil TSCII Typewriter"
msgstr "Tamili TSCII Typewriter"
-#: ../rules/base.xml.in.h:644
+#: ../rules/base.xml.in.h:649
msgid "Tamil Unicode"
msgstr "Tamili Unicode"
-#: ../rules/base.xml.in.h:645
+#: ../rules/base.xml.in.h:650
msgid "Tanzania"
msgstr "Tansania"
-#: ../rules/base.xml.in.h:646
+#: ../rules/base.xml.in.h:651
msgid "Targa Visionary 811"
msgstr "Targa Visionary 811"
-#: ../rules/base.xml.in.h:647
+#: ../rules/base.xml.in.h:652
msgid "Tatar"
msgstr "Tataari"
-#: ../rules/base.xml.in.h:648
+#: ../rules/base.xml.in.h:653
msgid "Telugu"
msgstr "Telugu"
-#: ../rules/base.xml.in.h:649
+#: ../rules/base.xml.in.h:654
msgid "Tha"
msgstr "Tha"
-#: ../rules/base.xml.in.h:650
+#: ../rules/base.xml.in.h:655
msgid "Thailand"
msgstr "Thaimaa"
-#: ../rules/base.xml.in.h:651
+#: ../rules/base.xml.in.h:656
msgid "Tibetan"
msgstr "Tiibet"
-#: ../rules/base.xml.in.h:652
+#: ../rules/base.xml.in.h:657
msgid "Tibetan (with ASCII numerals)"
msgstr "Tiibet (ASCII-numeroilla)"
-#: ../rules/base.xml.in.h:653
+#: ../rules/base.xml.in.h:658
msgid "Tifinagh"
msgstr "Tifinagh"
-#: ../rules/base.xml.in.h:654
-msgid "Tifinagh Alternative"
+#: ../rules/base.xml.in.h:659
+msgid "Tifinagh alternative"
msgstr "Tifinagh, vaihtoehtoinen"
-#: ../rules/base.xml.in.h:655
-msgid "Tifinagh Alternative Phonetic"
+#: ../rules/base.xml.in.h:660
+msgid "Tifinagh alternative phonetic"
msgstr "Tifinagh, vaihtoehtoinen foneettinen"
-#: ../rules/base.xml.in.h:656
-msgid "Tifinagh Extended"
+#: ../rules/base.xml.in.h:661
+msgid "Tifinagh extended"
msgstr "Tifinagh, laajennettu"
-#: ../rules/base.xml.in.h:657
-msgid "Tifinagh Extended Phonetic"
+#: ../rules/base.xml.in.h:662
+msgid "Tifinagh extended phonetic"
msgstr "Tifinagh, laajennettu foneettinen"
-#: ../rules/base.xml.in.h:658
-msgid "Tifinagh Phonetic"
+#: ../rules/base.xml.in.h:663
+msgid "Tifinagh phonetic"
msgstr "Tifinagh, foneettinen"
-#: ../rules/base.xml.in.h:659
+#: ../rules/base.xml.in.h:664
msgid "Tilde (~) variant"
msgstr "Tildemuunnos (~)"
-#: ../rules/base.xml.in.h:660
+#: ../rules/base.xml.in.h:665
msgid "Tjk"
msgstr "Tjk"
-#: ../rules/base.xml.in.h:661
+#: ../rules/base.xml.in.h:666
msgid "Tkm"
msgstr "Tkm"
-#: ../rules/base.xml.in.h:662
+#: ../rules/base.xml.in.h:667
msgid "To the corresponding key in a Dvorak keyboard."
msgstr "Vastaavaan näppäimeen Dvorak-näppäimistössä."
-#: ../rules/base.xml.in.h:663
+#: ../rules/base.xml.in.h:668
msgid "To the corresponding key in a Qwerty keyboard."
msgstr "Vastaavaan näppäimeen Qwerty-näppäimistössä."
-#: ../rules/base.xml.in.h:664
+#: ../rules/base.xml.in.h:669
msgid "Toshiba Satellite S3000"
msgstr "Toshiba Satellite S3000"
-#: ../rules/base.xml.in.h:665
+#: ../rules/base.xml.in.h:670
msgid "Traditional phonetic"
msgstr "Perinteinen foneettinen"
-#: ../rules/base.xml.in.h:666
+#: ../rules/base.xml.in.h:671
msgid "Trust Direct Access Keyboard"
msgstr "Trust Direct Access Keyboard"
-#: ../rules/base.xml.in.h:667
+#: ../rules/base.xml.in.h:672
msgid "Trust Slimline"
msgstr "Trust Slimline"
-#: ../rules/base.xml.in.h:668
+#: ../rules/base.xml.in.h:673
msgid "Trust Wireless Keyboard Classic"
msgstr "Trust Wireless Keyboard Classic"
-#: ../rules/base.xml.in.h:669
+#: ../rules/base.xml.in.h:674
msgid "Tur"
msgstr "Tur"
-#: ../rules/base.xml.in.h:670
+#: ../rules/base.xml.in.h:675
msgid "Turkey"
msgstr "Turkki"
-#: ../rules/base.xml.in.h:671
+#: ../rules/base.xml.in.h:676
msgid "Turkmenistan"
msgstr "Turkmenistan"
-#: ../rules/base.xml.in.h:672
+#: ../rules/base.xml.in.h:677
msgid "TypeMatrix EZ-Reach 2020"
msgstr "TypeMatrix EZ-Reach 2020"
-#: ../rules/base.xml.in.h:673
+#: ../rules/base.xml.in.h:678
msgid "TypeMatrix EZ-Reach 2030 PS2"
msgstr "TypeMatrix EZ-Reach 2030 PS2"
-#: ../rules/base.xml.in.h:674
+#: ../rules/base.xml.in.h:679
msgid "TypeMatrix EZ-Reach 2030 USB"
msgstr "TypeMatrix EZ-Reach 2030 USB"
-#: ../rules/base.xml.in.h:675
+#: ../rules/base.xml.in.h:680
msgid "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)"
msgstr "TypeMatrix EZ-Reach 2030 USB (102/105:EU-tila)"
-#: ../rules/base.xml.in.h:676
+#: ../rules/base.xml.in.h:681
msgid "TypeMatrix EZ-Reach 2030 USB (106:JP mode)"
msgstr "TypeMatrix EZ-Reach 2030 USB (106:JP-tila)"
-#: ../rules/base.xml.in.h:677
+#: ../rules/base.xml.in.h:682
msgid "Typewriter"
msgstr "Kirjoituskone"
-#: ../rules/base.xml.in.h:678
+#: ../rules/base.xml.in.h:683
msgid "Typewriter, legacy"
msgstr "Kirjoituskone, perinteinen"
-#: ../rules/base.xml.in.h:679
+#: ../rules/base.xml.in.h:684
msgid "Tza"
msgstr "Tza"
-#: ../rules/base.xml.in.h:680
+#: ../rules/base.xml.in.h:685
msgid "UCW layout (accented letters only)"
msgstr "UCW-asettelu (vain aksenttikirjaimet)"
-#: ../rules/base.xml.in.h:681
+#: ../rules/base.xml.in.h:686
msgid "US Dvorak with CZ UCW support"
msgstr "Yhdysvaltalainen Dvorak CZ UCW -tuella"
-#: ../rules/base.xml.in.h:682
+#: ../rules/base.xml.in.h:687
msgid "US keyboard with Bosnian digraphs"
msgstr "Yhdysvaltalainen näppäimistö bosnialaisilla merkkipareilla"
-#: ../rules/base.xml.in.h:683
+#: ../rules/base.xml.in.h:688
msgid "US keyboard with Bosnian letters"
msgstr "Yhdysvaltalainen näppäimistö bosnialaisilla kirjaimilla"
-#: ../rules/base.xml.in.h:684
+#: ../rules/base.xml.in.h:689
msgid "US keyboard with Croatian digraphs"
msgstr "Yhdysvaltalainen näppäimistö kroatialaisilla merkkipareilla"
-#: ../rules/base.xml.in.h:685
+#: ../rules/base.xml.in.h:690
msgid "US keyboard with Croatian letters"
msgstr "Yhdysvaltalainen näppäimistö kroatialaisilla kirjaimilla"
-#: ../rules/base.xml.in.h:686
+#: ../rules/base.xml.in.h:691
msgid "US keyboard with Estonian letters"
msgstr "Yhdysvaltalainen näppäimistö virolaisilla kirjaimilla"
-#: ../rules/base.xml.in.h:687
+#: ../rules/base.xml.in.h:692
msgid "US keyboard with Italian letters"
msgstr "Yhdysvaltalainen näppäimistö italialaisilla kirjaimilla"
-#: ../rules/base.xml.in.h:688
+#: ../rules/base.xml.in.h:693
msgid "US keyboard with Lithuanian letters"
msgstr "Yhdysvaltalainen näppäimistö liettualaisilla kirjaimilla"
-#: ../rules/base.xml.in.h:689
+#: ../rules/base.xml.in.h:694
msgid "US keyboard with Slovenian letters"
msgstr "Yhdysvaltalainen näppäimistö slovenialaisilla kirjaimilla"
-#: ../rules/base.xml.in.h:690 ../rules/base.extras.xml.in.h:9
+#: ../rules/base.xml.in.h:695 ../rules/base.extras.xml.in.h:11
msgid "USA"
msgstr "USA"
-#: ../rules/base.xml.in.h:691
+#: ../rules/base.xml.in.h:696
msgid "Udmurt"
msgstr "Udmurt"
-#: ../rules/base.xml.in.h:692
+#: ../rules/base.xml.in.h:697
msgid "Ukr"
msgstr "Ukr"
-#: ../rules/base.xml.in.h:693
+#: ../rules/base.xml.in.h:698
msgid "Ukraine"
msgstr "Ukraina"
-#: ../rules/base.xml.in.h:694
+#: ../rules/base.xml.in.h:699
msgid "Unicode additions (arrows and math operators)"
msgstr "Unicode-lisäosat (nuolet ja matematiikkatoiminnot)"
-#: ../rules/base.xml.in.h:695
+#: ../rules/base.xml.in.h:700
msgid "Unicode additions (arrows and math operators). Math operators on default level"
msgstr "Unicode-lisäosat (nuolet ja matematiikkatoiminnot). Matematiikkatoiminnot oletustasolla"
-#: ../rules/base.xml.in.h:696
+#: ../rules/base.xml.in.h:701
msgid "UnicodeExpert"
msgstr "Unicode-asiantuntija"
-#: ../rules/base.xml.in.h:697
+#: ../rules/base.xml.in.h:702
msgid "United Kingdom"
msgstr "Iso-Britannia"
-#: ../rules/base.xml.in.h:698
+#: ../rules/base.xml.in.h:703
msgid "Unitek KB-1925"
msgstr "Unitek KB-1925"
-#: ../rules/base.xml.in.h:699
+#: ../rules/base.xml.in.h:704
msgid "Urdu, Alternative phonetic"
msgstr "Urdu, vaihtoehtoinen foneettinen"
-#: ../rules/base.xml.in.h:700
+#: ../rules/base.xml.in.h:705
msgid "Urdu, Phonetic"
msgstr "Urdu, foneettinen"
-#: ../rules/base.xml.in.h:701
+#: ../rules/base.xml.in.h:706
msgid "Urdu, Winkeys"
msgstr "Urdu, Win-näppäimet"
-#: ../rules/base.xml.in.h:702
+#: ../rules/base.xml.in.h:707
msgid "Use Bosnian digraphs"
msgstr "Käytä bosnialaisia merkkipareja"
-#: ../rules/base.xml.in.h:703
+#: ../rules/base.xml.in.h:708
msgid "Use Croatian digraphs"
msgstr "Käytä kroatialaisia merkkipareja"
-#: ../rules/base.xml.in.h:704
+#: ../rules/base.xml.in.h:709
msgid "Use guillemets for quotes"
msgstr "Käytä guillemot-lainausmerkkejä"
-#: ../rules/base.xml.in.h:705
+#: ../rules/base.xml.in.h:710
msgid "Use keyboard LED to show alternative layout"
msgstr "Käytä näppäimistö-lediä näyttämään vaihtoehtoista asettelua"
-#: ../rules/base.xml.in.h:706
+#: ../rules/base.xml.in.h:711
msgid "Using space key to input non-breakable space character"
msgstr "Sitovan välilyöntimerkin syöttäminen"
-#: ../rules/base.xml.in.h:707
+#: ../rules/base.xml.in.h:712
msgid "Usual space at any level"
msgstr "Normaali välilyönti kaikilla tasoilla"
-#: ../rules/base.xml.in.h:708
+#: ../rules/base.xml.in.h:713
msgid "Uzb"
msgstr "Uzb"
-#: ../rules/base.xml.in.h:709
+#: ../rules/base.xml.in.h:714
msgid "Uzbekistan"
msgstr "Uzbekistan"
-#: ../rules/base.xml.in.h:710
+#: ../rules/base.xml.in.h:715
msgid "Vietnam"
msgstr "Vietnam"
-#: ../rules/base.xml.in.h:711
+#: ../rules/base.xml.in.h:716
msgid "ViewSonic KU-306 Internet Keyboard"
msgstr "ViewSonic KU-306 Internet -näppäimistö"
-#: ../rules/base.xml.in.h:712
+#: ../rules/base.xml.in.h:717
msgid "Vnm"
msgstr "Vnm"
-#: ../rules/base.xml.in.h:713
+#: ../rules/base.xml.in.h:718
msgid "Wang 724 keypad with unicode additions (arrows and math operators)"
msgstr "Wang 724 -sormio Unicode-lisäyksin (nuolet sekä matematiikkaoperaatiot)"
-#: ../rules/base.xml.in.h:714
+#: ../rules/base.xml.in.h:719
msgid "Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level"
msgstr "Wang 724 -sormio Unicode-lisäyksin (nuolet sekä matematiikkaoperaatiot). Matematiikkaoperaatiot oletustasolla"
-#: ../rules/base.xml.in.h:715
+#: ../rules/base.xml.in.h:720
msgid "Wang model 724 azerty"
msgstr "Wang malli 724 azerty"
-#: ../rules/base.xml.in.h:716
+#: ../rules/base.xml.in.h:721
msgid "Western"
msgstr "Läntinen"
-#: ../rules/base.xml.in.h:717
+#: ../rules/base.xml.in.h:722
msgid "Winbook Model XP5"
msgstr "Winbook Model XP5"
-#: ../rules/base.xml.in.h:718
+#: ../rules/base.xml.in.h:723
msgid "Winkeys"
msgstr "Win-näppäimet"
-#: ../rules/base.xml.in.h:719
+#: ../rules/base.xml.in.h:724
msgid "With &lt;\\|&gt; key"
msgstr "&lt;\\|&gt;-näppäimillä"
-#: ../rules/base.xml.in.h:720
+#: ../rules/base.xml.in.h:725
msgid "With EuroSign on 5"
msgstr "Euro-merkki 5-näppäimessä"
-#: ../rules/base.xml.in.h:721
+#: ../rules/base.xml.in.h:726
msgid "With guillemets"
msgstr "Guillemot-lainausmerkeillä"
-#: ../rules/base.xml.in.h:722
+#: ../rules/base.xml.in.h:727
msgid "Yahoo! Internet Keyboard"
msgstr "Yahoo!-Internet-näppäimistö"
-#: ../rules/base.xml.in.h:723
+#: ../rules/base.xml.in.h:728
msgid "Yakut"
msgstr "Yakut"
-#: ../rules/base.xml.in.h:724
+#: ../rules/base.xml.in.h:729
msgid "Yoruba"
msgstr "Yoruba"
-#: ../rules/base.xml.in.h:725
+#: ../rules/base.xml.in.h:730
msgid "Z and ZHE swapped"
msgstr "Z ja ZHE vaihdettu"
-#: ../rules/base.xml.in.h:726
+#: ../rules/base.xml.in.h:731
msgid "Zaf"
msgstr "Zaf"
-#: ../rules/base.xml.in.h:727
+#: ../rules/base.xml.in.h:732
msgid "Zero-width non-joiner character at second level"
msgstr "Leveydetön ei-yhdistävä merkki 2. tasolla"
-#: ../rules/base.xml.in.h:728
+#: ../rules/base.xml.in.h:733
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level"
msgstr "Leveydetön ei-yhdistävä merkki 2. tasolla, sitova välilyöntimerkki 3. tasolla"
-#: ../rules/base.xml.in.h:729
+#: ../rules/base.xml.in.h:734
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level"
msgstr "Leveydetön ei-yhdistävä merkki 2. tasolla, sitova välilyöntimerkki 3. tasolla eikä mitään 4. tasolla"
-#: ../rules/base.xml.in.h:730
+#: ../rules/base.xml.in.h:735
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level"
msgstr "Leveydetön ei-yhdistävä merkki 2. tsaolla, sitova välilyöntimerkki 3. tasolla, kapea sitova välilyöntimerkki 4. tasolla"
-#: ../rules/base.xml.in.h:731
+#: ../rules/base.xml.in.h:736
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level"
msgstr "Leveydetön ei-yhdistävä merkki 2. tasolla, sitova välilyöntimerkki 3. tasolla ja leveydetön yhdistävä merkki 4. tasolla"
-#: ../rules/base.xml.in.h:732
+#: ../rules/base.xml.in.h:737
msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level"
msgstr "Leveydetön ei-yhdistävä merkki 2. tasolla, leveydetön yhdistävä merkki 3. tasolla"
-#: ../rules/base.xml.in.h:733
+#: ../rules/base.xml.in.h:738
msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level"
msgstr "Leveydetön ei-yhdistävä merkki 2. tasolla, leveydetön yhdistävä merkki 3. tasolla, sitova välilyöntimerkki 4. tasolla"
-#: ../rules/base.xml.in.h:734
+#: ../rules/base.xml.in.h:739
msgid "Zero-width non-joiner character at third level, zero-width joiner at fourth level"
msgstr "Leveydetön ei-yhdistävä merkki 3. tasolla ja leveydetön yhdistävä merkki 4. tasolla"
-#: ../rules/base.xml.in.h:735
+#: ../rules/base.xml.in.h:740
msgid "azerty"
msgstr "azerty"
-#: ../rules/base.xml.in.h:736
+#: ../rules/base.xml.in.h:741
msgid "azerty/digits"
msgstr "azerty/numerot"
-#: ../rules/base.xml.in.h:737
+#: ../rules/base.xml.in.h:742
msgid "digits"
msgstr "numerot"
-#: ../rules/base.xml.in.h:738
+#: ../rules/base.xml.in.h:743
msgid "displaced semicolon and quote (obsolete)"
msgstr "sijoiltaan olevat puolipilkku ja lainaismekrki (vanhentunut)"
-#: ../rules/base.xml.in.h:739
+#: ../rules/base.xml.in.h:744
msgid "lyx"
msgstr "lyx"
-#: ../rules/base.xml.in.h:740
+#: ../rules/base.xml.in.h:745
msgid "qwerty"
msgstr "qwerty"
-#: ../rules/base.xml.in.h:741
+#: ../rules/base.xml.in.h:746
msgid "qwerty, extended Backslash"
msgstr "qwerty, laajennettu Backslash"
-#: ../rules/base.xml.in.h:742
+#: ../rules/base.xml.in.h:747
msgid "qwerty/digits"
msgstr "qwerty/numerot"
-#: ../rules/base.xml.in.h:743
+#: ../rules/base.xml.in.h:748
msgid "qwertz"
msgstr "qwertz"
@@ -2987,30 +3007,37 @@ msgid "Atsina"
msgstr "Atsina"
#: ../rules/base.extras.xml.in.h:3
+msgid "Avestan"
+msgstr "Avestan"
+
+#: ../rules/base.extras.xml.in.h:4
msgid "Combining accents instead of dead keys"
msgstr "Aksenttien yhdistäminen kuolleiden näppäinten sijaan"
-#: ../rules/base.extras.xml.in.h:4
+#: ../rules/base.extras.xml.in.h:5
msgid "Couer D'alene Salish"
msgstr "Couer D'alene Salish"
-#: ../rules/base.extras.xml.in.h:5
+#: ../rules/base.extras.xml.in.h:6
msgid "International (AltGr Unicode combining)"
msgstr "Kansainvälinen (AltGr-Unicode-yhdistäminen)"
-#: ../rules/base.extras.xml.in.h:6
+#: ../rules/base.extras.xml.in.h:7
msgid "International (AltGr Unicode combining, alternative)"
msgstr "Kansainvälinen (AltGr-Unicode-yhdistäminen, vaihtoehtoinen)"
+#~ msgid "CapsLock"
+#~ msgstr "CapsLock"
+
+#~ msgid "ScrollLock"
+#~ msgstr "ScrollLock"
+
#~ msgid "ACPI Standard"
#~ msgstr "ACPI-standardi"
#~ msgid "Bhu"
#~ msgstr "Bhu"
-#~ msgid "Caps Lock"
-#~ msgstr "Caps Lock"
-
#~ msgid "DRC"
#~ msgstr "DRC"
@@ -3035,9 +3062,6 @@ msgstr "Kansainvälinen (AltGr-Unicode-yhdistäminen, vaihtoehtoinen)"
#~ msgid "Nep"
#~ msgstr "Nep"
-#~ msgid "Scroll Lock"
-#~ msgstr "Scroll Lock"
-
#~ msgid "SrL"
#~ msgstr "SrL"
diff --git a/xorg-server/xkeyboard-config/po/gl.po b/xorg-server/xkeyboard-config/po/gl.po
new file mode 100644
index 000000000..bae75793c
--- /dev/null
+++ b/xorg-server/xkeyboard-config/po/gl.po
@@ -0,0 +1,3023 @@
+# Galician translations for xkeyboard-config package.
+# Copyright (C) 2010 THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the xkeyboard-config package.
+# Fran Diéguez <frandieguez@ubuntu.com>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: xkeyboard-config 2.0\n"
+"Report-Msgid-Bugs-To: svu@users.sourceforge.net\n"
+"POT-Creation-Date: 2010-09-15 21:57+0100\n"
+"PO-Revision-Date: 2010-09-27 15:53+0200\n"
+"Last-Translator: Fran Dieguez <frandieguez@ubuntu.com>\n"
+"Language-Team: Galician <proxecto@trasno.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: gl\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+
+#: ../rules/base.xml.in.h:1
+msgid "&lt;Less/Greater&gt;"
+msgstr "&lt;Menor que/Maior que&gt;"
+
+#: ../rules/base.xml.in.h:2
+msgid "&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr ""
+
+#: ../rules/base.xml.in.h:3
+msgid "&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr ""
+
+#: ../rules/base.xml.in.h:4
+msgid "(F)"
+msgstr "(F)"
+
+#: ../rules/base.xml.in.h:5
+msgid "(Legacy) Alternative"
+msgstr "(Herdado) Alternativa"
+
+#: ../rules/base.xml.in.h:6
+msgid "(Legacy) Alternative, Sun dead keys"
+msgstr "(Herdado) Alternativa, teclas mortas de Sun"
+
+#: ../rules/base.xml.in.h:7
+msgid "(Legacy) Alternative, eliminate dead keys"
+msgstr "(Herdado) Alternativa, eliminar teclas mortas"
+
+#: ../rules/base.xml.in.h:8
+msgid "101/104 key Compatible"
+msgstr "101/104 teclas compatíbel"
+
+#: ../rules/base.xml.in.h:9
+msgid "101/qwerty/comma/Dead keys"
+msgstr "101/qwerty/coma/Teclas mortas"
+
+#: ../rules/base.xml.in.h:10
+msgid "101/qwerty/comma/Eliminate dead keys"
+msgstr "101/qwerty/coma/Eliminar teclas mortas"
+
+#: ../rules/base.xml.in.h:11
+msgid "101/qwerty/dot/Dead keys"
+msgstr "101/qwerty/punto/Teclas mortas"
+
+#: ../rules/base.xml.in.h:12
+msgid "101/qwerty/dot/Eliminate dead keys"
+msgstr "101/qwerty/punto/Eliminar teclas mortas"
+
+#: ../rules/base.xml.in.h:13
+msgid "101/qwertz/comma/Dead keys"
+msgstr "101/qwertz/coma/Teclas mortas"
+
+#: ../rules/base.xml.in.h:14
+msgid "101/qwertz/comma/Eliminate dead keys"
+msgstr "101/qwertz/coma/Eliminar teclas mortas"
+
+#: ../rules/base.xml.in.h:15
+msgid "101/qwertz/dot/Dead keys"
+msgstr "101/qwertz/punto/Teclas mortas"
+
+#: ../rules/base.xml.in.h:16
+msgid "101/qwertz/dot/Eliminate dead keys"
+msgstr "101/qwertz/punto/Eliminar teclas mortas"
+
+#: ../rules/base.xml.in.h:17
+msgid "102/qwerty/comma/Dead keys"
+msgstr "102/qwerty/coma/Teclas mortas"
+
+#: ../rules/base.xml.in.h:18
+msgid "102/qwerty/comma/Eliminate dead keys"
+msgstr "102/qwerty/coma/Eliminar teclas mortas"
+
+#: ../rules/base.xml.in.h:19
+msgid "102/qwerty/dot/Dead keys"
+msgstr "102/qwerty/punto/Teclas mortas"
+
+#: ../rules/base.xml.in.h:20
+msgid "102/qwerty/dot/Eliminate dead keys"
+msgstr "102/qwerty/punto/Eliminar teclas mortas"
+
+#: ../rules/base.xml.in.h:21
+msgid "102/qwertz/comma/Dead keys"
+msgstr "102/qwertz/coma/Teclas mortas"
+
+#: ../rules/base.xml.in.h:22
+msgid "102/qwertz/comma/Eliminate dead keys"
+msgstr "102/qwertz/coma/Eliminar teclas mortas"
+
+#: ../rules/base.xml.in.h:23
+msgid "102/qwertz/dot/Dead keys"
+msgstr "102/qwertz/punto/Teclas mortas"
+
+#: ../rules/base.xml.in.h:24
+msgid "102/qwertz/dot/Eliminate dead keys"
+msgstr "102/qwertz/punto/Eliminar teclas mortas"
+
+#: ../rules/base.xml.in.h:25
+msgid "2"
+msgstr "2"
+
+#: ../rules/base.xml.in.h:26
+msgid "4"
+msgstr "4"
+
+#: ../rules/base.xml.in.h:27
+msgid "5"
+msgstr "5"
+
+#: ../rules/base.xml.in.h:28
+msgid "A4Tech KB-21"
+msgstr "A4Tech KB-21"
+
+#: ../rules/base.xml.in.h:29
+msgid "A4Tech KBS-8"
+msgstr "A4Tech KBS-8"
+
+#: ../rules/base.xml.in.h:30
+msgid "A4Tech Wireless Desktop RFKB-23"
+msgstr "A4Tech Wireless Desktop RFKB-23"
+
+#: ../rules/base.xml.in.h:31
+msgid "ATM/phone-style"
+msgstr "Caixeiro automático/estilo teléfono"
+
+#: ../rules/base.xml.in.h:32
+msgid "Acer AirKey V"
+msgstr "Acer AirKey V"
+
+#: ../rules/base.xml.in.h:33
+msgid "Acer C300"
+msgstr "Acer C300"
+
+#: ../rules/base.xml.in.h:34
+msgid "Acer Ferrari 4000"
+msgstr "Acer Ferrari 4000"
+
+#: ../rules/base.xml.in.h:35
+msgid "Acer Laptop"
+msgstr "Portátil Acer"
+
+#: ../rules/base.xml.in.h:36
+msgid "Add the standard behavior to Menu key"
+msgstr "Añadir el comportamiento estándar a la tecla Menú."
+
+#: ../rules/base.xml.in.h:37
+msgid "Adding Esperanto circumflexes (supersigno)"
+msgstr "Engadir os tiles circunflexas do esperanto (supersigno)"
+
+#: ../rules/base.xml.in.h:38
+msgid "Adding EuroSign to certain keys"
+msgstr "Engadir o símbolo do Euro a certas teclas"
+
+#: ../rules/base.xml.in.h:39
+msgid "Advance Scorpius KI"
+msgstr "Advance Scorpius KI"
+
+#: ../rules/base.xml.in.h:40
+msgid "Afg"
+msgstr "Afg"
+
+#: ../rules/base.xml.in.h:41
+msgid "Afghanistan"
+msgstr "Afganistán"
+
+#: ../rules/base.xml.in.h:42
+msgid "Akan"
+msgstr "Akan"
+
+#: ../rules/base.xml.in.h:43
+msgid "Alb"
+msgstr "Alb"
+
+#: ../rules/base.xml.in.h:44
+msgid "Albania"
+msgstr "Albania"
+
+#: ../rules/base.xml.in.h:45
+msgid "Alt and Meta are on Alt keys"
+msgstr "Alt e Meta están nas teclas Alt"
+
+#: ../rules/base.xml.in.h:46
+msgid "Alt is mapped to Right Win, Super to Menu"
+msgstr "Alt está asignada á tecla Windows dereita e Super a tecla Menú"
+
+#: ../rules/base.xml.in.h:47
+msgid "Alt+Caps Lock"
+msgstr "Alt+Bloq Maiús"
+
+#: ../rules/base.xml.in.h:48
+msgid "Alt+Ctrl"
+msgstr "Alt+Ctrl"
+
+#: ../rules/base.xml.in.h:49
+msgid "Alt+Shift"
+msgstr "Alt+Maiús"
+
+#: ../rules/base.xml.in.h:50
+msgid "Alt+Space"
+msgstr "Alt+Espacio"
+
+#: ../rules/base.xml.in.h:51
+msgid "Alt-Q"
+msgstr "Alt-Q"
+
+#: ../rules/base.xml.in.h:52
+msgid "Alt/Win key behavior"
+msgstr "Comportamento da tecla Alt/Windows"
+
+#: ../rules/base.xml.in.h:53
+msgid "Alternative"
+msgstr "Alternativa"
+
+#: ../rules/base.xml.in.h:54
+msgid "Alternative Eastern"
+msgstr "Alternativa oriental"
+
+#: ../rules/base.xml.in.h:55
+msgid "Alternative Phonetic"
+msgstr "Alternativa fonética"
+
+#: ../rules/base.xml.in.h:56
+msgid "Alternative international"
+msgstr "Alternativa internacional"
+
+#: ../rules/base.xml.in.h:57
+msgid "Alternative, Sun dead keys"
+msgstr "Alternativa, teclas mortas de Sun"
+
+#: ../rules/base.xml.in.h:58
+msgid "Alternative, eliminate dead keys"
+msgstr "Alternativa, eliminar teclas mortas"
+
+#: ../rules/base.xml.in.h:59
+msgid "Alternative, latin-9 only"
+msgstr "Alternativa, só latin-9"
+
+#: ../rules/base.xml.in.h:60
+msgid "And"
+msgstr "And"
+
+#: ../rules/base.xml.in.h:61
+msgid "Andorra"
+msgstr "Andorra"
+
+#: ../rules/base.xml.in.h:62
+msgid "Any Alt key"
+msgstr "Calquera tecla Alt"
+
+#: ../rules/base.xml.in.h:63
+msgid "Any Win key"
+msgstr "Calquera tecla Windows"
+
+#: ../rules/base.xml.in.h:64
+msgid "Any Win key (while pressed)"
+msgstr "Calquera tecla Windows (ao pulsala)"
+
+#: ../rules/base.xml.in.h:65
+msgid "Apostrophe (') variant"
+msgstr "Variante apóstrofo (')"
+
+#: ../rules/base.xml.in.h:66
+msgid "Apple"
+msgstr "Apple"
+
+#: ../rules/base.xml.in.h:67
+msgid "Apple Aluminium Keyboard (ANSI)"
+msgstr "Teclado de aluminio de Apple (ANSI)"
+
+#: ../rules/base.xml.in.h:68
+msgid "Apple Aluminium Keyboard (ISO)"
+msgstr "Teclado de aluminio de Apple (ISO)"
+
+#: ../rules/base.xml.in.h:69
+msgid "Apple Aluminium Keyboard (JIS)"
+msgstr "Teclado de aluminio de Apple (JIS)"
+
+#: ../rules/base.xml.in.h:70
+msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num Lock)"
+msgstr "Teclado de aluminio de Apple: emular teclas PC (Imprimir, Bloq Despl, Pausa, Bloq Núm)"
+
+#: ../rules/base.xml.in.h:71
+msgid "Apple Laptop"
+msgstr "Portátil Apple"
+
+#: ../rules/base.xml.in.h:72
+msgid "Ara"
+msgstr "Ara"
+
+#: ../rules/base.xml.in.h:73
+msgid "Arabic"
+msgstr "Árabe"
+
+#: ../rules/base.xml.in.h:74
+msgid "Arm"
+msgstr "Arm"
+
+#: ../rules/base.xml.in.h:75
+msgid "Armenia"
+msgstr "Armenia"
+
+#: ../rules/base.xml.in.h:76
+msgid "Asturian variant with bottom-dot H and bottom-dot L"
+msgstr "Variante asturiana con H de medio punto e L de medio punto"
+
+#: ../rules/base.xml.in.h:77
+msgid "Asus Laptop"
+msgstr "Portátil Asus"
+
+#: ../rules/base.xml.in.h:78
+msgid "At bottom left"
+msgstr "Na parte inferior esquerda"
+
+#: ../rules/base.xml.in.h:79
+msgid "At left of 'A'"
+msgstr "Á esquerda do «A»"
+
+#: ../rules/base.xml.in.h:80
+msgid "Austria"
+msgstr "Austria"
+
+#: ../rules/base.xml.in.h:81
+msgid "Aut"
+msgstr "Aut"
+
+#: ../rules/base.xml.in.h:82
+msgid "Avatime"
+msgstr "Avatime"
+
+#: ../rules/base.xml.in.h:83
+msgid "Aze"
+msgstr "Aze"
+
+#: ../rules/base.xml.in.h:84
+msgid "Azerbaijan"
+msgstr "Azerbaixán"
+
+#: ../rules/base.xml.in.h:85
+msgid "Azona RF2300 wireless Internet Keyboard"
+msgstr "Azona RF2300 wireless Internet Keyboard"
+
+#: ../rules/base.xml.in.h:86
+msgid "BTC 5090"
+msgstr "BTC 5090"
+
+#: ../rules/base.xml.in.h:87
+msgid "BTC 5113RF Multimedia"
+msgstr "BTC 5113RF Multimedia"
+
+#: ../rules/base.xml.in.h:88
+msgid "BTC 5126T"
+msgstr "BTC 5126T"
+
+#: ../rules/base.xml.in.h:89
+msgid "BTC 6301URF"
+msgstr "BTC 6301URF"
+
+#: ../rules/base.xml.in.h:90
+msgid "BTC 9000"
+msgstr "BTC 9000"
+
+#: ../rules/base.xml.in.h:91
+msgid "BTC 9000A"
+msgstr "BTC 9000A"
+
+#: ../rules/base.xml.in.h:92
+msgid "BTC 9001AH"
+msgstr "BTC 9001AH"
+
+#: ../rules/base.xml.in.h:93
+msgid "BTC 9019U"
+msgstr "BTC 9019U"
+
+#: ../rules/base.xml.in.h:94
+msgid "BTC 9116U Mini Wireless Internet and Gaming"
+msgstr "BTC 9116U Mini Wireless Internet and Gaming"
+
+#: ../rules/base.xml.in.h:95
+msgid "Backslash"
+msgstr "Contrabarra"
+
+#: ../rules/base.xml.in.h:96
+msgid "Bangladesh"
+msgstr "Bangladesh"
+
+#: ../rules/base.xml.in.h:97
+msgid "Bashkirian"
+msgstr "Bashkiriano"
+
+#: ../rules/base.xml.in.h:98
+msgid "Bel"
+msgstr "Bel"
+
+#: ../rules/base.xml.in.h:99
+msgid "Belarus"
+msgstr "Bielorusia"
+
+#: ../rules/base.xml.in.h:100
+msgid "Belgium"
+msgstr "Bélxica"
+
+#: ../rules/base.xml.in.h:101
+msgid "BenQ X-Touch"
+msgstr "BenQ X-Touch"
+
+#: ../rules/base.xml.in.h:102
+msgid "BenQ X-Touch 730"
+msgstr "BenQ X-Touch 730"
+
+#: ../rules/base.xml.in.h:103
+msgid "BenQ X-Touch 800"
+msgstr "BenQ X-Touch 800"
+
+#: ../rules/base.xml.in.h:104
+msgid "Bengali"
+msgstr "Bengalí"
+
+#: ../rules/base.xml.in.h:105
+msgid "Bengali Probhat"
+msgstr "Probhat Bengalí"
+
+#: ../rules/base.xml.in.h:106
+msgid "Bepo, ergonomic, Dvorak way"
+msgstr "Bepo, ergonómico, forma Dvorak"
+
+#: ../rules/base.xml.in.h:107
+msgid "Bepo, ergonomic, Dvorak way, latin-9 only"
+msgstr "Bepo, ergonómico, forma Dvorak, só latin-9"
+
+#: ../rules/base.xml.in.h:108
+msgid "Bgd"
+msgstr "Bgd"
+
+#: ../rules/base.xml.in.h:109
+msgid "Bgr"
+msgstr "Bgr"
+
+#: ../rules/base.xml.in.h:110
+msgid "Bhutan"
+msgstr "Bhután"
+
+#: ../rules/base.xml.in.h:111
+msgid "Biblical Hebrew (Tiro)"
+msgstr "Hebreo bíblico (Tiro)"
+
+#: ../rules/base.xml.in.h:112
+msgid "Bih"
+msgstr "Bih"
+
+#: ../rules/base.xml.in.h:113
+msgid "Blr"
+msgstr "Blr"
+
+#: ../rules/base.xml.in.h:114
+msgid "Bosnia and Herzegovina"
+msgstr "Bosnia e Herzegovina"
+
+#: ../rules/base.xml.in.h:115
+msgid "Both Alt keys together"
+msgstr "Ámbalas teclas Alt xuntas"
+
+#: ../rules/base.xml.in.h:116
+msgid "Both Ctrl keys together"
+msgstr "Ámbalas teclas Ctrl xuntas"
+
+#: ../rules/base.xml.in.h:117
+msgid "Both Shift keys together"
+msgstr "Ámbalas teclas «Maiús» xuntas"
+
+#: ../rules/base.xml.in.h:118
+msgid "Both Shift-Keys together toggle Caps Lock"
+msgstr "Ámbalas teclas «Maiús» xuntas trocan o Bloqueo de maiúsculas"
+
+#: ../rules/base.xml.in.h:119
+msgid "Botswana"
+msgstr "Botswana"
+
+#: ../rules/base.xml.in.h:120
+msgid "Bra"
+msgstr "Bra"
+
+#: ../rules/base.xml.in.h:121
+msgid "Braille"
+msgstr "Braille"
+
+#: ../rules/base.xml.in.h:122
+msgid "Brazil"
+msgstr "Brasil"
+
+#: ../rules/base.xml.in.h:123
+msgid "Breton"
+msgstr "Bretón"
+
+#: ../rules/base.xml.in.h:124
+msgid "Brl"
+msgstr "Brl"
+
+#: ../rules/base.xml.in.h:125
+msgid "Brother Internet Keyboard"
+msgstr "Brother Internet Keyboard"
+
+#: ../rules/base.xml.in.h:126
+msgid "Btn"
+msgstr "Btn"
+
+#: ../rules/base.xml.in.h:127
+msgid "Buckwalter"
+msgstr "Buckwalter"
+
+#: ../rules/base.xml.in.h:128
+msgid "Bulgaria"
+msgstr "Bulgaria"
+
+#: ../rules/base.xml.in.h:129
+msgid "Bwa"
+msgstr "Bwa"
+
+#: ../rules/base.xml.in.h:130
+msgid "COD"
+msgstr "COD"
+
+#: ../rules/base.xml.in.h:131
+msgid "CRULP"
+msgstr "CRULP"
+
+#: ../rules/base.xml.in.h:132
+msgid "Cambodia"
+msgstr "Camboya"
+
+#: ../rules/base.xml.in.h:133
+msgid "Can"
+msgstr "Can"
+
+#: ../rules/base.xml.in.h:134
+msgid "Canada"
+msgstr "Canadá"
+
+#: ../rules/base.xml.in.h:135
+msgid "Caps Lock"
+msgstr "Bloqueo de maiúsculas"
+
+#: ../rules/base.xml.in.h:136
+msgid "Caps Lock (to first layout), Shift+Caps Lock (to last layout)"
+msgstr "Bloqueo de maiúsculas (á primeira disposición), Maiús+Bloq Maiús (á última disposición)"
+
+#: ../rules/base.xml.in.h:137
+msgid "Caps Lock (while pressed), Alt+Caps Lock does the original capslock action"
+msgstr "Bloqueo de maiúsculas (ao pulsarse), Alt+Bloq Maiús realiza a acción orixinal de bloqueo de maiúsculas"
+
+#: ../rules/base.xml.in.h:138
+msgid "Caps Lock acts as Shift with locking. Shift \"pauses\" Caps Lock"
+msgstr "Bloq Maiús actúa como Maiús con bloqueo; May¡iús «pausa» Bloq Maiús"
+
+#: ../rules/base.xml.in.h:139
+msgid "Caps Lock acts as Shift with locking. Shift doesn't affect Caps Lock"
+msgstr "Bloq Maiús actúa como Maiús con bloqueo; Maiús non afecta a Bloq Maiús"
+
+#: ../rules/base.xml.in.h:140
+msgid "Caps Lock is disabled"
+msgstr "Bloq Maiús está desactivado"
+
+#: ../rules/base.xml.in.h:141
+msgid "Caps Lock key behavior"
+msgstr "Comportameento de Bloq Maiús"
+
+#: ../rules/base.xml.in.h:142
+msgid "Caps Lock toggles Shift so all keys are affected"
+msgstr "Bloq Maiús cambia Maiús de forma que todas as teclas están afectadas"
+
+#: ../rules/base.xml.in.h:143
+msgid "Caps Lock toggles normal capitalization of alphabetic characters"
+msgstr "Bloq Maiús cambia a capitalización normal dos caracteres alfabéticos"
+
+#: ../rules/base.xml.in.h:144
+msgid "Caps Lock uses internal capitalization. Shift \"pauses\" Caps Lock"
+msgstr "Bloq Maiús usa a capitalización interna; Maiús «pausa» o Bloq Maiús"
+
+#: ../rules/base.xml.in.h:145
+msgid "Caps Lock uses internal capitalization. Shift doesn't affect Caps Lock"
+msgstr "Bloq Maiús usa a capitalización interna; Maiús non afecta a Bloq Maiús"
+
+#: ../rules/base.xml.in.h:146
+msgid "Catalan variant with middle-dot L"
+msgstr "Variante catalana con L de medio punto"
+
+#: ../rules/base.xml.in.h:147
+msgid "Cedilla"
+msgstr "Cedilla"
+
+#: ../rules/base.xml.in.h:148
+msgid "Che"
+msgstr "Che"
+
+#: ../rules/base.xml.in.h:149
+msgid "Cherokee"
+msgstr "Cherokee"
+
+#: ../rules/base.xml.in.h:150
+msgid "Cherry B.UNLIMITED"
+msgstr "Cherry B.UNLIMITED"
+
+#: ../rules/base.xml.in.h:151
+msgid "Cherry Blue Line CyBo@rd"
+msgstr "Cherry Blue Line CyBo@rd"
+
+#: ../rules/base.xml.in.h:152
+msgid "Cherry Blue Line CyBo@rd (alternate option)"
+msgstr "Cherry Blue Line CyBo@rd (opción alternativa)"
+
+#: ../rules/base.xml.in.h:153
+msgid "Cherry CyBo@rd USB-Hub"
+msgstr "Cherry CyBo@rd USB-Hub"
+
+#: ../rules/base.xml.in.h:154
+msgid "Cherry CyMotion Expert"
+msgstr "Cherry CyMotion Expert"
+
+#: ../rules/base.xml.in.h:155
+msgid "Cherry CyMotion Master Linux"
+msgstr "Cherry CyMotion Master Linux"
+
+#: ../rules/base.xml.in.h:156
+msgid "Cherry CyMotion Master XPress"
+msgstr "Cherry CyMotion Master XPress"
+
+#: ../rules/base.xml.in.h:157
+msgid "Chicony Internet Keyboard"
+msgstr "Chicony Internet Keyboard"
+
+#: ../rules/base.xml.in.h:158
+msgid "Chicony KB-9885"
+msgstr "Chicony KB-9885"
+
+#: ../rules/base.xml.in.h:159
+msgid "Chicony KU-0108"
+msgstr "Chicony KU-0108"
+
+#: ../rules/base.xml.in.h:160
+msgid "Chicony KU-0420"
+msgstr "Chicony KU-0420"
+
+#: ../rules/base.xml.in.h:161
+msgid "China"
+msgstr "China"
+
+#: ../rules/base.xml.in.h:162
+msgid "Chn"
+msgstr "Chn"
+
+#: ../rules/base.xml.in.h:163
+msgid "Chuvash"
+msgstr "Chuvash"
+
+#: ../rules/base.xml.in.h:164
+msgid "Chuvash Latin"
+msgstr "Chuvash latino"
+
+#: ../rules/base.xml.in.h:165
+msgid "Classic"
+msgstr "Clásico"
+
+#: ../rules/base.xml.in.h:166
+msgid "Classic Dvorak"
+msgstr "Dvorak clásico"
+
+#: ../rules/base.xml.in.h:167
+msgid "Classic, eliminate dead keys"
+msgstr "Clásico, eliminar teclas mortas"
+
+#: ../rules/base.xml.in.h:168
+msgid "Classmate PC"
+msgstr "Classmate PC"
+
+#: ../rules/base.xml.in.h:169
+msgid "CloGaelach"
+msgstr "CloGaelach"
+
+#: ../rules/base.xml.in.h:170
+msgid "Colemak"
+msgstr "Colemak"
+
+#: ../rules/base.xml.in.h:171
+msgid "Compaq Easy Access Keyboard"
+msgstr "Compaq Easy Access Keyboard"
+
+#: ../rules/base.xml.in.h:172
+msgid "Compaq Internet Keyboard (13 keys)"
+msgstr "Compaq Internet Keyboard (13 teclas)"
+
+#: ../rules/base.xml.in.h:173
+msgid "Compaq Internet Keyboard (18 keys)"
+msgstr "Compaq Internet Keyboard (18 teclas)"
+
+#: ../rules/base.xml.in.h:174
+msgid "Compaq Internet Keyboard (7 keys)"
+msgstr "Compaq Internet Keyboard (7 teclas)"
+
+#: ../rules/base.xml.in.h:175
+msgid "Compaq iPaq Keyboard"
+msgstr "Compaq iPaq Keyboard"
+
+#: ../rules/base.xml.in.h:176
+msgid "Compose key position"
+msgstr "Posición da tecla Compoñer"
+
+#: ../rules/base.xml.in.h:177
+msgid "Congo, Democratic Republic of the"
+msgstr "Congo, República Democrática do"
+
+#: ../rules/base.xml.in.h:178
+msgid "Control + Alt + Backspace"
+msgstr "Control + Alt + Retroceso"
+
+#: ../rules/base.xml.in.h:179
+msgid "Control is mapped to Alt keys, Alt is mapped to Win keys"
+msgstr "Control está asignada ás teclas Alt, Alt está mapeado ás teclas Windows"
+
+#: ../rules/base.xml.in.h:180
+msgid "Control is mapped to Win keys (and the usual Ctrl keys)"
+msgstr "Control está asignada ás teclas Windows (e as teclas Ctrl usuais)"
+
+#: ../rules/base.xml.in.h:181
+msgid "Creative Desktop Wireless 7000"
+msgstr "Creative Desktop Wireless 7000"
+
+#: ../rules/base.xml.in.h:182
+msgid "Crimean Tatar (Dobruca-1 Q)"
+msgstr "Tártaro de Crimea (Dobruca-1 Q)"
+
+#: ../rules/base.xml.in.h:183
+msgid "Crimean Tatar (Dobruca-2 Q)"
+msgstr "Tártaro de Crimea (Dobruca-2 Q)"
+
+#: ../rules/base.xml.in.h:184
+msgid "Crimean Tatar (Turkish Alt-Q)"
+msgstr "Tártaro de Crimea (turco Alt-Q)"
+
+#: ../rules/base.xml.in.h:185
+msgid "Crimean Tatar (Turkish F)"
+msgstr "Tártaro de Crimea (turco F)"
+
+#: ../rules/base.xml.in.h:186
+msgid "Crimean Tatar (Turkish Q)"
+msgstr "Tártaro de Crimea (turco Q)"
+
+#: ../rules/base.xml.in.h:187
+msgid "Croatia"
+msgstr "Croacia"
+
+#: ../rules/base.xml.in.h:188
+msgid "Ctrl key position"
+msgstr "Posición da tecla Ctrl"
+
+#: ../rules/base.xml.in.h:189
+msgid "Ctrl+Shift"
+msgstr "Ctrl+Maiús"
+
+#: ../rules/base.xml.in.h:190
+msgid "Cyrillic"
+msgstr "Cirílico"
+
+#: ../rules/base.xml.in.h:191
+msgid "Cyrillic with guillemets"
+msgstr "Cirílico con guillemots"
+
+#: ../rules/base.xml.in.h:192
+msgid "Cyrillic, Z and ZHE swapped"
+msgstr "Cirílico, Z e ZHE intercambiados"
+
+#: ../rules/base.xml.in.h:193
+msgid "Cze"
+msgstr "Che"
+
+#: ../rules/base.xml.in.h:194
+msgid "Czechia"
+msgstr "Chequia"
+
+#: ../rules/base.xml.in.h:195
+msgid "DOS"
+msgstr "DOS"
+
+#: ../rules/base.xml.in.h:196
+msgid "DTK2000"
+msgstr "DTK2000"
+
+#: ../rules/base.xml.in.h:197
+msgid "Dead acute"
+msgstr "Acento morto"
+
+#: ../rules/base.xml.in.h:198
+msgid "Dead grave acute"
+msgstr "Acento grave morto"
+
+#: ../rules/base.xml.in.h:199
+msgid "Default numeric keypad keys"
+msgstr "Teclas do teclado numérico por omisión"
+
+#: ../rules/base.xml.in.h:200
+msgid "Dell"
+msgstr "Dell"
+
+#: ../rules/base.xml.in.h:201
+msgid "Dell 101-key PC"
+msgstr "Dell PC 101 teclas"
+
+#: ../rules/base.xml.in.h:202
+msgid "Dell Laptop/notebook Inspiron 6xxx/8xxx"
+msgstr "Dell Laptop/notebook Inspiron 6xxx/8xxx"
+
+#: ../rules/base.xml.in.h:203
+msgid "Dell Laptop/notebook Precision M series"
+msgstr "Portátil Dell/notebook Precision M series"
+
+#: ../rules/base.xml.in.h:204
+msgid "Dell Latitude series laptop"
+msgstr "Portátil Dell Latitude"
+
+#: ../rules/base.xml.in.h:205
+msgid "Dell Precision M65"
+msgstr "Dell Precision M65"
+
+#: ../rules/base.xml.in.h:206
+msgid "Dell SK-8125"
+msgstr "Dell SK-8125"
+
+#: ../rules/base.xml.in.h:207
+msgid "Dell SK-8135"
+msgstr "Dell SK-8135"
+
+#: ../rules/base.xml.in.h:208
+msgid "Dell USB Multimedia Keyboard"
+msgstr "Dell USB Multimedia Keyboard"
+
+#: ../rules/base.xml.in.h:209
+msgid "Denmark"
+msgstr "Dinamarca"
+
+#: ../rules/base.xml.in.h:210
+msgid "Deu"
+msgstr "Deu"
+
+#: ../rules/base.xml.in.h:211
+msgid "Dexxa Wireless Desktop Keyboard"
+msgstr "Dexxa Wireless Desktop Keyboard"
+
+#: ../rules/base.xml.in.h:212
+msgid "Diamond 9801 / 9802 series"
+msgstr "Diamond 9801 / 9802 series"
+
+#: ../rules/base.xml.in.h:213
+msgid "Dnk"
+msgstr "Dnk"
+
+#: ../rules/base.xml.in.h:214
+msgid "Dvorak"
+msgstr "Dvorak"
+
+#: ../rules/base.xml.in.h:215
+msgid "Dvorak (UK Punctuation)"
+msgstr "Dvorak (puntuación de RU)"
+
+#: ../rules/base.xml.in.h:216
+msgid "Dvorak alternative international (no dead keys)"
+msgstr "Alternativa dvorak internacional (sin teclas muertas)"
+
+#: ../rules/base.xml.in.h:217
+msgid "Dvorak international (with dead keys)"
+msgstr "Dvorak internacional (con teclas muertas)"
+
+#: ../rules/base.xml.in.h:218
+msgid "Dvorak, Polish quotes on key 1"
+msgstr "Dvorak, comillas polacas en la tecla 1"
+
+#: ../rules/base.xml.in.h:219
+msgid "Dvorak, Polish quotes on quotemark key"
+msgstr "Dvorak, comillas polacas en la tecla de comillas"
+
+#: ../rules/base.xml.in.h:220
+msgid "E"
+msgstr "E"
+
+#: ../rules/base.xml.in.h:221
+msgid "Eastern"
+msgstr "Oriental"
+
+#: ../rules/base.xml.in.h:222
+msgid "Eliminate dead keys"
+msgstr "Eliminar teclas mortas"
+
+#: ../rules/base.xml.in.h:223
+msgid "Enable extra typographic characters"
+msgstr "Activar caracteres tipográficos adicionais"
+
+#: ../rules/base.xml.in.h:224
+msgid "English"
+msgstr "Inglés"
+
+#: ../rules/base.xml.in.h:225
+msgid "English (USA International)"
+msgstr "Inglés (EE. UU. internacional)"
+
+#: ../rules/base.xml.in.h:226
+msgid "English (USA Macintosh)"
+msgstr "Inglés (EE. UU. Macintosh)"
+
+#: ../rules/base.xml.in.h:227
+msgid "Ennyah DKB-1008"
+msgstr "Ennyah DKB-1008"
+
+#: ../rules/base.xml.in.h:228
+msgid "Enter on keypad"
+msgstr "Intro en el teclado numérico"
+
+#: ../rules/base.xml.in.h:229
+msgid "Epo"
+msgstr "Epo"
+
+#: ../rules/base.xml.in.h:230
+msgid "Ergonomic"
+msgstr "Ergonómico"
+
+#: ../rules/base.xml.in.h:231
+msgid "Esp"
+msgstr "Esp"
+
+#: ../rules/base.xml.in.h:232
+msgid "Esperanto"
+msgstr "Esperanto"
+
+#: ../rules/base.xml.in.h:233
+msgid "Est"
+msgstr "Est"
+
+#: ../rules/base.xml.in.h:234
+msgid "Estonia"
+msgstr "Estonia"
+
+#: ../rules/base.xml.in.h:235
+msgid "Eth"
+msgstr "Eth"
+
+#: ../rules/base.xml.in.h:236
+msgid "Ethiopia"
+msgstr "Etiopía"
+
+#: ../rules/base.xml.in.h:237
+msgid "Everex STEPnote"
+msgstr "Everex STEPnote"
+
+#: ../rules/base.xml.in.h:238
+msgid "Ewe"
+msgstr "Ewe"
+
+#: ../rules/base.xml.in.h:239
+msgid "Extended"
+msgstr "Extendido"
+
+#: ../rules/base.xml.in.h:240
+msgid "Extended - Winkeys"
+msgstr "Estendido - teclas Windows"
+
+#: ../rules/base.xml.in.h:241
+msgid "Extended Backslash"
+msgstr "Contrabarra estendida"
+
+#: ../rules/base.xml.in.h:242
+msgid "F-letter (F) variant"
+msgstr "Variante de letra F (F)"
+
+#: ../rules/base.xml.in.h:243
+msgid "FL90"
+msgstr "FL90"
+
+#: ../rules/base.xml.in.h:244
+msgid "Faroe Islands"
+msgstr "Illas Feroe"
+
+#: ../rules/base.xml.in.h:245
+msgid "Fin"
+msgstr "Fin"
+
+#: ../rules/base.xml.in.h:246
+msgid "Finland"
+msgstr "Finlandia"
+
+#. This assumes the KP_ abstract symbols are actually useful for some apps
+#. The description needs to be rewritten
+#: ../rules/base.xml.in.h:249
+msgid "Four-level key with abstract separators"
+msgstr "Tecla de cuarto nivel con separadores abstratos"
+
+#: ../rules/base.xml.in.h:250
+msgid "Four-level key with comma"
+msgstr "Tecla de cuarto nivel con coma"
+
+#: ../rules/base.xml.in.h:251
+msgid "Four-level key with dot"
+msgstr "Tecla de cuarto nivel con punto"
+
+#: ../rules/base.xml.in.h:252
+msgid "Four-level key with dot, latin-9 restriction"
+msgstr "Tecla de cuarto nivel con punto, restrición latin-9"
+
+#: ../rules/base.xml.in.h:253
+msgid "Four-level key with momayyez"
+msgstr "Tecla de cuarto nivel con momayyez"
+
+#: ../rules/base.xml.in.h:254
+msgid "Fra"
+msgstr "Fra"
+
+#: ../rules/base.xml.in.h:255
+msgid "France"
+msgstr "Francia"
+
+#: ../rules/base.xml.in.h:256
+msgid "Français (France Alternative)"
+msgstr "Francés (alternativa francesa)"
+
+#: ../rules/base.xml.in.h:257
+msgid "French"
+msgstr "Francés"
+
+#: ../rules/base.xml.in.h:258
+msgid "French (Macintosh)"
+msgstr "Francés (Macintosh)"
+
+#: ../rules/base.xml.in.h:259
+msgid "French (legacy)"
+msgstr "Francés (heredado)"
+
+#: ../rules/base.xml.in.h:260
+msgid "French Dvorak"
+msgstr "Francés Dvorak"
+
+#: ../rules/base.xml.in.h:261
+msgid "French, Sun dead keys"
+msgstr "Francés, teclas mortas Sun"
+
+#: ../rules/base.xml.in.h:262
+msgid "French, eliminate dead keys"
+msgstr "Francés, eliminar teclas mortas"
+
+#: ../rules/base.xml.in.h:263
+msgid "Fro"
+msgstr "Fro"
+
+#: ../rules/base.xml.in.h:264
+msgid "Fujitsu-Siemens Computers AMILO laptop"
+msgstr "Portátil Fujitsu-Siemens Computers AMILO"
+
+#: ../rules/base.xml.in.h:265
+msgid "Fula"
+msgstr "Fula"
+
+#: ../rules/base.xml.in.h:266
+msgid "GBr"
+msgstr "GBr"
+
+#: ../rules/base.xml.in.h:267
+msgid "GILLBT"
+msgstr "GILLBT"
+
+#: ../rules/base.xml.in.h:268
+msgid "Ga"
+msgstr "Ga"
+
+#: ../rules/base.xml.in.h:269
+msgid "Generic 101-key PC"
+msgstr "PC xenérico 101 teclas"
+
+#: ../rules/base.xml.in.h:270
+msgid "Generic 102-key (Intl) PC"
+msgstr "PC xenérico 102 teclas (intl)"
+
+#: ../rules/base.xml.in.h:271
+msgid "Generic 104-key PC"
+msgstr "PC xenérico 104 teclas"
+
+#: ../rules/base.xml.in.h:272
+msgid "Generic 105-key (Intl) PC"
+msgstr "PC xenérico 105 teclas (intl)"
+
+#: ../rules/base.xml.in.h:273
+msgid "Genius Comfy KB-12e"
+msgstr "Genius Comfy KB-12e"
+
+#: ../rules/base.xml.in.h:274
+msgid "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
+msgstr "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
+
+#: ../rules/base.xml.in.h:275
+msgid "Genius Comfy KB-21e-Scroll"
+msgstr "Genius Comfy KB-21e-Scroll"
+
+#: ../rules/base.xml.in.h:276
+msgid "Genius KB-19e NB"
+msgstr "Genius KB-19e NB"
+
+#: ../rules/base.xml.in.h:277
+msgid "Genius KKB-2050HS"
+msgstr "Genius KKB-2050HS"
+
+#: ../rules/base.xml.in.h:278
+msgid "Geo"
+msgstr "Geo"
+
+#: ../rules/base.xml.in.h:279
+msgid "Georgia"
+msgstr "Xeorxia"
+
+#: ../rules/base.xml.in.h:280
+msgid "Georgian"
+msgstr "Xeorxiano"
+
+#: ../rules/base.xml.in.h:281
+msgid "Georgian AZERTY Tskapo"
+msgstr "AZERTY Tskapo xeorxiano"
+
+#: ../rules/base.xml.in.h:282
+msgid "German (Macintosh)"
+msgstr "Alemán (Macintosh)"
+
+#: ../rules/base.xml.in.h:283
+msgid "German, Sun dead keys"
+msgstr "Alemán, teclas mortas Sun"
+
+#: ../rules/base.xml.in.h:284
+msgid "German, eliminate dead keys"
+msgstr "Alemán, eliminar teclas mortas"
+
+#: ../rules/base.xml.in.h:285
+msgid "Germany"
+msgstr "Alemaña"
+
+#: ../rules/base.xml.in.h:286
+msgid "Gha"
+msgstr "Gha"
+
+#: ../rules/base.xml.in.h:287
+msgid "Ghana"
+msgstr "Ghana"
+
+#: ../rules/base.xml.in.h:288
+msgid "Gin"
+msgstr "Gin"
+
+#: ../rules/base.xml.in.h:289
+msgid "Grc"
+msgstr "Grc"
+
+#: ../rules/base.xml.in.h:290
+msgid "Greece"
+msgstr "Grecia"
+
+#: ../rules/base.xml.in.h:291
+msgid "Guinea"
+msgstr "Guinea"
+
+#: ../rules/base.xml.in.h:292
+msgid "Gujarati"
+msgstr "Guxarati"
+
+#: ../rules/base.xml.in.h:293
+msgid "Gurmukhi"
+msgstr "Gurmukhi"
+
+#: ../rules/base.xml.in.h:294
+msgid "Gurmukhi Jhelum"
+msgstr "Gurmukhi Jhelum"
+
+#: ../rules/base.xml.in.h:295
+msgid "Gyration"
+msgstr "Gyration"
+
+#: ../rules/base.xml.in.h:296
+msgid "Happy Hacking Keyboard"
+msgstr "Teclado Happy Hacking"
+
+#: ../rules/base.xml.in.h:297
+msgid "Happy Hacking Keyboard for Mac"
+msgstr "Teclado Happy Hacking para Mac"
+
+#: ../rules/base.xml.in.h:298
+msgid "Hausa"
+msgstr "Hausa"
+
+#: ../rules/base.xml.in.h:299
+msgid "Hewlett-Packard Internet Keyboard"
+msgstr "Teclado Hewlett-Packard Internet"
+
+#: ../rules/base.xml.in.h:300
+msgid "Hewlett-Packard Mini 110 Notebook"
+msgstr "Hewlett-Packard Mini 110 Notebook"
+
+#: ../rules/base.xml.in.h:301
+msgid "Hewlett-Packard Omnibook 500 FA"
+msgstr "Hewlett-Packard Omnibook 500 FA"
+
+#: ../rules/base.xml.in.h:302
+msgid "Hewlett-Packard Omnibook 5xx"
+msgstr "Hewlett-Packard Omnibook 5xx"
+
+#: ../rules/base.xml.in.h:303
+msgid "Hewlett-Packard Omnibook 6000/6100"
+msgstr "Hewlett-Packard Omnibook 6000/6100"
+
+#: ../rules/base.xml.in.h:304
+msgid "Hewlett-Packard Omnibook XE3 GC"
+msgstr "Hewlett-Packard Omnibook XE3 GC"
+
+#: ../rules/base.xml.in.h:305
+msgid "Hewlett-Packard Omnibook XE3 GF"
+msgstr "Hewlett-Packard Omnibook XE3 GF"
+
+#: ../rules/base.xml.in.h:306
+msgid "Hewlett-Packard Omnibook XT1000"
+msgstr "Hewlett-Packard Omnibook XT1000"
+
+#: ../rules/base.xml.in.h:307
+msgid "Hewlett-Packard Pavilion ZT11xx"
+msgstr "Hewlett-Packard Pavilion ZT11xx"
+
+#: ../rules/base.xml.in.h:308
+msgid "Hewlett-Packard Pavilion dv5"
+msgstr "Hewlett-Packard Pavilion dv5"
+
+#: ../rules/base.xml.in.h:309
+msgid "Hewlett-Packard SK-250x Multimedia Keyboard"
+msgstr "Hewlett-Packard SK-250x Multimedia Keyboard"
+
+#: ../rules/base.xml.in.h:310
+msgid "Hewlett-Packard nx9020"
+msgstr "Hewlett-Packard nx9020"
+
+#: ../rules/base.xml.in.h:311
+msgid "Hexadecimal"
+msgstr "Hexadecimal"
+
+#: ../rules/base.xml.in.h:312
+msgid "Hindi Bolnagri"
+msgstr "Hindi Bolnagri"
+
+#: ../rules/base.xml.in.h:313
+msgid "Hindi Wx"
+msgstr "Hindi Wx"
+
+#: ../rules/base.xml.in.h:314
+msgid "Homophonic"
+msgstr "Homofónico"
+
+#: ../rules/base.xml.in.h:315
+msgid "Honeywell Euroboard"
+msgstr "Honeywell Euroboard"
+
+#: ../rules/base.xml.in.h:316
+msgid "Hrv"
+msgstr "Hrv"
+
+#: ../rules/base.xml.in.h:317
+msgid "Hun"
+msgstr "Hun"
+
+#: ../rules/base.xml.in.h:318
+msgid "Hungary"
+msgstr "Hungría"
+
+#: ../rules/base.xml.in.h:319
+msgid "Hyper is mapped to Win-keys"
+msgstr "Hyper está asignada ás teclas Windows"
+
+#: ../rules/base.xml.in.h:320
+msgid "IBM (LST 1205-92)"
+msgstr "IBM (LST 1205-92)"
+
+#: ../rules/base.xml.in.h:321
+msgid "IBM Rapid Access"
+msgstr "IBM Rapid Access"
+
+#: ../rules/base.xml.in.h:322
+msgid "IBM Rapid Access II"
+msgstr "IBM Rapid Access II"
+
+#: ../rules/base.xml.in.h:323
+msgid "IBM Space Saver"
+msgstr "IBM Space Saver"
+
+#: ../rules/base.xml.in.h:324
+msgid "IBM ThinkPad 560Z/600/600E/A22E"
+msgstr "IBM ThinkPad 560Z/600/600E/A22E"
+
+#: ../rules/base.xml.in.h:325
+msgid "IBM ThinkPad R60/T60/R61/T61"
+msgstr "IBM ThinkPad R60/T60/R61/T61"
+
+#: ../rules/base.xml.in.h:326
+msgid "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
+msgstr "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
+
+#: ../rules/base.xml.in.h:327
+msgid "ISO Alternate"
+msgstr "Alternativa ISO"
+
+#: ../rules/base.xml.in.h:328
+msgid "Iceland"
+msgstr "Islandia"
+
+#: ../rules/base.xml.in.h:329
+msgid "Igbo"
+msgstr "Igbo"
+
+#: ../rules/base.xml.in.h:330
+msgid "Include dead tilde"
+msgstr "Incluír tilde morta"
+
+#: ../rules/base.xml.in.h:331
+msgid "Ind"
+msgstr "Ind"
+
+#: ../rules/base.xml.in.h:332
+msgid "India"
+msgstr "India"
+
+#: ../rules/base.xml.in.h:333
+msgid "International (AltGr dead keys)"
+msgstr "Internacional (con teclas mortas AltGr)"
+
+#: ../rules/base.xml.in.h:334
+msgid "International (with dead keys)"
+msgstr "Internacional (con teclas mortas)"
+
+#: ../rules/base.xml.in.h:335
+msgid "Inuktitut"
+msgstr "Inuktitut"
+
+#: ../rules/base.xml.in.h:336 ../rules/base.extras.xml.in.h:8
+msgid "Iran"
+msgstr "Irán"
+
+#: ../rules/base.xml.in.h:337
+msgid "Iraq"
+msgstr "Iraq"
+
+#: ../rules/base.xml.in.h:338
+msgid "Ireland"
+msgstr "Irlanda"
+
+#: ../rules/base.xml.in.h:339
+msgid "Irl"
+msgstr "Irl"
+
+#: ../rules/base.xml.in.h:340
+msgid "Irn"
+msgstr "Irn"
+
+#: ../rules/base.xml.in.h:341
+msgid "Irq"
+msgstr "Irq"
+
+#: ../rules/base.xml.in.h:342
+msgid "Isl"
+msgstr "Isl"
+
+#: ../rules/base.xml.in.h:343
+msgid "Isr"
+msgstr "Isr"
+
+#: ../rules/base.xml.in.h:344
+msgid "Israel"
+msgstr "Israel"
+
+#: ../rules/base.xml.in.h:345
+msgid "Ita"
+msgstr "Ita"
+
+#: ../rules/base.xml.in.h:346
+msgid "Italy"
+msgstr "Italia"
+
+#: ../rules/base.xml.in.h:347
+msgid "Japan"
+msgstr "Xapón"
+
+#: ../rules/base.xml.in.h:348
+msgid "Japan (PC-98xx Series)"
+msgstr "Xapón (Series PC-98xx)"
+
+#: ../rules/base.xml.in.h:349
+msgid "Japanese keyboard options"
+msgstr "Opcións de teclado xaponés"
+
+#: ../rules/base.xml.in.h:350
+msgid "Jpn"
+msgstr "Xpn"
+
+#: ../rules/base.xml.in.h:351
+msgid "Kalmyk"
+msgstr "Calmuco"
+
+#: ../rules/base.xml.in.h:352
+msgid "Kana"
+msgstr "Kana"
+
+#: ../rules/base.xml.in.h:353
+msgid "Kana Lock key is locking"
+msgstr "A tecla Bloq Kana está bloqueando"
+
+#: ../rules/base.xml.in.h:354
+msgid "Kannada"
+msgstr "Kannada"
+
+#: ../rules/base.xml.in.h:355
+msgid "Kashubian"
+msgstr "Casubio"
+
+#: ../rules/base.xml.in.h:356
+msgid "Kaz"
+msgstr "Kaz"
+
+#: ../rules/base.xml.in.h:357
+msgid "Kazakh with Russian"
+msgstr "Kazaxo con ruso"
+
+#: ../rules/base.xml.in.h:358
+msgid "Kazakhstan"
+msgstr "Kazajstán"
+
+#: ../rules/base.xml.in.h:359
+msgid "Ken"
+msgstr "Ken"
+
+#: ../rules/base.xml.in.h:360
+msgid "Kenya"
+msgstr "Kenia"
+
+#: ../rules/base.xml.in.h:361
+msgid "Key sequence to kill the X server"
+msgstr "Secuencia de teclas para matar o servidor X"
+
+#: ../rules/base.xml.in.h:362
+msgid "Key to choose 3rd level"
+msgstr "Tecla para seleccionar o 3º nivel"
+
+#: ../rules/base.xml.in.h:363
+msgid "Key to choose 5th level"
+msgstr "Tecla para seleccionar o 5º nivel"
+
+#: ../rules/base.xml.in.h:364
+msgid "Key(s) to change layout"
+msgstr "Tecla(s) para cambiar a distribución"
+
+#: ../rules/base.xml.in.h:365
+msgid "Keytronic FlexPro"
+msgstr "Keytronic FlexPro"
+
+#: ../rules/base.xml.in.h:366
+msgid "Kgz"
+msgstr "Kgz"
+
+#: ../rules/base.xml.in.h:367
+msgid "Khm"
+msgstr "Khm"
+
+#: ../rules/base.xml.in.h:368
+msgid "Kikuyu"
+msgstr "Kikuyu"
+
+#: ../rules/base.xml.in.h:369
+msgid "Kinesis"
+msgstr "Kinesis"
+
+#: ../rules/base.xml.in.h:370
+msgid "Komi"
+msgstr "Komi"
+
+#: ../rules/base.xml.in.h:371
+msgid "Kor"
+msgstr "Kor"
+
+#: ../rules/base.xml.in.h:372
+msgid "Korea, Republic of"
+msgstr "Corea, República de"
+
+#: ../rules/base.xml.in.h:373
+msgid "Ktunaxa"
+msgstr "Kutenai"
+
+#: ../rules/base.xml.in.h:374
+msgid "Kurdish, (F)"
+msgstr "Kurdo, (F)"
+
+#: ../rules/base.xml.in.h:375
+msgid "Kurdish, Arabic-Latin"
+msgstr "Kurdo, arábigolatino"
+
+#: ../rules/base.xml.in.h:376
+msgid "Kurdish, Latin Alt-Q"
+msgstr "Kurdo, Latino Alt-Q"
+
+#: ../rules/base.xml.in.h:377
+msgid "Kurdish, Latin Q"
+msgstr "Kurdo, Latino Q"
+
+#: ../rules/base.xml.in.h:378
+msgid "Kyrgyzstan"
+msgstr "Kirgizstán"
+
+#: ../rules/base.xml.in.h:379
+msgid "LAm"
+msgstr "LAm"
+
+#: ../rules/base.xml.in.h:380
+msgid "LEKP"
+msgstr "LEKP"
+
+#: ../rules/base.xml.in.h:381
+msgid "LEKPa"
+msgstr "LEKPa"
+
+#: ../rules/base.xml.in.h:382
+msgid "Lao"
+msgstr "Lao"
+
+#: ../rules/base.xml.in.h:383
+msgid "Laos"
+msgstr "Laos"
+
+#: ../rules/base.xml.in.h:384
+msgid "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard"
+msgstr "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard"
+
+#: ../rules/base.xml.in.h:385
+msgid "Laptop/notebook Compaq (eg. Presario) Internet Keyboard"
+msgstr "Laptop/notebook Compaq (eg. Presario) Internet Keyboard"
+
+#: ../rules/base.xml.in.h:386
+msgid "Laptop/notebook eMachines m68xx"
+msgstr "Laptop/notebook eMachines m68xx"
+
+#: ../rules/base.xml.in.h:387
+msgid "Latin"
+msgstr "Latino"
+
+#: ../rules/base.xml.in.h:388
+msgid "Latin American"
+msgstr "Latino américa"
+
+#: ../rules/base.xml.in.h:389
+msgid "Latin Unicode"
+msgstr "Latino Unicode"
+
+#: ../rules/base.xml.in.h:390
+msgid "Latin Unicode qwerty"
+msgstr "Latino Unicode qwerty"
+
+#: ../rules/base.xml.in.h:391
+msgid "Latin qwerty"
+msgstr "Latino qwerty"
+
+#: ../rules/base.xml.in.h:392
+msgid "Latin unicode"
+msgstr "Latino unicode"
+
+#: ../rules/base.xml.in.h:393
+msgid "Latin unicode qwerty"
+msgstr "Latino unicode qwerty"
+
+#: ../rules/base.xml.in.h:394
+msgid "Latin with guillemets"
+msgstr "Latino con guillemots"
+
+#: ../rules/base.xml.in.h:395
+msgid "Latvia"
+msgstr "Letonia"
+
+#: ../rules/base.xml.in.h:396
+msgid "Layout toggle on multiply/divide key"
+msgstr "Cambio de distribución na tecla multiplicar/dividir"
+
+#: ../rules/base.xml.in.h:397
+msgid "Left Alt"
+msgstr "Alt esquerda"
+
+#: ../rules/base.xml.in.h:398
+msgid "Left Alt (while pressed)"
+msgstr "Alt esquerda (mentres está premida)"
+
+#: ../rules/base.xml.in.h:399
+msgid "Left Alt is swapped with Left Win"
+msgstr "Alt esquerda está cambiada con Windows esquerda"
+
+#: ../rules/base.xml.in.h:400
+msgid "Left Ctrl"
+msgstr "Ctrl esquerda"
+
+#: ../rules/base.xml.in.h:401
+msgid "Left Ctrl (to first layout), Right Ctrl (to last layout)"
+msgstr "Ctrl esquerda (á primeira disposición), Ctrl dereita (á última disposición)"
+
+#: ../rules/base.xml.in.h:402
+msgid "Left Ctrl+Left Shift"
+msgstr "Ctrl esquerda + Maiús esquerda"
+
+#: ../rules/base.xml.in.h:403
+msgid "Left Shift"
+msgstr "Maiús esquerda"
+
+#: ../rules/base.xml.in.h:404
+msgid "Left Win"
+msgstr "Win esquerda"
+
+#: ../rules/base.xml.in.h:405
+msgid "Left Win (to first layout), Right Win/Menu (to last layout)"
+msgstr "Win esquerda (á primeira disposición), Win/Menu dereita (á última disposición)"
+
+#: ../rules/base.xml.in.h:406
+msgid "Left Win (while pressed)"
+msgstr "Tecla Windows esquerda (ao premela)"
+
+#: ../rules/base.xml.in.h:407
+msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr "Win esquerda elixe o 5º nivel, bloquea ao premerse xunto con outro selector de 5º nivel"
+
+#: ../rules/base.xml.in.h:408
+msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr ""
+
+#: ../rules/base.xml.in.h:409
+msgid "Left hand"
+msgstr "Zurdo"
+
+#: ../rules/base.xml.in.h:410
+msgid "Left handed Dvorak"
+msgstr "Dvorak para zurdos"
+
+#: ../rules/base.xml.in.h:411
+msgid "Legacy"
+msgstr "Herdado"
+
+#: ../rules/base.xml.in.h:412
+msgid "Legacy Wang 724"
+msgstr "Wang 724 herdado"
+
+#. Actually, with KP_SEPARATOR, as the old keypad(comma)
+#: ../rules/base.xml.in.h:414
+msgid "Legacy key with comma"
+msgstr "Tecla herdada con coma"
+
+#: ../rules/base.xml.in.h:415
+msgid "Legacy key with dot"
+msgstr "Tecla herdada con punto"
+
+#: ../rules/base.xml.in.h:416
+msgid "Lithuania"
+msgstr "Lituania"
+
+#: ../rules/base.xml.in.h:417
+msgid "Lka"
+msgstr "Lka"
+
+#: ../rules/base.xml.in.h:418
+msgid "Logitech Access Keyboard"
+msgstr "Logitech Access Keyboard"
+
+#: ../rules/base.xml.in.h:419
+msgid "Logitech Cordless Desktop"
+msgstr "Logitech Cordless Desktop"
+
+#: ../rules/base.xml.in.h:420
+msgid "Logitech Cordless Desktop (alternate option)"
+msgstr "Logitech Cordless Desktop (alternate option)"
+
+#: ../rules/base.xml.in.h:421
+msgid "Logitech Cordless Desktop EX110"
+msgstr "Logitech Cordless Desktop EX110"
+
+#: ../rules/base.xml.in.h:422
+msgid "Logitech Cordless Desktop LX-300"
+msgstr "Logitech Cordless Desktop LX-300"
+
+#: ../rules/base.xml.in.h:423
+msgid "Logitech Cordless Desktop Navigator"
+msgstr "Logitech Cordless Desktop Navigator"
+
+#: ../rules/base.xml.in.h:424
+msgid "Logitech Cordless Desktop Optical"
+msgstr "Logitech Cordless Desktop Optical"
+
+#: ../rules/base.xml.in.h:425
+msgid "Logitech Cordless Desktop Pro (alternate option 2)"
+msgstr "Logitech Cordless Desktop Pro (alternate option 2)"
+
+#: ../rules/base.xml.in.h:426
+msgid "Logitech Cordless Desktop iTouch"
+msgstr "Logitech Cordless Desktop iTouch"
+
+#: ../rules/base.xml.in.h:427
+msgid "Logitech Cordless Freedom/Desktop Navigator"
+msgstr "Logitech Cordless Freedom/Desktop Navigator"
+
+#: ../rules/base.xml.in.h:428
+msgid "Logitech G15 extra keys via G15daemon"
+msgstr "Logitech G15 extra keys via G15daemon"
+
+#: ../rules/base.xml.in.h:429
+msgid "Logitech Generic Keyboard"
+msgstr "Logitech Generic Keyboard"
+
+#: ../rules/base.xml.in.h:430
+msgid "Logitech Internet 350 Keyboard"
+msgstr "Logitech Internet 350 Keyboard"
+
+#: ../rules/base.xml.in.h:431
+msgid "Logitech Internet Keyboard"
+msgstr "Logitech Internet Keyboard"
+
+#: ../rules/base.xml.in.h:432
+msgid "Logitech Internet Navigator Keyboard"
+msgstr "Logitech Internet Navigator Keyboard"
+
+#: ../rules/base.xml.in.h:433
+msgid "Logitech Media Elite Keyboard"
+msgstr "Logitech Media Elite Keyboard"
+
+#: ../rules/base.xml.in.h:434
+msgid "Logitech Ultra-X Cordless Media Desktop Keyboard"
+msgstr "Logitech Ultra-X Cordless Media Desktop Keyboard"
+
+#: ../rules/base.xml.in.h:435
+msgid "Logitech Ultra-X Keyboard"
+msgstr "Logitech Ultra-X Keyboard"
+
+#: ../rules/base.xml.in.h:436
+msgid "Logitech diNovo Edge Keyboard"
+msgstr "Logitech diNovo Edge Keyboard"
+
+#: ../rules/base.xml.in.h:437
+msgid "Logitech diNovo Keyboard"
+msgstr "Logitech diNovo Keyboard"
+
+#: ../rules/base.xml.in.h:438
+msgid "Logitech iTouch"
+msgstr "Logitech iTouch"
+
+#: ../rules/base.xml.in.h:439
+msgid "Logitech iTouch Cordless Keyboard (model Y-RB6)"
+msgstr "Logitech iTouch Cordless Keyboard (model Y-RB6)"
+
+#: ../rules/base.xml.in.h:440
+msgid "Logitech iTouch Internet Navigator Keyboard SE"
+msgstr "Logitech iTouch Internet Navigator Keyboard SE"
+
+#: ../rules/base.xml.in.h:441
+msgid "Logitech iTouch Internet Navigator Keyboard SE (USB)"
+msgstr "Logitech iTouch Internet Navigator Keyboard SE (USB)"
+
+#: ../rules/base.xml.in.h:442
+msgid "Lower Sorbian"
+msgstr "Baixo sorbio"
+
+#: ../rules/base.xml.in.h:443
+msgid "Lower Sorbian (qwertz)"
+msgstr ""
+
+#: ../rules/base.xml.in.h:444
+msgid "Ltu"
+msgstr "Ltu"
+
+#: ../rules/base.xml.in.h:445
+msgid "Lva"
+msgstr "Lva"
+
+#: ../rules/base.xml.in.h:446
+msgid "MESS"
+msgstr "MESS"
+
+#: ../rules/base.xml.in.h:447
+msgid "MNE"
+msgstr "MNE"
+
+#: ../rules/base.xml.in.h:448
+msgid "MacBook/MacBook Pro"
+msgstr "MacBook/MacBook Pro"
+
+#: ../rules/base.xml.in.h:449
+msgid "MacBook/MacBook Pro (Intl)"
+msgstr "MacBook/MacBook Pro (Intl)"
+
+#: ../rules/base.xml.in.h:450
+msgid "Macedonia"
+msgstr "Macedonia"
+
+#: ../rules/base.xml.in.h:451
+msgid "Macintosh"
+msgstr "Macintosh"
+
+#: ../rules/base.xml.in.h:452
+msgid "Macintosh (International)"
+msgstr "Macintosh (Internacional)"
+
+#: ../rules/base.xml.in.h:453
+msgid "Macintosh Old"
+msgstr "Macintosh antigo"
+
+#: ../rules/base.xml.in.h:454
+msgid "Macintosh, Sun dead keys"
+msgstr "Macintosh, teclas mortas Sun"
+
+#: ../rules/base.xml.in.h:455
+msgid "Macintosh, eliminate dead keys"
+msgstr "Macintosh, eliminar teclas mortas"
+
+#: ../rules/base.xml.in.h:456
+msgid "Make Caps Lock an additional Backspace"
+msgstr ""
+
+#: ../rules/base.xml.in.h:457
+msgid "Make Caps Lock an additional Ctrl"
+msgstr ""
+
+#: ../rules/base.xml.in.h:458
+msgid "Make Caps Lock an additional ESC"
+msgstr ""
+
+#: ../rules/base.xml.in.h:459
+msgid "Make Caps Lock an additional Hyper"
+msgstr ""
+
+#: ../rules/base.xml.in.h:460
+msgid "Make Caps Lock an additional Num Lock"
+msgstr ""
+
+#: ../rules/base.xml.in.h:461
+msgid "Make Caps Lock an additional Super"
+msgstr ""
+
+#: ../rules/base.xml.in.h:462
+msgid "Malayalam"
+msgstr "Malayalam"
+
+#: ../rules/base.xml.in.h:463
+msgid "Malayalam Lalitha"
+msgstr "Malayalam Lalitha"
+
+#: ../rules/base.xml.in.h:464
+msgid "Maldives"
+msgstr "Maldivas"
+
+#: ../rules/base.xml.in.h:465
+msgid "Mali"
+msgstr "Malí"
+
+#: ../rules/base.xml.in.h:466
+msgid "Malta"
+msgstr "Malta"
+
+#: ../rules/base.xml.in.h:467
+msgid "Maltese keyboard with US layout"
+msgstr ""
+
+#: ../rules/base.xml.in.h:468
+msgid "Mao"
+msgstr "Mao"
+
+#: ../rules/base.xml.in.h:469
+msgid "Maori"
+msgstr "Maorí"
+
+#: ../rules/base.xml.in.h:470
+msgid "Mdv"
+msgstr "Mdv"
+
+#: ../rules/base.xml.in.h:471
+msgid "Memorex MX1998"
+msgstr "Memorex MX1998"
+
+#: ../rules/base.xml.in.h:472
+msgid "Memorex MX2500 EZ-Access Keyboard"
+msgstr "Memorex MX2500 EZ-Access Keyboard"
+
+#: ../rules/base.xml.in.h:473
+msgid "Memorex MX2750"
+msgstr "Memorex MX2750"
+
+#: ../rules/base.xml.in.h:474
+msgid "Menu"
+msgstr "Menu"
+
+#: ../rules/base.xml.in.h:475
+msgid "Meta is mapped to Left Win"
+msgstr "Meta está asignada á tecla Windows izquierda"
+
+#: ../rules/base.xml.in.h:476
+msgid "Meta is mapped to Win keys"
+msgstr ""
+
+#: ../rules/base.xml.in.h:477
+msgid "Microsoft Comfort Curve Keyboard 2000"
+msgstr ""
+
+#: ../rules/base.xml.in.h:478
+msgid "Microsoft Internet Keyboard"
+msgstr ""
+
+#: ../rules/base.xml.in.h:479
+msgid "Microsoft Internet Keyboard Pro, Swedish"
+msgstr ""
+
+#: ../rules/base.xml.in.h:480
+msgid "Microsoft Natural"
+msgstr ""
+
+#: ../rules/base.xml.in.h:481
+msgid "Microsoft Natural Keyboard Elite"
+msgstr ""
+
+#: ../rules/base.xml.in.h:482
+msgid "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
+msgstr ""
+
+#: ../rules/base.xml.in.h:483
+msgid "Microsoft Natural Keyboard Pro OEM"
+msgstr ""
+
+#: ../rules/base.xml.in.h:484
+msgid "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
+msgstr ""
+
+#: ../rules/base.xml.in.h:485
+msgid "Microsoft Natural Wireless Ergonomic Keyboard 7000"
+msgstr ""
+
+#: ../rules/base.xml.in.h:486
+msgid "Microsoft Office Keyboard"
+msgstr ""
+
+#: ../rules/base.xml.in.h:487
+msgid "Microsoft Wireless Multimedia Keyboard 1.0A"
+msgstr ""
+
+#: ../rules/base.xml.in.h:488
+msgid "Miscellaneous compatibility options"
+msgstr ""
+
+#: ../rules/base.xml.in.h:489
+msgid "Mkd"
+msgstr ""
+
+#: ../rules/base.xml.in.h:490
+msgid "Mli"
+msgstr ""
+
+#: ../rules/base.xml.in.h:491
+msgid "Mlt"
+msgstr ""
+
+#: ../rules/base.xml.in.h:492
+msgid "Mmr"
+msgstr ""
+
+#: ../rules/base.xml.in.h:493
+msgid "Mng"
+msgstr ""
+
+#: ../rules/base.xml.in.h:494
+msgid "Mongolia"
+msgstr ""
+
+#: ../rules/base.xml.in.h:495
+msgid "Montenegro"
+msgstr ""
+
+#: ../rules/base.xml.in.h:496
+msgid "Morocco"
+msgstr ""
+
+#: ../rules/base.xml.in.h:497
+msgid "Multilingual"
+msgstr ""
+
+#: ../rules/base.xml.in.h:498
+msgid "Multilingual, first part"
+msgstr ""
+
+#: ../rules/base.xml.in.h:499
+msgid "Multilingual, second part"
+msgstr ""
+
+#: ../rules/base.xml.in.h:500
+msgid "Myanmar"
+msgstr ""
+
+#: ../rules/base.xml.in.h:501
+msgid "NICOLA-F style Backspace"
+msgstr ""
+
+#: ../rules/base.xml.in.h:502
+msgid "NLA"
+msgstr ""
+
+#: ../rules/base.xml.in.h:503
+msgid "Nativo"
+msgstr ""
+
+#: ../rules/base.xml.in.h:504
+msgid "Nativo for Esperanto"
+msgstr ""
+
+#: ../rules/base.xml.in.h:505
+msgid "Nativo for USA keyboards"
+msgstr ""
+
+#: ../rules/base.xml.in.h:506
+msgid "Neo 2"
+msgstr ""
+
+#: ../rules/base.xml.in.h:507
+msgid "Nepal"
+msgstr ""
+
+#: ../rules/base.xml.in.h:508
+msgid "Netherlands"
+msgstr ""
+
+#: ../rules/base.xml.in.h:509
+msgid "New phonetic"
+msgstr ""
+
+#: ../rules/base.xml.in.h:510
+msgid "Nga"
+msgstr ""
+
+#: ../rules/base.xml.in.h:511
+msgid "Nigeria"
+msgstr ""
+
+#: ../rules/base.xml.in.h:512
+msgid "Nld"
+msgstr ""
+
+#: ../rules/base.xml.in.h:513
+msgid "Non-breakable space character at fourth level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:514
+msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:515
+msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)"
+msgstr ""
+
+#: ../rules/base.xml.in.h:516
+msgid "Non-breakable space character at second level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:517
+msgid "Non-breakable space character at third level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:518
+msgid "Non-breakable space character at third level, nothing at fourth level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:519
+msgid "Non-breakable space character at third level, thin non-breakable space character at fourth level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:520
+msgid "Nor"
+msgstr ""
+
+#: ../rules/base.xml.in.h:521
+msgid "Northern Saami"
+msgstr ""
+
+#: ../rules/base.xml.in.h:522
+msgid "Northern Saami, eliminate dead keys"
+msgstr ""
+
+#: ../rules/base.xml.in.h:523
+msgid "Northgate OmniKey 101"
+msgstr ""
+
+#: ../rules/base.xml.in.h:524
+msgid "Norway"
+msgstr ""
+
+#: ../rules/base.xml.in.h:525
+msgid "Npl"
+msgstr ""
+
+#: ../rules/base.xml.in.h:526
+msgid "Num Lock"
+msgstr ""
+
+#: ../rules/base.xml.in.h:527
+msgid "Numeric keypad delete key behaviour"
+msgstr ""
+
+#: ../rules/base.xml.in.h:528
+msgid "Numeric keypad keys work as with Mac"
+msgstr ""
+
+#: ../rules/base.xml.in.h:529
+msgid "Numeric keypad layout selection"
+msgstr ""
+
+#: ../rules/base.xml.in.h:530
+msgid "OADG 109A"
+msgstr ""
+
+#: ../rules/base.xml.in.h:531
+msgid "OLPC"
+msgstr ""
+
+#: ../rules/base.xml.in.h:532
+msgid "OLPC Dari"
+msgstr ""
+
+#: ../rules/base.xml.in.h:533
+msgid "OLPC Pashto"
+msgstr ""
+
+#: ../rules/base.xml.in.h:534
+msgid "OLPC Southern Uzbek"
+msgstr ""
+
+#: ../rules/base.xml.in.h:535
+msgid "Occitan"
+msgstr ""
+
+#: ../rules/base.xml.in.h:536
+msgid "Ogham"
+msgstr ""
+
+#: ../rules/base.xml.in.h:537
+msgid "Ogham IS434"
+msgstr ""
+
+#: ../rules/base.xml.in.h:538
+msgid "Oriya"
+msgstr ""
+
+#: ../rules/base.xml.in.h:539
+msgid "Ortek MCK-800 MM/Internet keyboard"
+msgstr ""
+
+#: ../rules/base.xml.in.h:540
+msgid "Ossetian"
+msgstr ""
+
+#: ../rules/base.xml.in.h:541
+msgid "Ossetian, Winkeys"
+msgstr ""
+
+#: ../rules/base.xml.in.h:542
+msgid "Ossetian, legacy"
+msgstr ""
+
+#: ../rules/base.xml.in.h:543
+msgid "PC-98xx Series"
+msgstr ""
+
+#: ../rules/base.xml.in.h:544
+msgid "Pak"
+msgstr ""
+
+#: ../rules/base.xml.in.h:545
+msgid "Pakistan"
+msgstr ""
+
+#: ../rules/base.xml.in.h:546
+msgid "Pannonian Rusyn Homophonic"
+msgstr ""
+
+#: ../rules/base.xml.in.h:547
+msgid "Pashto"
+msgstr ""
+
+#: ../rules/base.xml.in.h:548
+msgid "Pattachote"
+msgstr ""
+
+#: ../rules/base.xml.in.h:549
+msgid "Pause"
+msgstr ""
+
+#: ../rules/base.xml.in.h:550
+msgid "Persian, with Persian Keypad"
+msgstr ""
+
+#: ../rules/base.xml.in.h:551
+msgid "Phonetic"
+msgstr ""
+
+#: ../rules/base.xml.in.h:552
+msgid "Phonetic Winkeys"
+msgstr ""
+
+#: ../rules/base.xml.in.h:553
+msgid "Pol"
+msgstr ""
+
+#: ../rules/base.xml.in.h:554
+msgid "Poland"
+msgstr ""
+
+#: ../rules/base.xml.in.h:555
+msgid "Polytonic"
+msgstr ""
+
+#: ../rules/base.xml.in.h:556
+msgid "Portugal"
+msgstr ""
+
+#: ../rules/base.xml.in.h:557
+msgid "Probhat"
+msgstr ""
+
+#: ../rules/base.xml.in.h:558
+msgid "Programmer Dvorak"
+msgstr ""
+
+#: ../rules/base.xml.in.h:559
+msgid "Propeller Voyager (KTEZ-1000)"
+msgstr ""
+
+#: ../rules/base.xml.in.h:560
+msgid "Prt"
+msgstr ""
+
+#: ../rules/base.xml.in.h:561
+msgid "PrtSc"
+msgstr ""
+
+#: ../rules/base.xml.in.h:562
+msgid "QTronix Scorpius 98N+"
+msgstr ""
+
+#: ../rules/base.xml.in.h:563
+msgid "Right Alt"
+msgstr ""
+
+#: ../rules/base.xml.in.h:564
+msgid "Right Alt (while pressed)"
+msgstr ""
+
+#: ../rules/base.xml.in.h:565
+msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr ""
+
+#: ../rules/base.xml.in.h:566
+msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr ""
+
+#: ../rules/base.xml.in.h:567
+msgid "Right Alt key never chooses 3rd level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:568
+msgid "Right Alt, Shift+Right Alt key is Multi_Key"
+msgstr ""
+
+#: ../rules/base.xml.in.h:569
+msgid "Right Ctrl"
+msgstr ""
+
+#: ../rules/base.xml.in.h:570
+msgid "Right Ctrl (while pressed)"
+msgstr ""
+
+#: ../rules/base.xml.in.h:571
+msgid "Right Ctrl as Right Alt"
+msgstr ""
+
+#: ../rules/base.xml.in.h:572
+msgid "Right Ctrl+Right Shift"
+msgstr ""
+
+#: ../rules/base.xml.in.h:573
+msgid "Right Shift"
+msgstr ""
+
+#: ../rules/base.xml.in.h:574
+msgid "Right Win"
+msgstr ""
+
+#: ../rules/base.xml.in.h:575
+msgid "Right Win (while pressed)"
+msgstr ""
+
+#: ../rules/base.xml.in.h:576
+msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr ""
+
+#: ../rules/base.xml.in.h:577
+msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr ""
+
+#: ../rules/base.xml.in.h:578
+msgid "Right hand"
+msgstr ""
+
+#: ../rules/base.xml.in.h:579
+msgid "Right handed Dvorak"
+msgstr ""
+
+#: ../rules/base.xml.in.h:580
+msgid "Romania"
+msgstr ""
+
+#: ../rules/base.xml.in.h:581
+msgid "Romanian keyboard with German letters"
+msgstr ""
+
+#: ../rules/base.xml.in.h:582
+msgid "Romanian keyboard with German letters, eliminate dead keys"
+msgstr ""
+
+#: ../rules/base.xml.in.h:583
+msgid "Rou"
+msgstr ""
+
+#: ../rules/base.xml.in.h:584
+msgid "Rus"
+msgstr ""
+
+#: ../rules/base.xml.in.h:585
+msgid "Russia"
+msgstr ""
+
+#: ../rules/base.xml.in.h:586
+msgid "Russian"
+msgstr ""
+
+#: ../rules/base.xml.in.h:587
+msgid "Russian phonetic"
+msgstr ""
+
+#: ../rules/base.xml.in.h:588
+msgid "Russian phonetic Dvorak"
+msgstr ""
+
+#: ../rules/base.xml.in.h:589
+msgid "Russian phonetic, eliminate dead keys"
+msgstr ""
+
+#: ../rules/base.xml.in.h:590
+msgid "Russian with Kazakh"
+msgstr ""
+
+#: ../rules/base.xml.in.h:591
+msgid "SILVERCREST Multimedia Wireless Keyboard"
+msgstr ""
+
+#: ../rules/base.xml.in.h:592
+msgid "SK-1300"
+msgstr ""
+
+#: ../rules/base.xml.in.h:593
+msgid "SK-2500"
+msgstr ""
+
+#: ../rules/base.xml.in.h:594
+msgid "SK-6200"
+msgstr ""
+
+#: ../rules/base.xml.in.h:595
+msgid "SK-7100"
+msgstr ""
+
+#: ../rules/base.xml.in.h:596 ../rules/base.extras.xml.in.h:9
+msgid "SRB"
+msgstr ""
+
+#: ../rules/base.xml.in.h:597
+msgid "SVEN Ergonomic 2500"
+msgstr ""
+
+#: ../rules/base.xml.in.h:598
+msgid "SVEN Slim 303"
+msgstr ""
+
+#: ../rules/base.xml.in.h:599
+msgid "Samsung SDM 4500P"
+msgstr ""
+
+#: ../rules/base.xml.in.h:600
+msgid "Samsung SDM 4510P"
+msgstr ""
+
+#: ../rules/base.xml.in.h:601
+msgid "Scroll Lock"
+msgstr ""
+
+#: ../rules/base.xml.in.h:602
+msgid "Secwepemctsin"
+msgstr ""
+
+#: ../rules/base.xml.in.h:603
+msgid "Semi-colon on third level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:604
+msgid "Sen"
+msgstr ""
+
+#: ../rules/base.xml.in.h:605
+msgid "Senegal"
+msgstr ""
+
+#: ../rules/base.xml.in.h:606 ../rules/base.extras.xml.in.h:10
+msgid "Serbia"
+msgstr ""
+
+#: ../rules/base.xml.in.h:607
+msgid "Serbian"
+msgstr ""
+
+#: ../rules/base.xml.in.h:608
+msgid "Shift cancels Caps Lock"
+msgstr ""
+
+#: ../rules/base.xml.in.h:609
+msgid "Shift does not cancel Num Lock, chooses 3rd level instead"
+msgstr ""
+
+#: ../rules/base.xml.in.h:610
+msgid "Shift with numeric keypad keys works as in MS Windows"
+msgstr ""
+
+#: ../rules/base.xml.in.h:611
+msgid "Shift+Caps Lock"
+msgstr ""
+
+#: ../rules/base.xml.in.h:612
+msgid "Simple"
+msgstr ""
+
+#: ../rules/base.xml.in.h:613
+msgid "Sindhi"
+msgstr ""
+
+#: ../rules/base.xml.in.h:614
+msgid "Slovakia"
+msgstr ""
+
+#: ../rules/base.xml.in.h:615
+msgid "Slovenia"
+msgstr ""
+
+#: ../rules/base.xml.in.h:616
+msgid "South Africa"
+msgstr ""
+
+#: ../rules/base.xml.in.h:617
+msgid "Southern Uzbek"
+msgstr ""
+
+#: ../rules/base.xml.in.h:618
+msgid "Spain"
+msgstr ""
+
+#: ../rules/base.xml.in.h:619
+msgid "Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server"
+msgstr ""
+
+#: ../rules/base.xml.in.h:620
+msgid "Sri Lanka"
+msgstr ""
+
+#: ../rules/base.xml.in.h:621
+msgid "Standard"
+msgstr ""
+
+#: ../rules/base.xml.in.h:622
+msgid "Standard (Cedilla)"
+msgstr ""
+
+#. RSTU 2019-91
+#: ../rules/base.xml.in.h:624
+msgid "Standard RSTU"
+msgstr ""
+
+#. RSTU 2019-91
+#: ../rules/base.xml.in.h:626
+msgid "Standard RSTU on Russian layout"
+msgstr ""
+
+#: ../rules/base.xml.in.h:627
+msgid "Sun Type 5/6"
+msgstr ""
+
+#: ../rules/base.xml.in.h:628
+msgid "Sun dead keys"
+msgstr ""
+
+#: ../rules/base.xml.in.h:629
+msgid "Super Power Multimedia Keyboard"
+msgstr ""
+
+#: ../rules/base.xml.in.h:630
+msgid "Svdvorak"
+msgstr ""
+
+#: ../rules/base.xml.in.h:631
+msgid "Svk"
+msgstr ""
+
+#: ../rules/base.xml.in.h:632
+msgid "Svn"
+msgstr ""
+
+#: ../rules/base.xml.in.h:633
+msgid "Swap Ctrl and Caps Lock"
+msgstr ""
+
+#: ../rules/base.xml.in.h:634
+msgid "Swap ESC and Caps Lock"
+msgstr ""
+
+#: ../rules/base.xml.in.h:635
+msgid "Swe"
+msgstr ""
+
+#: ../rules/base.xml.in.h:636
+msgid "Sweden"
+msgstr ""
+
+#: ../rules/base.xml.in.h:637
+msgid "Switzerland"
+msgstr ""
+
+#: ../rules/base.xml.in.h:638
+msgid "Symplon PaceBook (tablet PC)"
+msgstr ""
+
+#: ../rules/base.xml.in.h:639
+msgid "Syr"
+msgstr ""
+
+#: ../rules/base.xml.in.h:640
+msgid "Syria"
+msgstr ""
+
+#: ../rules/base.xml.in.h:641
+msgid "Syriac"
+msgstr ""
+
+#: ../rules/base.xml.in.h:642
+msgid "Syriac phonetic"
+msgstr ""
+
+#: ../rules/base.xml.in.h:643
+msgid "TIS-820.2538"
+msgstr ""
+
+#: ../rules/base.xml.in.h:644
+msgid "Tajikistan"
+msgstr ""
+
+#: ../rules/base.xml.in.h:645
+msgid "Tamil"
+msgstr ""
+
+#: ../rules/base.xml.in.h:646
+msgid "Tamil Keyboard with Numerals"
+msgstr ""
+
+#: ../rules/base.xml.in.h:647
+msgid "Tamil TAB Typewriter"
+msgstr ""
+
+#: ../rules/base.xml.in.h:648
+msgid "Tamil TSCII Typewriter"
+msgstr ""
+
+#: ../rules/base.xml.in.h:649
+msgid "Tamil Unicode"
+msgstr ""
+
+#: ../rules/base.xml.in.h:650
+msgid "Tanzania"
+msgstr ""
+
+#: ../rules/base.xml.in.h:651
+msgid "Targa Visionary 811"
+msgstr ""
+
+#: ../rules/base.xml.in.h:652
+msgid "Tatar"
+msgstr ""
+
+#: ../rules/base.xml.in.h:653
+msgid "Telugu"
+msgstr ""
+
+#: ../rules/base.xml.in.h:654
+msgid "Tha"
+msgstr ""
+
+#: ../rules/base.xml.in.h:655
+msgid "Thailand"
+msgstr ""
+
+#: ../rules/base.xml.in.h:656
+msgid "Tibetan"
+msgstr ""
+
+#: ../rules/base.xml.in.h:657
+msgid "Tibetan (with ASCII numerals)"
+msgstr ""
+
+#: ../rules/base.xml.in.h:658
+msgid "Tifinagh"
+msgstr ""
+
+#: ../rules/base.xml.in.h:659
+msgid "Tifinagh alternative"
+msgstr ""
+
+#: ../rules/base.xml.in.h:660
+msgid "Tifinagh alternative phonetic"
+msgstr ""
+
+#: ../rules/base.xml.in.h:661
+msgid "Tifinagh extended"
+msgstr ""
+
+#: ../rules/base.xml.in.h:662
+msgid "Tifinagh extended phonetic"
+msgstr ""
+
+#: ../rules/base.xml.in.h:663
+msgid "Tifinagh phonetic"
+msgstr ""
+
+#: ../rules/base.xml.in.h:664
+msgid "Tilde (~) variant"
+msgstr ""
+
+#: ../rules/base.xml.in.h:665
+msgid "Tjk"
+msgstr ""
+
+#: ../rules/base.xml.in.h:666
+msgid "Tkm"
+msgstr ""
+
+#: ../rules/base.xml.in.h:667
+msgid "To the corresponding key in a Dvorak keyboard."
+msgstr ""
+
+#: ../rules/base.xml.in.h:668
+msgid "To the corresponding key in a Qwerty keyboard."
+msgstr ""
+
+#: ../rules/base.xml.in.h:669
+msgid "Toshiba Satellite S3000"
+msgstr ""
+
+#: ../rules/base.xml.in.h:670
+msgid "Traditional phonetic"
+msgstr ""
+
+#: ../rules/base.xml.in.h:671
+msgid "Trust Direct Access Keyboard"
+msgstr ""
+
+#: ../rules/base.xml.in.h:672
+msgid "Trust Slimline"
+msgstr ""
+
+#: ../rules/base.xml.in.h:673
+msgid "Trust Wireless Keyboard Classic"
+msgstr ""
+
+#: ../rules/base.xml.in.h:674
+msgid "Tur"
+msgstr ""
+
+#: ../rules/base.xml.in.h:675
+msgid "Turkey"
+msgstr ""
+
+#: ../rules/base.xml.in.h:676
+msgid "Turkmenistan"
+msgstr ""
+
+#: ../rules/base.xml.in.h:677
+msgid "TypeMatrix EZ-Reach 2020"
+msgstr ""
+
+#: ../rules/base.xml.in.h:678
+msgid "TypeMatrix EZ-Reach 2030 PS2"
+msgstr ""
+
+#: ../rules/base.xml.in.h:679
+msgid "TypeMatrix EZ-Reach 2030 USB"
+msgstr ""
+
+#: ../rules/base.xml.in.h:680
+msgid "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)"
+msgstr ""
+
+#: ../rules/base.xml.in.h:681
+msgid "TypeMatrix EZ-Reach 2030 USB (106:JP mode)"
+msgstr ""
+
+#: ../rules/base.xml.in.h:682
+msgid "Typewriter"
+msgstr ""
+
+#: ../rules/base.xml.in.h:683
+msgid "Typewriter, legacy"
+msgstr ""
+
+#: ../rules/base.xml.in.h:684
+msgid "Tza"
+msgstr ""
+
+#: ../rules/base.xml.in.h:685
+msgid "UCW layout (accented letters only)"
+msgstr ""
+
+#: ../rules/base.xml.in.h:686
+msgid "US Dvorak with CZ UCW support"
+msgstr ""
+
+#: ../rules/base.xml.in.h:687
+msgid "US keyboard with Bosnian digraphs"
+msgstr ""
+
+#: ../rules/base.xml.in.h:688
+msgid "US keyboard with Bosnian letters"
+msgstr ""
+
+#: ../rules/base.xml.in.h:689
+msgid "US keyboard with Croatian digraphs"
+msgstr ""
+
+#: ../rules/base.xml.in.h:690
+msgid "US keyboard with Croatian letters"
+msgstr ""
+
+#: ../rules/base.xml.in.h:691
+msgid "US keyboard with Estonian letters"
+msgstr ""
+
+#: ../rules/base.xml.in.h:692
+msgid "US keyboard with Italian letters"
+msgstr ""
+
+#: ../rules/base.xml.in.h:693
+msgid "US keyboard with Lithuanian letters"
+msgstr ""
+
+#: ../rules/base.xml.in.h:694
+msgid "US keyboard with Slovenian letters"
+msgstr ""
+
+#: ../rules/base.xml.in.h:695 ../rules/base.extras.xml.in.h:11
+msgid "USA"
+msgstr ""
+
+#: ../rules/base.xml.in.h:696
+msgid "Udmurt"
+msgstr ""
+
+#: ../rules/base.xml.in.h:697
+msgid "Ukr"
+msgstr ""
+
+#: ../rules/base.xml.in.h:698
+msgid "Ukraine"
+msgstr ""
+
+#: ../rules/base.xml.in.h:699
+msgid "Unicode additions (arrows and math operators)"
+msgstr ""
+
+#: ../rules/base.xml.in.h:700
+msgid "Unicode additions (arrows and math operators). Math operators on default level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:701
+msgid "UnicodeExpert"
+msgstr ""
+
+#: ../rules/base.xml.in.h:702
+msgid "United Kingdom"
+msgstr ""
+
+#: ../rules/base.xml.in.h:703
+msgid "Unitek KB-1925"
+msgstr ""
+
+#: ../rules/base.xml.in.h:704
+msgid "Urdu, Alternative phonetic"
+msgstr ""
+
+#: ../rules/base.xml.in.h:705
+msgid "Urdu, Phonetic"
+msgstr ""
+
+#: ../rules/base.xml.in.h:706
+msgid "Urdu, Winkeys"
+msgstr ""
+
+#: ../rules/base.xml.in.h:707
+msgid "Use Bosnian digraphs"
+msgstr ""
+
+#: ../rules/base.xml.in.h:708
+msgid "Use Croatian digraphs"
+msgstr ""
+
+#: ../rules/base.xml.in.h:709
+msgid "Use guillemets for quotes"
+msgstr ""
+
+#: ../rules/base.xml.in.h:710
+msgid "Use keyboard LED to show alternative layout"
+msgstr ""
+
+#: ../rules/base.xml.in.h:711
+msgid "Using space key to input non-breakable space character"
+msgstr ""
+
+#: ../rules/base.xml.in.h:712
+msgid "Usual space at any level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:713
+msgid "Uzb"
+msgstr ""
+
+#: ../rules/base.xml.in.h:714
+msgid "Uzbekistan"
+msgstr ""
+
+#: ../rules/base.xml.in.h:715
+msgid "Vietnam"
+msgstr ""
+
+#: ../rules/base.xml.in.h:716
+msgid "ViewSonic KU-306 Internet Keyboard"
+msgstr ""
+
+#: ../rules/base.xml.in.h:717
+msgid "Vnm"
+msgstr ""
+
+#: ../rules/base.xml.in.h:718
+msgid "Wang 724 keypad with unicode additions (arrows and math operators)"
+msgstr ""
+
+#: ../rules/base.xml.in.h:719
+msgid "Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:720
+msgid "Wang model 724 azerty"
+msgstr ""
+
+#: ../rules/base.xml.in.h:721
+msgid "Western"
+msgstr ""
+
+#: ../rules/base.xml.in.h:722
+msgid "Winbook Model XP5"
+msgstr ""
+
+#: ../rules/base.xml.in.h:723
+msgid "Winkeys"
+msgstr ""
+
+#: ../rules/base.xml.in.h:724
+msgid "With &lt;\\|&gt; key"
+msgstr ""
+
+#: ../rules/base.xml.in.h:725
+msgid "With EuroSign on 5"
+msgstr ""
+
+#: ../rules/base.xml.in.h:726
+msgid "With guillemets"
+msgstr ""
+
+#: ../rules/base.xml.in.h:727
+msgid "Yahoo! Internet Keyboard"
+msgstr ""
+
+#: ../rules/base.xml.in.h:728
+msgid "Yakut"
+msgstr ""
+
+#: ../rules/base.xml.in.h:729
+msgid "Yoruba"
+msgstr ""
+
+#: ../rules/base.xml.in.h:730
+msgid "Z and ZHE swapped"
+msgstr ""
+
+#: ../rules/base.xml.in.h:731
+msgid "Zaf"
+msgstr ""
+
+#: ../rules/base.xml.in.h:732
+msgid "Zero-width non-joiner character at second level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:733
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:734
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:735
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:736
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:737
+msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:738
+msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:739
+msgid "Zero-width non-joiner character at third level, zero-width joiner at fourth level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:740
+msgid "azerty"
+msgstr ""
+
+#: ../rules/base.xml.in.h:741
+msgid "azerty/digits"
+msgstr ""
+
+#: ../rules/base.xml.in.h:742
+msgid "digits"
+msgstr ""
+
+#: ../rules/base.xml.in.h:743
+msgid "displaced semicolon and quote (obsolete)"
+msgstr ""
+
+#: ../rules/base.xml.in.h:744
+msgid "lyx"
+msgstr ""
+
+#: ../rules/base.xml.in.h:745
+msgid "qwerty"
+msgstr ""
+
+#: ../rules/base.xml.in.h:746
+msgid "qwerty, extended Backslash"
+msgstr ""
+
+#: ../rules/base.xml.in.h:747
+msgid "qwerty/digits"
+msgstr ""
+
+#: ../rules/base.xml.in.h:748
+msgid "qwertz"
+msgstr ""
+
+#: ../rules/base.extras.xml.in.h:1
+msgid "APL"
+msgstr ""
+
+#: ../rules/base.extras.xml.in.h:2
+msgid "Atsina"
+msgstr ""
+
+#: ../rules/base.extras.xml.in.h:3
+msgid "Avestan"
+msgstr ""
+
+#: ../rules/base.extras.xml.in.h:4
+msgid "Combining accents instead of dead keys"
+msgstr ""
+
+#: ../rules/base.extras.xml.in.h:5
+msgid "Couer D'alene Salish"
+msgstr ""
+
+#: ../rules/base.extras.xml.in.h:6
+msgid "International (AltGr Unicode combining)"
+msgstr ""
+
+#: ../rules/base.extras.xml.in.h:7
+msgid "International (AltGr Unicode combining, alternative)"
+msgstr ""
diff --git a/xorg-server/xkeyboard-config/po/id.po b/xorg-server/xkeyboard-config/po/id.po
index f37661499..651b0b2cb 100644
--- a/xorg-server/xkeyboard-config/po/id.po
+++ b/xorg-server/xkeyboard-config/po/id.po
@@ -1,2971 +1,3204 @@
-# Terjemahan pesan Bahasa Indonesia untuk xkeyboard-config.
-# Copyright (C) 2008 THE xkeyboard-config'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the xkeyboard-config package.
-# Erwid M Jadied <jadied@gmail.com>, 2008.
-# Andhika Padmawan <andhika.padmawan@gmail.com>, 2010.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: xkeyboard-config-1.8\n"
-"Report-Msgid-Bugs-To: svu@users.sourceforge.net\n"
-"POT-Creation-Date: 2010-01-16 18:08+0000\n"
-"PO-Revision-Date: 2010-01-17 15:58+0700\n"
-"Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
-"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Language: Indonesian\n"
-"X-Poedit-Country: INDONESIA\n"
-
-#: ../rules/base.xml.in.h:1
-msgid "(F)"
-msgstr "(F)"
-
-#: ../rules/base.xml.in.h:2
-msgid "(Legacy) Alternative"
-msgstr "(Legacy) Alternative"
-
-#: ../rules/base.xml.in.h:3
-msgid "(Legacy) Alternative, Sun dead keys"
-msgstr "(Legacy) Alternative, Tombol mati Matahari"
-
-#: ../rules/base.xml.in.h:4
-msgid "(Legacy) Alternative, eliminate dead keys"
-msgstr "(Legacy) Alternative, hapus tombol mati"
-
-#: ../rules/base.xml.in.h:5
-msgid "101/104 key Compatible"
-msgstr "101/104 tombol Kompatibel"
-
-#: ../rules/base.xml.in.h:6
-msgid "101/qwerty/comma/Dead keys"
-msgstr "101/qwerty/koma/Tombol mati"
-
-#: ../rules/base.xml.in.h:7
-msgid "101/qwerty/comma/Eliminate dead keys"
-msgstr "101/qwerty/koma/ Hapuskan tombol mati"
-
-#: ../rules/base.xml.in.h:8
-msgid "101/qwerty/dot/Dead keys"
-msgstr "101/qwerty/titik/Tombol mati"
-
-#: ../rules/base.xml.in.h:9
-msgid "101/qwerty/dot/Eliminate dead keys"
-msgstr "101/qwerty/titik/Hapus tombol mati"
-
-#: ../rules/base.xml.in.h:10
-msgid "101/qwertz/comma/Dead keys"
-msgstr "101/qwertz/koma/Tombol mati"
-
-#: ../rules/base.xml.in.h:11
-msgid "101/qwertz/comma/Eliminate dead keys"
-msgstr "101/qwertz/koma/Hapus tombol mati"
-
-#: ../rules/base.xml.in.h:12
-msgid "101/qwertz/dot/Dead keys"
-msgstr "101/awertz/titik/Tombol mati"
-
-#: ../rules/base.xml.in.h:13
-msgid "101/qwertz/dot/Eliminate dead keys"
-msgstr "101/qwertz/titik/hapus tombol mati"
-
-#: ../rules/base.xml.in.h:14
-msgid "102/qwerty/comma/Dead keys"
-msgstr "102/qwerty/koma/Tombol mati"
-
-#: ../rules/base.xml.in.h:15
-msgid "102/qwerty/comma/Eliminate dead keys"
-msgstr "102/qwerty/koma/Hapus tombol mati"
-
-#: ../rules/base.xml.in.h:16
-msgid "102/qwerty/dot/Dead keys"
-msgstr "102/qwerty/titik/Tombol mati"
-
-#: ../rules/base.xml.in.h:17
-msgid "102/qwerty/dot/Eliminate dead keys"
-msgstr "102/qwerty/titik/Hapus tombol mati"
-
-#: ../rules/base.xml.in.h:18
-msgid "102/qwertz/comma/Dead keys"
-msgstr "102/qwertz/koma/Tombol mati"
-
-#: ../rules/base.xml.in.h:19
-msgid "102/qwertz/comma/Eliminate dead keys"
-msgstr "102/qwertz/koma/Hapus tombol mati"
-
-#: ../rules/base.xml.in.h:20
-msgid "102/qwertz/dot/Dead keys"
-msgstr "102/qwertz/titik/Tombol mati"
-
-#: ../rules/base.xml.in.h:21
-msgid "102/qwertz/dot/Eliminate dead keys"
-msgstr "102/qwertz/titik/Hapus tombol mati"
-
-#: ../rules/base.xml.in.h:22
-msgid "2"
-msgstr "2"
-
-#: ../rules/base.xml.in.h:23
-msgid "4"
-msgstr "4"
-
-#: ../rules/base.xml.in.h:24
-msgid "5"
-msgstr "5"
-
-#: ../rules/base.xml.in.h:25
-msgid "A4Tech KB-21"
-msgstr "A4Tech KB-21"
-
-#: ../rules/base.xml.in.h:26
-msgid "A4Tech KBS-8"
-msgstr "A4Tech KBS-8"
-
-#: ../rules/base.xml.in.h:27
-msgid "A4Tech Wireless Desktop RFKB-23"
-msgstr "A4Tech Wireless Desktop RFKB-23"
-
-#: ../rules/base.xml.in.h:28
-msgid "ACPI Standard"
-msgstr "ACPI Standard"
-
-#: ../rules/base.xml.in.h:29
-msgid "ATM/phone-style"
-msgstr "Gaya ATM/telepon"
-
-#: ../rules/base.xml.in.h:30
-msgid "Acer AirKey V"
-msgstr "Acer AirKey V"
-
-#: ../rules/base.xml.in.h:31
-msgid "Acer C300"
-msgstr "Acer C300"
-
-#: ../rules/base.xml.in.h:32
-msgid "Acer Ferrari 4000"
-msgstr "Acer Ferrari 4000"
-
-#: ../rules/base.xml.in.h:33
-msgid "Acer Laptop"
-msgstr "Acer Laptop"
-
-#: ../rules/base.xml.in.h:34
-msgid "Add the standard behavior to Menu key"
-msgstr "Tambah tindakan standar pada tombol Menu"
-
-#: ../rules/base.xml.in.h:35
-msgid "Adding Esperanto circumflexes (supersigno)"
-msgstr "Menambah circumflex Esperanto (supersigno)"
-
-#: ../rules/base.xml.in.h:36
-msgid "Adding EuroSign to certain keys"
-msgstr "Menambahkan tanda Euro ke tombol tertentu"
-
-#: ../rules/base.xml.in.h:37
-msgid "Advance Scorpius KI"
-msgstr "Advance Scorpius KI"
-
-#: ../rules/base.xml.in.h:38
-msgid "Afg"
-msgstr "Afg"
-
-#: ../rules/base.xml.in.h:39
-msgid "Afghanistan"
-msgstr "Afganistan"
-
-#: ../rules/base.xml.in.h:40
-msgid "Akan"
-msgstr "Akan"
-
-#: ../rules/base.xml.in.h:41
-msgid "Alb"
-msgstr "Alb"
-
-#: ../rules/base.xml.in.h:42
-msgid "Albania"
-msgstr "Albania"
-
-#: ../rules/base.xml.in.h:43
-msgid "Alt and Meta are on Alt keys"
-msgstr "Alt dan Meta pada tombol Alt"
-
-#: ../rules/base.xml.in.h:44
-msgid "Alt is mapped to Right Win, Super to Menu"
-msgstr "Alt dipetakan ke Win Kanan, Super ke Menu"
-
-#: ../rules/base.xml.in.h:45
-msgid "Alt+CapsLock"
-msgstr "Alt+CapsLock"
-
-#: ../rules/base.xml.in.h:46
-msgid "Alt+Ctrl"
-msgstr "Alt+Ctrl"
-
-#: ../rules/base.xml.in.h:47
-msgid "Alt+Shift"
-msgstr "Alt+Shift"
-
-#: ../rules/base.xml.in.h:48
-msgid "Alt+Space"
-msgstr "Alt+Space"
-
-#: ../rules/base.xml.in.h:49
-msgid "Alt-Q"
-msgstr "Alt-Q"
-
-#: ../rules/base.xml.in.h:50
-msgid "Alt/Win key behavior"
-msgstr "Tindakan Tombol Alt/Win "
-
-#: ../rules/base.xml.in.h:51
-msgid "Alternative"
-msgstr "Alternative"
-
-#: ../rules/base.xml.in.h:52
-msgid "Alternative Eastern"
-msgstr "Alternative Eastern"
-
-#: ../rules/base.xml.in.h:53
-msgid "Alternative Phonetic"
-msgstr "Alternative Phonetik"
-
-#: ../rules/base.xml.in.h:54
-msgid "Alternative international (former us_intl)"
-msgstr "Alternatif Internasional (us_intl)"
-
-#: ../rules/base.xml.in.h:55
-msgid "Alternative, Sun dead keys"
-msgstr "Alternative, tombol mati Matahari"
-
-#: ../rules/base.xml.in.h:56
-msgid "Alternative, eliminate dead keys"
-msgstr "Alternative, hapus tombol mati"
-
-#: ../rules/base.xml.in.h:57
-msgid "Alternative, latin-9 only"
-msgstr "Alternative, hanya latin-9"
-
-#: ../rules/base.xml.in.h:58
-msgid "And"
-msgstr "And"
-
-#: ../rules/base.xml.in.h:59
-msgid "Andorra"
-msgstr "Andorra"
-
-#: ../rules/base.xml.in.h:60
-msgid "Any Alt key"
-msgstr "Tombol Alt apapun"
-
-#: ../rules/base.xml.in.h:61
-msgid "Any Win key"
-msgstr "Tombol Win apapun"
-
-#: ../rules/base.xml.in.h:62
-msgid "Any Win key (while pressed)"
-msgstr "Tombol Win apapun (ketika ditekan)"
-
-#: ../rules/base.xml.in.h:63
-msgid "Apostrophe (') variant"
-msgstr "Varian apostrof (')"
-
-#: ../rules/base.xml.in.h:64
-msgid "Apple"
-msgstr "Apple"
-
-#: ../rules/base.xml.in.h:65
-msgid "Apple Laptop"
-msgstr "Apple Laptop"
-
-#: ../rules/base.xml.in.h:66
-msgid "Ara"
-msgstr "Ara"
-
-#: ../rules/base.xml.in.h:67
-msgid "Arabic"
-msgstr "Arab"
-
-#: ../rules/base.xml.in.h:68
-msgid "Arm"
-msgstr "Arm"
-
-#: ../rules/base.xml.in.h:69
-msgid "Armenia"
-msgstr "Armenia"
-
-#: ../rules/base.xml.in.h:70
-msgid "Asturian variant with bottom-dot H and bottom-dot L"
-msgstr "Varian Asturian dengan titik di bawah pada H dan L "
-
-#: ../rules/base.xml.in.h:71
-msgid "Asus Laptop"
-msgstr "Asus Laptop"
-
-#: ../rules/base.xml.in.h:72
-msgid "At bottom left"
-msgstr "Di kiri bawah"
-
-#: ../rules/base.xml.in.h:73
-msgid "At left of 'A'"
-msgstr "Di sebelah kiri 'A'"
-
-#: ../rules/base.xml.in.h:74
-msgid "Aze"
-msgstr "Aze"
-
-#: ../rules/base.xml.in.h:75
-msgid "Azerbaijan"
-msgstr "Ajarbaijan"
-
-#: ../rules/base.xml.in.h:76
-msgid "Azona RF2300 wireless Internet Keyboard"
-msgstr "Azona RF2300 wireless Internet Keyboard"
-
-#: ../rules/base.xml.in.h:77
-msgid "BTC 5090"
-msgstr "BTC 5090"
-
-#: ../rules/base.xml.in.h:78
-msgid "BTC 5113RF Multimedia"
-msgstr "BTC 5113RF Multimedia"
-
-#: ../rules/base.xml.in.h:79
-msgid "BTC 5126T"
-msgstr "BTC 5126T"
-
-#: ../rules/base.xml.in.h:80
-msgid "BTC 6301URF"
-msgstr "BTC 6301URF"
-
-#: ../rules/base.xml.in.h:81
-msgid "BTC 9000"
-msgstr "BTC 9000"
-
-#: ../rules/base.xml.in.h:82
-msgid "BTC 9000A"
-msgstr "BTC 9000A"
-
-#: ../rules/base.xml.in.h:83
-msgid "BTC 9001AH"
-msgstr "BTC 9001AH"
-
-#: ../rules/base.xml.in.h:84
-msgid "BTC 9019U"
-msgstr "BTC 9019U"
-
-#: ../rules/base.xml.in.h:85
-msgid "BTC 9116U Mini Wireless Internet and Gaming"
-msgstr "BTC 91116U Internet dan Permainan Nirkabel Mini"
-
-#: ../rules/base.xml.in.h:86
-msgid "Ban"
-msgstr "Ban"
-
-#: ../rules/base.xml.in.h:87
-msgid "Bangladesh"
-msgstr "Banglades"
-
-#: ../rules/base.xml.in.h:88
-msgid "Bashkirian"
-msgstr "Bashkirian"
-
-#: ../rules/base.xml.in.h:89
-msgid "Bel"
-msgstr "Bel"
-
-#: ../rules/base.xml.in.h:90
-msgid "Belarus"
-msgstr "Belarus"
-
-#: ../rules/base.xml.in.h:91
-msgid "Belgium"
-msgstr "Belgia"
-
-#: ../rules/base.xml.in.h:92
-msgid "BenQ X-Touch"
-msgstr "BenQ X-Touch"
-
-#: ../rules/base.xml.in.h:93
-msgid "BenQ X-Touch 730"
-msgstr "BenQ X-Touch 730"
-
-#: ../rules/base.xml.in.h:94
-msgid "BenQ X-Touch 800"
-msgstr "BenQ X-Touch 800"
-
-#: ../rules/base.xml.in.h:95
-msgid "Bengali"
-msgstr "Bengali"
-
-#: ../rules/base.xml.in.h:96
-msgid "Bengali Probhat"
-msgstr "Bengali Probhat"
-
-#: ../rules/base.xml.in.h:97
-msgid "Bepo, ergonomic, Dvorak way"
-msgstr "Bepo, ergonomic, Dvorak way"
-
-#: ../rules/base.xml.in.h:98
-msgid "Bepo, ergonomic, Dvorak way, latin-9 only"
-msgstr "Bepo, ergonomic, Dvorak way, latin-9 only"
-
-#: ../rules/base.xml.in.h:99
-msgid "Bgr"
-msgstr "Bgr"
-
-#: ../rules/base.xml.in.h:100
-msgid "Bhu"
-msgstr "Bhu"
-
-#: ../rules/base.xml.in.h:101
-msgid "Bhutan"
-msgstr "Bhutan"
-
-#: ../rules/base.xml.in.h:102
-msgid "Biblical Hebrew (Tiro)"
-msgstr "Biblical Hebrew (Tiro)"
-
-#: ../rules/base.xml.in.h:103
-msgid "Bih"
-msgstr "Bih"
-
-#: ../rules/base.xml.in.h:104
-msgid "Blr"
-msgstr "Blr"
-
-#: ../rules/base.xml.in.h:105
-msgid "Bosnia and Herzegovina"
-msgstr "Bosnia dan Herzegovina"
-
-#: ../rules/base.xml.in.h:106
-msgid "Both Alt keys together"
-msgstr "Kedua tombol Alt bersama"
-
-#: ../rules/base.xml.in.h:107
-msgid "Both Ctrl keys together"
-msgstr "Kedua tombol Ctrl bersama"
-
-#: ../rules/base.xml.in.h:108
-msgid "Both Shift keys together"
-msgstr "Kedua tombol Shift bersama"
-
-#: ../rules/base.xml.in.h:109
-msgid "Bra"
-msgstr "Bra"
-
-#: ../rules/base.xml.in.h:110
-msgid "Braille"
-msgstr "Braille"
-
-#: ../rules/base.xml.in.h:111
-msgid "Brazil"
-msgstr "Brasil"
-
-#: ../rules/base.xml.in.h:112
-msgid "Breton"
-msgstr "Breton"
-
-#: ../rules/base.xml.in.h:113
-msgid "Brl"
-msgstr "Brl"
-
-#: ../rules/base.xml.in.h:114
-msgid "Brother Internet Keyboard"
-msgstr "Brother Internet Keyboard"
-
-#: ../rules/base.xml.in.h:115
-msgid "Buckwalter"
-msgstr "Buckwalter"
-
-#: ../rules/base.xml.in.h:116
-msgid "Bulgaria"
-msgstr "Bulgaria"
-
-#: ../rules/base.xml.in.h:117
-msgid "CRULP"
-msgstr "CRULP"
-
-#: ../rules/base.xml.in.h:118
-msgid "Cambodia"
-msgstr "Kamboja"
-
-#: ../rules/base.xml.in.h:119
-msgid "Can"
-msgstr "Can"
-
-#: ../rules/base.xml.in.h:120
-msgid "Canada"
-msgstr "Kanada"
-
-#: ../rules/base.xml.in.h:121
-msgid "Caps Lock"
-msgstr "Caps Lock"
-
-#: ../rules/base.xml.in.h:122
-msgid "CapsLock"
-msgstr "CapsLock"
-
-#: ../rules/base.xml.in.h:123
-msgid "CapsLock (to first layout), Shift+CapsLock (to last layout)"
-msgstr "CapsLock (ke tata letak pertama), Shift+CapsLock (ke tata letak terakhir)"
-
-#: ../rules/base.xml.in.h:124
-msgid "CapsLock (while pressed), Alt+CapsLock does the original capslock action"
-msgstr "CapsLock (ketika ditekan), Alt+CapsLock melakukan aksi capslock asli"
-
-#: ../rules/base.xml.in.h:125
-msgid "CapsLock acts as Shift with locking. Shift \"pauses\" CapsLock"
-msgstr "CapsLock bertindak sebagai Shift dengan mengunci. Shift \"jeda\" CapsLock."
-
-#: ../rules/base.xml.in.h:126
-msgid "CapsLock acts as Shift with locking. Shift doesn't affect CapsLock"
-msgstr "CapsLock bertindak sebagai Shift yang terkunci. Shift tidak mempengaruhi CapsLock"
-
-#: ../rules/base.xml.in.h:127
-msgid "CapsLock is disabled"
-msgstr "CapsLock dinonaktifkan"
-
-#: ../rules/base.xml.in.h:128
-msgid "CapsLock key behavior"
-msgstr "Tindakan tombol CapsLock"
-
-#: ../rules/base.xml.in.h:129
-msgid "CapsLock toggles Shift so all keys are affected"
-msgstr "CapsLock toggle Shift sehingga semua tombol terpengaruh"
-
-#: ../rules/base.xml.in.h:130
-msgid "CapsLock toggles normal capitalization of alphabetic characters"
-msgstr "CapsLock toggle huruf besar normal atau karakter secara alfabet"
-
-#: ../rules/base.xml.in.h:131
-msgid "CapsLock uses internal capitalization. Shift \"pauses\" CapsLock"
-msgstr "CapsLock menggunakan huruf besar internal. Shift \"pauses\" CapsLock"
-
-#: ../rules/base.xml.in.h:132
-msgid "CapsLock uses internal capitalization. Shift doesn't affect CapsLock"
-msgstr "CapsLock menggunakan huruf besar internal. Shift tidak mempengaruhi CapsLock"
-
-#: ../rules/base.xml.in.h:133
-msgid "Catalan variant with middle-dot L"
-msgstr "Varian Katalan dengan titik-tengah pada L"
-
-#: ../rules/base.xml.in.h:134
-msgid "Cedilla"
-msgstr "Cedilla"
-
-#: ../rules/base.xml.in.h:135
-msgid "Che"
-msgstr "Che"
-
-#: ../rules/base.xml.in.h:136
-msgid "Cherokee"
-msgstr "Cherokee"
-
-#: ../rules/base.xml.in.h:137
-msgid "Cherry B.UNLIMITED"
-msgstr "Cherry B.UNLIMITED"
-
-#: ../rules/base.xml.in.h:138
-msgid "Cherry Blue Line CyBo@rd"
-msgstr "Cherry Blue Line CyBo@rd"
-
-#: ../rules/base.xml.in.h:139
-msgid "Cherry Blue Line CyBo@rd (alternate option)"
-msgstr "Cherry Blue Line CyBo@rd (alternate option)"
-
-#: ../rules/base.xml.in.h:140
-msgid "Cherry CyBo@rd USB-Hub"
-msgstr "Cherry CyBo@rd USB-Hub"
-
-#: ../rules/base.xml.in.h:141
-msgid "Cherry CyMotion Expert"
-msgstr "Cherry CyMotion Expert"
-
-#: ../rules/base.xml.in.h:142
-msgid "Cherry CyMotion Master Linux"
-msgstr "Cherry CyMotion Master Linux"
-
-#: ../rules/base.xml.in.h:143
-msgid "Cherry CyMotion Master XPress"
-msgstr "Cherry CyMotion Master XPress"
-
-#: ../rules/base.xml.in.h:144
-msgid "Chicony Internet Keyboard"
-msgstr "Chicony Internet Keyboard"
-
-#: ../rules/base.xml.in.h:145
-msgid "Chicony KB-9885"
-msgstr "Chicony KB-9885"
-
-#: ../rules/base.xml.in.h:146
-msgid "Chicony KU-0108"
-msgstr "Chicony KU-0108"
-
-#: ../rules/base.xml.in.h:147
-msgid "Chicony KU-0420"
-msgstr "Chicony KU-0420"
-
-#: ../rules/base.xml.in.h:148
-msgid "China"
-msgstr "China"
-
-#: ../rules/base.xml.in.h:149
-msgid "Chuvash"
-msgstr "Chuvash"
-
-#: ../rules/base.xml.in.h:150
-msgid "Chuvash Latin"
-msgstr "Chuvash Latin"
-
-#: ../rules/base.xml.in.h:151
-msgid "Classic"
-msgstr "Classic"
-
-#: ../rules/base.xml.in.h:152
-msgid "Classic Dvorak"
-msgstr "Classic Dvorak"
-
-#: ../rules/base.xml.in.h:153
-msgid "Classmate PC"
-msgstr "Classmate PC"
-
-#: ../rules/base.xml.in.h:154
-msgid "CloGaelach"
-msgstr "CloGaelach"
-
-#: ../rules/base.xml.in.h:155
-msgid "Colemak"
-msgstr "Colemak"
-
-#: ../rules/base.xml.in.h:156
-msgid "Compaq Easy Access Keyboard"
-msgstr "Compaq Easy Access Keyboard"
-
-#: ../rules/base.xml.in.h:157
-msgid "Compaq Internet Keyboard (13 keys)"
-msgstr "Compaq Internet Keyboard (13 tombol)"
-
-#: ../rules/base.xml.in.h:158
-msgid "Compaq Internet Keyboard (18 keys)"
-msgstr "Compaq Internet Keyboard (18 tombol)"
-
-#: ../rules/base.xml.in.h:159
-msgid "Compaq Internet Keyboard (7 keys)"
-msgstr "Compaq Internet Keyboard (7 tombol)"
-
-#: ../rules/base.xml.in.h:160
-msgid "Compaq iPaq Keyboard"
-msgstr "Compaq iPaq Keyboard"
-
-#: ../rules/base.xml.in.h:161
-msgid "Compose key position"
-msgstr "Posisi tombol Compose"
-
-#: ../rules/base.xml.in.h:162
-msgid "Congo, Democratic Republic of the"
-msgstr "Kongo, Republik Demokrat"
-
-#: ../rules/base.xml.in.h:163
-msgid "Control + Alt + Backspace"
-msgstr "Control + Alt + Backspace"
-
-#: ../rules/base.xml.in.h:164
-msgid "Control is mapped to Alt keys, Alt is mapped to Win keys"
-msgstr "Kendali dipetakan ke tombol Alt, Alt dipetakan ke tombol Win"
-
-#: ../rules/base.xml.in.h:165
-msgid "Control is mapped to Win keys (and the usual Ctrl keys)"
-msgstr "Kendali dipetakan ke tombol Win ( dan tombol Ctrl biasa)"
-
-#: ../rules/base.xml.in.h:166
-msgid "Creative Desktop Wireless 7000"
-msgstr "Creative Desktop Wireless 7000"
-
-#: ../rules/base.xml.in.h:167
-msgid "Crimean Tatar (Dobruca-1 Q)"
-msgstr "Crimean Tatar (Dobruca-1 Q)"
-
-#: ../rules/base.xml.in.h:168
-msgid "Crimean Tatar (Dobruca-2 Q)"
-msgstr "Crimean Tatar (Dobruca-2 Q)"
-
-#: ../rules/base.xml.in.h:169
-msgid "Crimean Tatar (Turkish Alt-Q)"
-msgstr "Crimean Tatar (Turkish Alt-Q)"
-
-#: ../rules/base.xml.in.h:170
-msgid "Crimean Tatar (Turkish F)"
-msgstr "Crimean Tatar (Turkish F)"
-
-#: ../rules/base.xml.in.h:171
-msgid "Crimean Tatar (Turkish Q)"
-msgstr "Crimean Tatar (Turkish Q)"
-
-#: ../rules/base.xml.in.h:172
-msgid "Croatia"
-msgstr "Kroasia"
-
-#: ../rules/base.xml.in.h:173
-msgid "Ctrl key position"
-msgstr "Posisi tombol Ctrl"
-
-#: ../rules/base.xml.in.h:174
-msgid "Ctrl+Shift"
-msgstr "Ctrl+Shift"
-
-#: ../rules/base.xml.in.h:175
-msgid "Cyrillic"
-msgstr "Cyrillic"
-
-#: ../rules/base.xml.in.h:176
-msgid "Cyrillic with guillemets"
-msgstr "Cyrillic dengan guillemets"
-
-#: ../rules/base.xml.in.h:177
-msgid "Cyrillic, Z and ZHE swapped"
-msgstr "Cyrillic, Z dan ZHE di-swap"
-
-#: ../rules/base.xml.in.h:178
-msgid "Cze"
-msgstr "Cze"
-
-#: ../rules/base.xml.in.h:179
-msgid "Czechia"
-msgstr "Czechia"
-
-#: ../rules/base.xml.in.h:180
-msgid "DOS"
-msgstr "DOS"
-
-#: ../rules/base.xml.in.h:181
-msgid "DRC"
-msgstr "DRC"
-
-#: ../rules/base.xml.in.h:182
-msgid "DTK2000"
-msgstr "DTK2000"
-
-#: ../rules/base.xml.in.h:183
-msgid "Dan"
-msgstr "Dan"
-
-#: ../rules/base.xml.in.h:184
-msgid "Dead acute"
-msgstr "Dead acute"
-
-#: ../rules/base.xml.in.h:185
-msgid "Dead grave acute"
-msgstr "Dead grave acute"
-
-#: ../rules/base.xml.in.h:186
-msgid "Default numeric keypad keys"
-msgstr "Tombol angka keypad standar"
-
-#: ../rules/base.xml.in.h:187
-msgid "Dell"
-msgstr "Dell"
-
-#: ../rules/base.xml.in.h:188
-msgid "Dell 101-key PC"
-msgstr "Dell 101-key PC"
-
-#: ../rules/base.xml.in.h:189
-msgid "Dell Laptop/notebook Inspiron 6xxx/8xxx"
-msgstr "Dell Laptop/notebook Inspiron 6xxx/8xxx"
-
-#: ../rules/base.xml.in.h:190
-msgid "Dell Laptop/notebook Precision M series"
-msgstr "Dell Laptop/notebook Precision M series"
-
-#: ../rules/base.xml.in.h:191
-msgid "Dell Latitude series laptop"
-msgstr "Dell Latitude series laptop"
-
-#: ../rules/base.xml.in.h:192
-msgid "Dell Precision M65"
-msgstr "Dell Precision M65"
-
-#: ../rules/base.xml.in.h:193
-msgid "Dell SK-8125"
-msgstr "Dell SK-8125"
-
-#: ../rules/base.xml.in.h:194
-msgid "Dell SK-8135"
-msgstr "Dell SK-8135"
-
-#: ../rules/base.xml.in.h:195
-msgid "Dell USB Multimedia Keyboard"
-msgstr "Dell USB Multimedia Keyboard"
-
-#: ../rules/base.xml.in.h:196
-msgid "Denmark"
-msgstr "Denmark"
-
-#: ../rules/base.xml.in.h:197
-msgid "Deu"
-msgstr "Deu"
-
-#: ../rules/base.xml.in.h:198
-msgid "Dexxa Wireless Desktop Keyboard"
-msgstr "Dexxa Wireless Desktop Keyboard"
-
-#: ../rules/base.xml.in.h:199
-msgid "Diamond 9801 / 9802 series"
-msgstr "Diamond 9801 / 9802 series"
-
-#: ../rules/base.xml.in.h:200
-msgid "Dvorak"
-msgstr "Dvorak"
-
-#: ../rules/base.xml.in.h:201
-msgid "Dvorak (UK Punctuation)"
-msgstr "Dvorak (UK Punctuation)"
-
-#: ../rules/base.xml.in.h:202
-msgid "Dvorak international"
-msgstr "Dvorak international"
-
-#: ../rules/base.xml.in.h:203
-msgid "Dvorak, Polish quotes on key 1"
-msgstr "Dvorak, tanda kutip Polandia pada tombol 1"
-
-#: ../rules/base.xml.in.h:204
-msgid "Dvorak, Polish quotes on quotemark key"
-msgstr "Dvorak, tanda kutip Polandia pada tombol quotemark"
-
-#: ../rules/base.xml.in.h:205
-msgid "E"
-msgstr "E"
-
-#: ../rules/base.xml.in.h:206
-msgid "Eastern"
-msgstr "Eastern"
-
-#: ../rules/base.xml.in.h:207
-msgid "Eliminate dead keys"
-msgstr "Hapus tombol mati"
-
-#: ../rules/base.xml.in.h:208
-msgid "Enable extra typographic characters"
-msgstr "Aktifkan karakter tipografi ekstra"
-
-#: ../rules/base.xml.in.h:209
-msgid "English"
-msgstr "Inggris"
-
-#: ../rules/base.xml.in.h:210
-msgid "Ennyah DKB-1008"
-msgstr "Ennyah DKB-1008"
-
-#: ../rules/base.xml.in.h:211
-msgid "Enter on keypad"
-msgstr "Enter pada keypad"
-
-#: ../rules/base.xml.in.h:212
-msgid "Epo"
-msgstr "Epo"
-
-#: ../rules/base.xml.in.h:213
-msgid "Ergonomic"
-msgstr "Ergonomic"
-
-#: ../rules/base.xml.in.h:214
-msgid "Esp"
-msgstr "Esp"
-
-#: ../rules/base.xml.in.h:215
-msgid "Esperanto"
-msgstr "Esperanto"
-
-#: ../rules/base.xml.in.h:216
-msgid "Est"
-msgstr "Est"
-
-#: ../rules/base.xml.in.h:217
-msgid "Estonia"
-msgstr "Estonia"
-
-#: ../rules/base.xml.in.h:218
-msgid "Eth"
-msgstr "Eth"
-
-#: ../rules/base.xml.in.h:219
-msgid "Ethiopia"
-msgstr "Ethiopia"
-
-#: ../rules/base.xml.in.h:220
-msgid "Evdev-managed keyboard"
-msgstr "Evdev-managed keyboard"
-
-#: ../rules/base.xml.in.h:221
-msgid "Everex STEPnote"
-msgstr "Everex STEPnote"
-
-#: ../rules/base.xml.in.h:222
-msgid "Ewe"
-msgstr "Ewe"
-
-#: ../rules/base.xml.in.h:223
-msgid "Extended"
-msgstr "Extended"
-
-#: ../rules/base.xml.in.h:224
-msgid "Extended - Winkeys"
-msgstr "Extended - Winkeys"
-
-#: ../rules/base.xml.in.h:225
-msgid "Extended Backslash"
-msgstr "Extended Backslash"
-
-#: ../rules/base.xml.in.h:226
-msgid "F-letter (F) variant"
-msgstr "varian huruf-F (F)"
-
-#: ../rules/base.xml.in.h:227
-msgid "FL90"
-msgstr "FL90"
-
-#: ../rules/base.xml.in.h:228
-msgid "Fao"
-msgstr "Fao"
-
-#: ../rules/base.xml.in.h:229
-msgid "Faroe Islands"
-msgstr "kepulauan Farao"
-
-#: ../rules/base.xml.in.h:230
-msgid "Fin"
-msgstr "Fin"
-
-#: ../rules/base.xml.in.h:231
-msgid "Finland"
-msgstr "Finlandia"
-
-#. This assumes the KP_ abstract symbols are actually useful for some apps
-#. The description needs to be rewritten
-#: ../rules/base.xml.in.h:234
-msgid "Four-level key with abstract separators"
-msgstr "Tombol empat-tingkat dengan pemisah abstrak"
-
-#: ../rules/base.xml.in.h:235
-msgid "Four-level key with comma"
-msgstr "Tombol empat-tingkat dengan koma"
-
-#: ../rules/base.xml.in.h:236
-msgid "Four-level key with dot"
-msgstr "Tombol empat-tingkat dengan titik"
-
-#: ../rules/base.xml.in.h:237
-msgid "Four-level key with dot, latin-9 restriction"
-msgstr "Tombol empat-tingkat dengan titik, pembatasan latin-9"
-
-#: ../rules/base.xml.in.h:238
-msgid "Four-level key with momayyez"
-msgstr "Tombol empat tingkat dengan momayyez"
-
-#: ../rules/base.xml.in.h:239
-msgid "Fra"
-msgstr "Fra"
-
-#: ../rules/base.xml.in.h:240
-msgid "France"
-msgstr "Perancis"
-
-#: ../rules/base.xml.in.h:241
-msgid "French"
-msgstr "Perancis"
-
-#: ../rules/base.xml.in.h:242
-msgid "French (Macintosh)"
-msgstr "French (Macintosh)"
-
-#: ../rules/base.xml.in.h:243
-msgid "French (legacy)"
-msgstr "French (legacy)"
-
-#: ../rules/base.xml.in.h:244
-msgid "French Dvorak"
-msgstr "French Dvorak"
-
-#: ../rules/base.xml.in.h:245
-msgid "French, Sun dead keys"
-msgstr "Frence, Tombol mati Matahari"
-
-#: ../rules/base.xml.in.h:246
-msgid "French, eliminate dead keys"
-msgstr "French, hapus tombol mati"
-
-#: ../rules/base.xml.in.h:247
-msgid "Fujitsu-Siemens Computers AMILO laptop"
-msgstr "Fujitsu-Siemens Computers AMILO laptop"
-
-#: ../rules/base.xml.in.h:248
-msgid "Fula"
-msgstr "Fula"
-
-#: ../rules/base.xml.in.h:249
-msgid "GBr"
-msgstr "GBr"
-
-#: ../rules/base.xml.in.h:250
-msgid "Ga"
-msgstr "Ga"
-
-#: ../rules/base.xml.in.h:251
-msgid "Generic 101-key PC"
-msgstr "Generic 101-key PC"
-
-#: ../rules/base.xml.in.h:252
-msgid "Generic 102-key (Intl) PC"
-msgstr "Generic 102-key (Intl) PC"
-
-#: ../rules/base.xml.in.h:253
-msgid "Generic 104-key PC"
-msgstr "Generic 104-key PC"
-
-#: ../rules/base.xml.in.h:254
-msgid "Generic 105-key (Intl) PC"
-msgstr "Generic 105-key (Intl) PC"
-
-#: ../rules/base.xml.in.h:255
-msgid "Genius Comfy KB-12e"
-msgstr "Genius Comfy KB-12e"
-
-#: ../rules/base.xml.in.h:256
-msgid "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
-msgstr "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
-
-#: ../rules/base.xml.in.h:257
-msgid "Genius Comfy KB-21e-Scroll"
-msgstr "Genius Comfy KB-21e-Scroll"
-
-#: ../rules/base.xml.in.h:258
-msgid "Genius KB-19e NB"
-msgstr "Genius KB-19e NB"
-
-#: ../rules/base.xml.in.h:259
-msgid "Genius KKB-2050HS"
-msgstr "Genius KKB-2050HS"
-
-#: ../rules/base.xml.in.h:260
-msgid "Geo"
-msgstr "Geo"
-
-#: ../rules/base.xml.in.h:261
-msgid "Georgia"
-msgstr "Georgia"
-
-#: ../rules/base.xml.in.h:262
-msgid "Georgian"
-msgstr "Georgia"
-
-#: ../rules/base.xml.in.h:263
-msgid "Georgian AZERTY Tskapo"
-msgstr "Georgian AZERTY Tskapo"
-
-#: ../rules/base.xml.in.h:264
-msgid "German (Macintosh)"
-msgstr "German (Macintosh)"
-
-#: ../rules/base.xml.in.h:265
-msgid "German, Sun dead keys"
-msgstr "German, Tombol mati Matahari"
-
-#: ../rules/base.xml.in.h:266
-msgid "German, eliminate dead keys"
-msgstr "German, hapus tombol mati"
-
-#: ../rules/base.xml.in.h:267
-msgid "Germany"
-msgstr "Jerman"
-
-#: ../rules/base.xml.in.h:268
-msgid "Gha"
-msgstr "Gha"
-
-#: ../rules/base.xml.in.h:269
-msgid "Ghana"
-msgstr "Ghana"
-
-#: ../rules/base.xml.in.h:270
-msgid "Gre"
-msgstr "Gre"
-
-#: ../rules/base.xml.in.h:271
-msgid "Greece"
-msgstr "Yunani"
-
-#: ../rules/base.xml.in.h:272
-msgid "Group toggle on multiply/divide key"
-msgstr "Grup toggle pada tombol perkalian/pembagian"
-
-#: ../rules/base.xml.in.h:273
-msgid "Gui"
-msgstr "Gui"
-
-#: ../rules/base.xml.in.h:274
-msgid "Guinea"
-msgstr "Guinea"
-
-#: ../rules/base.xml.in.h:275
-msgid "Gujarati"
-msgstr "Gujurati"
-
-#: ../rules/base.xml.in.h:276
-msgid "Gurmukhi"
-msgstr "Gurmukhi"
-
-#: ../rules/base.xml.in.h:277
-msgid "Gurmukhi Jhelum"
-msgstr "Gurmukhi Jhelum"
-
-#: ../rules/base.xml.in.h:278
-msgid "Gyration"
-msgstr "Gyration"
-
-#: ../rules/base.xml.in.h:279
-msgid "Happy Hacking Keyboard"
-msgstr "Happy Hacking Keyboard"
-
-#: ../rules/base.xml.in.h:280
-msgid "Happy Hacking Keyboard for Mac"
-msgstr "Happy Hacking Keyboard untukr Mac"
-
-#: ../rules/base.xml.in.h:281
-msgid "Hausa"
-msgstr "Hausa"
-
-#: ../rules/base.xml.in.h:282
-msgid "Hewlett-Packard Internet Keyboard"
-msgstr "Hewlett-Packard Internet Keyboard"
-
-#: ../rules/base.xml.in.h:283
-msgid "Hewlett-Packard Mini 110 Notebook"
-msgstr "Hewlett-Packard Mini 110 Notebook"
-
-#: ../rules/base.xml.in.h:284
-msgid "Hewlett-Packard Omnibook 500 FA"
-msgstr "Hewlett-Packard Omnibook 500 FA"
-
-#: ../rules/base.xml.in.h:285
-msgid "Hewlett-Packard Omnibook 5xx"
-msgstr "Hewlett-Packard Omnibook 5xx"
-
-#: ../rules/base.xml.in.h:286
-msgid "Hewlett-Packard Omnibook 6000/6100"
-msgstr "Hewlett-Packard Omnibook 6000/6100"
-
-#: ../rules/base.xml.in.h:287
-msgid "Hewlett-Packard Omnibook XE3 GC"
-msgstr "Hewlett-Packard Omnibook XE3 GC"
-
-#: ../rules/base.xml.in.h:288
-msgid "Hewlett-Packard Omnibook XE3 GF"
-msgstr "Hewlett-Packard Omnibook XE3 GF"
-
-#: ../rules/base.xml.in.h:289
-msgid "Hewlett-Packard Omnibook XT1000"
-msgstr "Hewlett-Packard Omnibook XT1000"
-
-#: ../rules/base.xml.in.h:290
-msgid "Hewlett-Packard Pavilion ZT11xx"
-msgstr "Hewlett-Packard Pavilion ZT11xx"
-
-#: ../rules/base.xml.in.h:291
-msgid "Hewlett-Packard Pavilion dv5"
-msgstr "Hewlett-Packard Pavilion dv5"
-
-#: ../rules/base.xml.in.h:292
-msgid "Hewlett-Packard SK-250x Multimedia Keyboard"
-msgstr "Papan Ketik Multimedia Hewlett-Packard SK-2501"
-
-#: ../rules/base.xml.in.h:293
-msgid "Hewlett-Packard nx9020"
-msgstr "Hewlett-Packard nx9020"
-
-#: ../rules/base.xml.in.h:294
-msgid "Hexadecimal"
-msgstr "Heksadesimal"
-
-#: ../rules/base.xml.in.h:295
-msgid "Hindi Bolnagri"
-msgstr "Hindi Bolnagri"
-
-#: ../rules/base.xml.in.h:296
-msgid "Hindi Wx"
-msgstr "Hindi Wx"
-
-#: ../rules/base.xml.in.h:297
-msgid "Homophonic"
-msgstr "Hindi Bolnagri"
-
-#: ../rules/base.xml.in.h:298
-msgid "Honeywell Euroboard"
-msgstr "Honeywell Euroboard"
-
-#: ../rules/base.xml.in.h:299
-msgid "Hrv"
-msgstr "Hvr"
-
-#: ../rules/base.xml.in.h:300
-msgid "Hun"
-msgstr "Hun"
-
-#: ../rules/base.xml.in.h:301
-msgid "Hungary"
-msgstr "Hungaria"
-
-#: ../rules/base.xml.in.h:302
-msgid "Hyper is mapped to Win-keys"
-msgstr "Hiper dipetakan ke tombol Win"
-
-#: ../rules/base.xml.in.h:303
-msgid "IBM (LST 1205-92)"
-msgstr "IBM (LST 1205-92)"
-
-#: ../rules/base.xml.in.h:304
-msgid "IBM Rapid Access"
-msgstr "IBM Rapid Access"
-
-#: ../rules/base.xml.in.h:305
-msgid "IBM Rapid Access II"
-msgstr "IBM Rapid Access II"
-
-#: ../rules/base.xml.in.h:306
-msgid "IBM Space Saver"
-msgstr "IBM Space Saver"
-
-#: ../rules/base.xml.in.h:307
-msgid "IBM ThinkPad 560Z/600/600E/A22E"
-msgstr "IBM ThinkPad 560Z/600/600E/A22E"
-
-#: ../rules/base.xml.in.h:308
-msgid "IBM ThinkPad R60/T60/R61/T61"
-msgstr "IBM ThinkPad R60/T60/R61/T61"
-
-#: ../rules/base.xml.in.h:309
-msgid "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
-msgstr "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
-
-#: ../rules/base.xml.in.h:310
-msgid "ISO Alternate"
-msgstr "ISO Alternate"
-
-#: ../rules/base.xml.in.h:311
-msgid "Iceland"
-msgstr "Islandia"
-
-#: ../rules/base.xml.in.h:312
-msgid "Igbo"
-msgstr "Igbo"
-
-#: ../rules/base.xml.in.h:313
-msgid "Include dead tilde"
-msgstr "Termasuk tilde mati"
-
-#: ../rules/base.xml.in.h:314
-msgid "Ind"
-msgstr "Ind"
-
-#: ../rules/base.xml.in.h:315
-msgid "India"
-msgstr "India"
-
-#: ../rules/base.xml.in.h:316
-msgid "International (AltGr dead keys)"
-msgstr "Internasional (AltGr tombol mati)"
-
-#: ../rules/base.xml.in.h:317
-msgid "International (with dead keys)"
-msgstr "Internasional (dengan tombol mati)"
-
-#: ../rules/base.xml.in.h:318
-msgid "Inuktitut"
-msgstr "Inuktitut"
-
-#: ../rules/base.xml.in.h:319
-msgid "Iran"
-msgstr "Iran"
-
-#: ../rules/base.xml.in.h:320
-msgid "Iraq"
-msgstr "Irak"
-
-#: ../rules/base.xml.in.h:321
-msgid "Ireland"
-msgstr "Irlandia"
-
-#: ../rules/base.xml.in.h:322
-msgid "Irl"
-msgstr "Irl"
-
-#: ../rules/base.xml.in.h:323
-msgid "Irn"
-msgstr "Irn"
-
-#: ../rules/base.xml.in.h:324
-msgid "Irq"
-msgstr "Irq"
-
-#: ../rules/base.xml.in.h:325
-msgid "Isl"
-msgstr "Isl"
-
-#: ../rules/base.xml.in.h:326
-msgid "Isr"
-msgstr "Isr"
-
-#: ../rules/base.xml.in.h:327
-msgid "Israel"
-msgstr "Israel"
-
-#: ../rules/base.xml.in.h:328
-msgid "Ita"
-msgstr "Ita"
-
-#: ../rules/base.xml.in.h:329
-msgid "Italy"
-msgstr "Italia"
-
-#: ../rules/base.xml.in.h:330
-msgid "Japan"
-msgstr "Jepang"
-
-#: ../rules/base.xml.in.h:331
-msgid "Japan (PC-98xx Series)"
-msgstr "Japan (PC-98xx Series)"
-
-#: ../rules/base.xml.in.h:332
-msgid "Japanese keyboard options"
-msgstr "Pilihan Keyboard Jepang"
-
-#: ../rules/base.xml.in.h:333
-msgid "Jpn"
-msgstr "Jpn"
-
-#: ../rules/base.xml.in.h:334
-msgid "Kalmyk"
-msgstr "Kalmyk"
-
-#: ../rules/base.xml.in.h:335
-msgid "Kana"
-msgstr "Kana"
-
-#: ../rules/base.xml.in.h:336
-msgid "Kana Lock key is locking"
-msgstr "Tombol Kana Lock terkunci"
-
-#: ../rules/base.xml.in.h:337
-msgid "Kannada"
-msgstr "Kannada"
-
-#: ../rules/base.xml.in.h:338
-msgid "Kashubian"
-msgstr "Kashubian"
-
-#: ../rules/base.xml.in.h:339
-msgid "Kaz"
-msgstr "Kaz"
-
-#: ../rules/base.xml.in.h:340
-msgid "Kazakh with Russian"
-msgstr "Kazakh dengan Rusia"
-
-#: ../rules/base.xml.in.h:341
-msgid "Kazakhstan"
-msgstr "Kazakhstan"
-
-#: ../rules/base.xml.in.h:342
-msgid "Key sequence to kill the X server"
-msgstr "Sekuensi kunci untuk mematikan server X"
-
-#: ../rules/base.xml.in.h:343
-msgid "Key to choose 3rd level"
-msgstr "Tekan Menu Kiri untuk memilih tingkat 3"
-
-#: ../rules/base.xml.in.h:344
-msgid "Key(s) to change layout"
-msgstr "Tombol untuk mengubah tata letak"
-
-#: ../rules/base.xml.in.h:345
-msgid "Keytronic FlexPro"
-msgstr "Keytronic FlexPro"
-
-#: ../rules/base.xml.in.h:346
-msgid "Kgz"
-msgstr "Kgz"
-
-#: ../rules/base.xml.in.h:347
-msgid "Khm"
-msgstr "Khm"
-
-#: ../rules/base.xml.in.h:348
-msgid "Komi"
-msgstr "Komi"
-
-#: ../rules/base.xml.in.h:349
-msgid "Kor"
-msgstr "Kor"
-
-#: ../rules/base.xml.in.h:350
-msgid "Korea, Republic of"
-msgstr "Republik Korea"
-
-#: ../rules/base.xml.in.h:351
-msgid "Ktunaxa"
-msgstr "Ktunaxa"
-
-#: ../rules/base.xml.in.h:352
-msgid "Kurdish, (F)"
-msgstr "Kurdish, (F)"
-
-#: ../rules/base.xml.in.h:353
-msgid "Kurdish, Arabic-Latin"
-msgstr "Kurdish, Arabic-Latin"
-
-#: ../rules/base.xml.in.h:354
-msgid "Kurdish, Latin Alt-Q"
-msgstr "Kurdish, Latin Alt-Q"
-
-#: ../rules/base.xml.in.h:355
-msgid "Kurdish, Latin Q"
-msgstr "Kurdish, Latin Q"
-
-#: ../rules/base.xml.in.h:356
-msgid "Kyrgyzstan"
-msgstr "Kyrgyzstan"
-
-#: ../rules/base.xml.in.h:357
-msgid "LAm"
-msgstr "LAm"
-
-#: ../rules/base.xml.in.h:358
-msgid "LEKP"
-msgstr "LEKP"
-
-#: ../rules/base.xml.in.h:359
-msgid "LEKPa"
-msgstr "LEKPa"
-
-#: ../rules/base.xml.in.h:360
-msgid "Lao"
-msgstr "Lao"
-
-#: ../rules/base.xml.in.h:361
-msgid "Laos"
-msgstr "Laos"
-
-#: ../rules/base.xml.in.h:362
-msgid "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard"
-msgstr "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard"
-
-#: ../rules/base.xml.in.h:363
-msgid "Laptop/notebook Compaq (eg. Presario) Internet Keyboard"
-msgstr "Laptop/notebook Compaq (eg. Presario) Internet Keyboard"
-
-#: ../rules/base.xml.in.h:364
-msgid "Laptop/notebook eMachines m68xx"
-msgstr "Laptop/notebook eMachines m68xx"
-
-#: ../rules/base.xml.in.h:365
-msgid "Latin"
-msgstr "Latin"
-
-#: ../rules/base.xml.in.h:366
-msgid "Latin American"
-msgstr "Latin Amerika"
-
-#: ../rules/base.xml.in.h:367
-msgid "Latin Unicode"
-msgstr "Latin Unicode"
-
-#: ../rules/base.xml.in.h:368
-msgid "Latin Unicode qwerty"
-msgstr "Latin Unicode qwerty"
-
-#: ../rules/base.xml.in.h:369
-msgid "Latin qwerty"
-msgstr "Latin qwerty"
-
-#: ../rules/base.xml.in.h:370
-msgid "Latin unicode"
-msgstr "Latin unicode"
-
-#: ../rules/base.xml.in.h:371
-msgid "Latin unicode qwerty"
-msgstr "Latin unicode qwerty"
-
-#: ../rules/base.xml.in.h:372
-msgid "Latin with guillemets"
-msgstr "Latin dengan guillemets"
-
-#: ../rules/base.xml.in.h:373
-msgid "Latvia"
-msgstr "Latvia"
-
-#: ../rules/base.xml.in.h:374
-msgid "Lav"
-msgstr "Lav"
-
-#: ../rules/base.xml.in.h:375
-msgid "Left Alt"
-msgstr "Alt Kiri"
-
-#: ../rules/base.xml.in.h:376
-msgid "Left Alt (while pressed)"
-msgstr "Alt Kiri (ketika ditekan)"
-
-#: ../rules/base.xml.in.h:377
-msgid "Left Alt is swapped with Left Win"
-msgstr "Alt Kiri ditukar dengan Win Kiri"
-
-#: ../rules/base.xml.in.h:378
-msgid "Left Ctrl"
-msgstr "Ctrl Kiri"
-
-#: ../rules/base.xml.in.h:379
-msgid "Left Ctrl (to first layout), Right Ctrl (to last layout)"
-msgstr "Ctrl Kiri (ke tata letak pertama), Ctrl Kanan (ke tata letak terakhir)"
-
-#: ../rules/base.xml.in.h:380
-msgid "Left Ctrl+Left Shift"
-msgstr "Ctrl Kiri+Shift Kiri"
-
-#: ../rules/base.xml.in.h:381
-msgid "Left Shift"
-msgstr "Shift Kiri"
-
-#: ../rules/base.xml.in.h:382
-msgid "Left Win"
-msgstr "Win Kiri"
-
-#: ../rules/base.xml.in.h:383
-msgid "Left Win (to first layout), Right Win/Menu (to last layout)"
-msgstr "Win Kiri (ke tata letak pertama), Win/Menu Kanan (ke tata letak terakhir)"
-
-#: ../rules/base.xml.in.h:384
-msgid "Left Win (while pressed)"
-msgstr "Win Kiri (ketika ditekan)"
-
-#: ../rules/base.xml.in.h:385
-msgid "Left hand"
-msgstr "Kidal"
-
-#: ../rules/base.xml.in.h:386
-msgid "Left handed Dvorak"
-msgstr "Left handed Dvorak"
-
-#: ../rules/base.xml.in.h:387
-msgid "Legacy"
-msgstr "Legacy"
-
-#: ../rules/base.xml.in.h:388
-msgid "Legacy Wang 724"
-msgstr "Legacy Wang 724"
-
-#. Actually, with KP_SEPARATOR, as the old keypad(comma)
-#: ../rules/base.xml.in.h:390
-msgid "Legacy key with comma"
-msgstr "Tombol Legacy dengan koma"
-
-#: ../rules/base.xml.in.h:391
-msgid "Legacy key with dot"
-msgstr "Tombol Legacy dengan titik"
-
-#: ../rules/base.xml.in.h:392
-msgid "Less-than/Greater-than"
-msgstr "Lebih-kecil/Lebih-besar"
-
-#: ../rules/base.xml.in.h:393
-msgid "Lithuania"
-msgstr "Lithuania"
-
-#: ../rules/base.xml.in.h:394
-msgid "Logitech Access Keyboard"
-msgstr "Logitech Access Keyboard"
-
-#: ../rules/base.xml.in.h:395
-msgid "Logitech Cordless Desktop"
-msgstr "Logitech Cordless Desktop"
-
-#: ../rules/base.xml.in.h:396
-msgid "Logitech Cordless Desktop (alternate option)"
-msgstr "Logitech Cordless Desktop (pilihan alternatif)"
-
-#: ../rules/base.xml.in.h:397
-msgid "Logitech Cordless Desktop EX110"
-msgstr "Logitech Cordless Desktop EX110"
-
-#: ../rules/base.xml.in.h:398
-msgid "Logitech Cordless Desktop LX-300"
-msgstr "Logitech Cordless Desktop LX-300"
-
-#: ../rules/base.xml.in.h:399
-msgid "Logitech Cordless Desktop Navigator"
-msgstr "Logitech Cordless Desktop Navigator"
-
-#: ../rules/base.xml.in.h:400
-msgid "Logitech Cordless Desktop Optical"
-msgstr "Logitech Cordless Desktop Optical"
-
-#: ../rules/base.xml.in.h:401
-msgid "Logitech Cordless Desktop Pro (alternate option 2)"
-msgstr "Logitech Cordless Desktop Pro (opsi alternatif 2)"
-
-#: ../rules/base.xml.in.h:402
-msgid "Logitech Cordless Desktop iTouch"
-msgstr "Logitech Cordless Desktop iTouch"
-
-#: ../rules/base.xml.in.h:403
-msgid "Logitech Cordless Freedom/Desktop Navigator"
-msgstr "Logitech Cordless Freedom/Desktop Navigator"
-
-#: ../rules/base.xml.in.h:404
-msgid "Logitech G15 extra keys via G15daemon"
-msgstr "Logitech G15 extra keys via G15daemon"
-
-#: ../rules/base.xml.in.h:405
-msgid "Logitech Generic Keyboard"
-msgstr "Logitech Generic Keyboard"
-
-#: ../rules/base.xml.in.h:406
-msgid "Logitech Internet 350 Keyboard"
-msgstr "Logitech Internet 350 Keyboard"
-
-#: ../rules/base.xml.in.h:407
-msgid "Logitech Internet Keyboard"
-msgstr "Logitech Internet Keyboard"
-
-#: ../rules/base.xml.in.h:408
-msgid "Logitech Internet Navigator Keyboard"
-msgstr "Logitech Internet Navigator Keyboard"
-
-#: ../rules/base.xml.in.h:409
-msgid "Logitech Media Elite Keyboard"
-msgstr "Logitech Media Elite Keyboard"
-
-#: ../rules/base.xml.in.h:410
-msgid "Logitech Ultra-X Cordless Media Desktop Keyboard"
-msgstr "Logitech Ultra-X Cordless Media Desktop Keyboard"
-
-#: ../rules/base.xml.in.h:411
-msgid "Logitech Ultra-X Keyboard"
-msgstr "Logitech Ultra-X Keyboard"
-
-#: ../rules/base.xml.in.h:412
-msgid "Logitech diNovo Edge Keyboard"
-msgstr "Logitech diNovo Edge Keyboard"
-
-#: ../rules/base.xml.in.h:413
-msgid "Logitech diNovo Keyboard"
-msgstr "Logitech diNovo Keyboard"
-
-#: ../rules/base.xml.in.h:414
-msgid "Logitech iTouch"
-msgstr "Logitech iTouch"
-
-#: ../rules/base.xml.in.h:415
-msgid "Logitech iTouch Cordless Keyboard (model Y-RB6)"
-msgstr "Logitech iTouch Cordless Keyboard (model Y-RB6)"
-
-#: ../rules/base.xml.in.h:416
-msgid "Logitech iTouch Internet Navigator Keyboard SE"
-msgstr "Logitech iTouch Internet Navigator Keyboard SE"
-
-#: ../rules/base.xml.in.h:417
-msgid "Logitech iTouch Internet Navigator Keyboard SE (USB)"
-msgstr "Logitech iTouch Internet Navigator Keyboard SE (USB)"
-
-#: ../rules/base.xml.in.h:418
-msgid "Lower Sorbian"
-msgstr "Lower Sorbian"
-
-#: ../rules/base.xml.in.h:419
-msgid "Lower Sorbian (qwertz)"
-msgstr "Lower Sorbian (qwertz)"
-
-#: ../rules/base.xml.in.h:420
-msgid "Ltu"
-msgstr "Ltu"
-
-#: ../rules/base.xml.in.h:421
-msgid "MESS"
-msgstr "MESS"
-
-#: ../rules/base.xml.in.h:422
-msgid "MNE"
-msgstr "MNE"
-
-#: ../rules/base.xml.in.h:423
-msgid "MacBook/MacBook Pro"
-msgstr "MacBook/MacBook Pro"
-
-#: ../rules/base.xml.in.h:424
-msgid "MacBook/MacBook Pro (Intl)"
-msgstr "MacBook/MacBook Pro (Intl)"
-
-#: ../rules/base.xml.in.h:425
-msgid "Macedonia"
-msgstr "Masedonia"
-
-#: ../rules/base.xml.in.h:426
-msgid "Macintosh"
-msgstr "Macintosh"
-
-#: ../rules/base.xml.in.h:427
-msgid "Macintosh Old"
-msgstr "Macintosh Old"
-
-#: ../rules/base.xml.in.h:428
-msgid "Macintosh, Sun dead keys"
-msgstr "Machintosh, tombol mati Matahari"
-
-#: ../rules/base.xml.in.h:429
-msgid "Macintosh, eliminate dead keys"
-msgstr "Machintosh, hapus tombol mati"
-
-#: ../rules/base.xml.in.h:430
-msgid "Make CapsLock an additional Backspace"
-msgstr "Buat CapsLock sebagai tambahan Backspace"
-
-#: ../rules/base.xml.in.h:431
-msgid "Make CapsLock an additional Ctrl"
-msgstr "Buat CapsLock sebagai tambahan Ctrl"
-
-#: ../rules/base.xml.in.h:432
-msgid "Make CapsLock an additional ESC"
-msgstr "Buat CapsLock sebagai tambahan ESC"
-
-#: ../rules/base.xml.in.h:433
-msgid "Make CapsLock an additional Hyper"
-msgstr "Buat CapsLock sebagai tambahan Hiper"
-
-#: ../rules/base.xml.in.h:434
-msgid "Make CapsLock an additional NumLock"
-msgstr "Buat CapsLock sebagai tambahan NumLock"
-
-#: ../rules/base.xml.in.h:435
-msgid "Make CapsLock an additional Super"
-msgstr "Buat CapsLock sebagai tambahan Super"
-
-#: ../rules/base.xml.in.h:436
-msgid "Mal"
-msgstr "Mal"
-
-#: ../rules/base.xml.in.h:437
-msgid "Malayalam"
-msgstr "Malayalam"
-
-#: ../rules/base.xml.in.h:438
-msgid "Malayalam Lalitha"
-msgstr "Malayalam Lalitha"
-
-#: ../rules/base.xml.in.h:439
-msgid "Maldives"
-msgstr "Maldives"
-
-#: ../rules/base.xml.in.h:440
-msgid "Malta"
-msgstr "Malta"
-
-#: ../rules/base.xml.in.h:441
-msgid "Maltese keyboard with US layout"
-msgstr "Keyboard Maltase dengan Layout US"
-
-#: ../rules/base.xml.in.h:442
-msgid "Mao"
-msgstr "Mao"
-
-#: ../rules/base.xml.in.h:443
-msgid "Maori"
-msgstr "Maori"
-
-#: ../rules/base.xml.in.h:444
-msgid "Memorex MX1998"
-msgstr "Memorex MX1998"
-
-#: ../rules/base.xml.in.h:445
-msgid "Memorex MX2500 EZ-Access Keyboard"
-msgstr "Memorex MX2500 EZ-Access Keyboard"
-
-#: ../rules/base.xml.in.h:446
-msgid "Memorex MX2750"
-msgstr "Memorex MX2750"
-
-#: ../rules/base.xml.in.h:447
-msgid "Menu"
-msgstr "Menu"
-
-#: ../rules/base.xml.in.h:448
-msgid "Meta is mapped to Left Win"
-msgstr "Meta dipetakan ke tombol Win Kiri"
-
-#: ../rules/base.xml.in.h:449
-msgid "Meta is mapped to Win keys"
-msgstr "Meta dipetakan ke tombol Win"
-
-#: ../rules/base.xml.in.h:450
-msgid "Microsoft Comfort Curve Keyboard 2000"
-msgstr "Microsoft Comfort Curve Keyboard 2000"
-
-#: ../rules/base.xml.in.h:451
-msgid "Microsoft Internet Keyboard"
-msgstr "Microsoft Internet Keyboard"
-
-#: ../rules/base.xml.in.h:452
-msgid "Microsoft Internet Keyboard Pro, Swedish"
-msgstr "Microsoft Internet Keyboard Pro, Swedia"
-
-#: ../rules/base.xml.in.h:453
-msgid "Microsoft Natural"
-msgstr "Microsoft Natural"
-
-#: ../rules/base.xml.in.h:454
-msgid "Microsoft Natural Keyboard Elite"
-msgstr "Microsoft Natural Keyboard Elite"
-
-#: ../rules/base.xml.in.h:455
-msgid "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
-msgstr "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
-
-#: ../rules/base.xml.in.h:456
-msgid "Microsoft Natural Keyboard Pro OEM"
-msgstr "Microsoft Natural Keyboard Pro OEM"
-
-#: ../rules/base.xml.in.h:457
-msgid "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
-msgstr "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
-
-#: ../rules/base.xml.in.h:458
-msgid "Microsoft Natural Wireless Ergonomic Keyboard 7000"
-msgstr "Microsoft Natural Wireless Ergonomic Keyboard 7000"
-
-#: ../rules/base.xml.in.h:459
-msgid "Microsoft Office Keyboard"
-msgstr "Microsoft Office Keyboard"
-
-#: ../rules/base.xml.in.h:460
-msgid "Microsoft Wireless Multimedia Keyboard 1.0A"
-msgstr "Microsoft Wireless Multimedia Keyboard 1.0A"
-
-#: ../rules/base.xml.in.h:461
-msgid "Miscellaneous compatibility options"
-msgstr "Pilihan kompabilitas lain-lain"
-
-#: ../rules/base.xml.in.h:462
-msgid "Mkd"
-msgstr "Mkd"
-
-#: ../rules/base.xml.in.h:463
-msgid "Mlt"
-msgstr "Mlt"
-
-#: ../rules/base.xml.in.h:464
-msgid "Mmr"
-msgstr "Mmr"
-
-#: ../rules/base.xml.in.h:465
-msgid "Mng"
-msgstr "Mng"
-
-#: ../rules/base.xml.in.h:466
-msgid "Mongolia"
-msgstr "Mongolia"
-
-#: ../rules/base.xml.in.h:467
-msgid "Montenegro"
-msgstr "Montenegro"
-
-#: ../rules/base.xml.in.h:468
-msgid "Morocco"
-msgstr "Maroko"
-
-#: ../rules/base.xml.in.h:469
-msgid "Multilingual"
-msgstr "Multilingual"
-
-#: ../rules/base.xml.in.h:470
-msgid "Multilingual, first part"
-msgstr "Multilingual, bagian pertama"
-
-#: ../rules/base.xml.in.h:471
-msgid "Multilingual, second part"
-msgstr "Multilingual, bagian kedua"
-
-#: ../rules/base.xml.in.h:472
-msgid "Myanmar"
-msgstr "Myanmar"
-
-#: ../rules/base.xml.in.h:473
-msgid "NICOLA-F style Backspace"
-msgstr "NICOLA-F style Backspace"
-
-#: ../rules/base.xml.in.h:474
-msgid "NLA"
-msgstr "NLA"
-
-#: ../rules/base.xml.in.h:475
-msgid "Nativo"
-msgstr "Nativo"
-
-#: ../rules/base.xml.in.h:476
-msgid "Nativo for Esperanto"
-msgstr "Nativo untuk Esperanto"
-
-#: ../rules/base.xml.in.h:477
-msgid "Nativo for USA keyboards"
-msgstr "Nativo untuk papan ketik USA"
-
-#: ../rules/base.xml.in.h:478
-msgid "Neo 2"
-msgstr "Neo 2"
-
-#: ../rules/base.xml.in.h:479
-msgid "Nep"
-msgstr "Nep"
-
-#: ../rules/base.xml.in.h:480
-msgid "Nepal"
-msgstr "Nepal"
-
-#: ../rules/base.xml.in.h:481
-msgid "Netherlands"
-msgstr "Belanda"
-
-#: ../rules/base.xml.in.h:482
-msgid "New phonetic"
-msgstr "Fonetik baru"
-
-#: ../rules/base.xml.in.h:483
-msgid "Nig"
-msgstr "Nig"
-
-#: ../rules/base.xml.in.h:484
-msgid "Nigeria"
-msgstr "Negeria"
-
-#: ../rules/base.xml.in.h:485
-msgid "Nld"
-msgstr "Nld"
-
-#: ../rules/base.xml.in.h:486
-msgid "Non-breakable space character at fourth level"
-msgstr "Karakter spasi yang tidak pecah pada tingkat 4"
-
-#: ../rules/base.xml.in.h:487
-msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level"
-msgstr "Karakter spasi yang tidak pecah pada tingkat 4, karakter spasi yang tidak pecah dan tipis pada tingkat 6"
-
-#: ../rules/base.xml.in.h:488
-msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)"
-msgstr "Karakter spasi yang tidak pecah pada tingkat 4, karakter spasi yang tidak pecah dan tipis pada tingkat 6 (via Ctrl+Shift)"
-
-#: ../rules/base.xml.in.h:489
-msgid "Non-breakable space character at second level"
-msgstr "Karakter spasi yang tidak pecah pada tingkat 2"
-
-#: ../rules/base.xml.in.h:490
-msgid "Non-breakable space character at third level"
-msgstr "Karakter spasi yang tidak pecah pada tingkat 3"
-
-#: ../rules/base.xml.in.h:491
-msgid "Non-breakable space character at third level, nothing at fourth level"
-msgstr "Karakter spasi yang tidak pecah pada tingkat 3, tidak ada pada tingkat 4"
-
-#: ../rules/base.xml.in.h:492
-msgid "Non-breakable space character at third level, thin non-breakable space character at fourth level"
-msgstr "Karakter spasi yang tidak pecah pada tingkat 3, karakter spasi yang tidak pecah dan tipis pada tingkat 4"
-
-#: ../rules/base.xml.in.h:493
-msgid "Nor"
-msgstr "Nor"
-
-#: ../rules/base.xml.in.h:494
-msgid "Northern Saami"
-msgstr "Northern Saami"
-
-#: ../rules/base.xml.in.h:495
-msgid "Northern Saami, eliminate dead keys"
-msgstr "Northern Saami, hapus tombo mati"
-
-#: ../rules/base.xml.in.h:496
-msgid "Northgate OmniKey 101"
-msgstr "Northgate OmniKey 101"
-
-#: ../rules/base.xml.in.h:497
-msgid "Norway"
-msgstr "Norwegia"
-
-#: ../rules/base.xml.in.h:498
-msgid "NumLock"
-msgstr "NumLock"
-
-#: ../rules/base.xml.in.h:499
-msgid "Numeric keypad delete key behaviour"
-msgstr "Keypad numerik menghapus perilaku tombol"
-
-#: ../rules/base.xml.in.h:500
-msgid "Numeric keypad keys work as with Mac"
-msgstr "Keypad numerik bekerja seperti dengan Mac"
-
-#: ../rules/base.xml.in.h:501
-msgid "Numeric keypad layout selection"
-msgstr "Pilihan layout Keypad numerik "
-
-#: ../rules/base.xml.in.h:502
-msgid "OADG 109A"
-msgstr "OADG 109A"
-
-#: ../rules/base.xml.in.h:503
-msgid "OLPC"
-msgstr "OLPC"
-
-#: ../rules/base.xml.in.h:504
-msgid "OLPC Dari"
-msgstr "OLPC Dari"
-
-#: ../rules/base.xml.in.h:505
-msgid "OLPC Pashto"
-msgstr "OLPC Pashto"
-
-#: ../rules/base.xml.in.h:506
-msgid "OLPC Southern Uzbek"
-msgstr "OLPC Southern Uzbek"
-
-#: ../rules/base.xml.in.h:507
-msgid "Occitan"
-msgstr "Occitan"
-
-#: ../rules/base.xml.in.h:508
-msgid "Ogham"
-msgstr "Ogham"
-
-#: ../rules/base.xml.in.h:509
-msgid "Ogham IS434"
-msgstr "Ogham IS434"
-
-#: ../rules/base.xml.in.h:510
-msgid "Oriya"
-msgstr "Oriya"
-
-#: ../rules/base.xml.in.h:511
-msgid "Ortek MCK-800 MM/Internet keyboard"
-msgstr "Ortek MCK-800 MM/Internet keyboard"
-
-#: ../rules/base.xml.in.h:512
-msgid "Ossetian"
-msgstr "Ossetian"
-
-#: ../rules/base.xml.in.h:513
-msgid "Ossetian, Winkeys"
-msgstr "Ossetian, Tombol Win"
-
-#: ../rules/base.xml.in.h:514
-msgid "Ossetian, legacy"
-msgstr "Ossetian, legacy"
-
-#: ../rules/base.xml.in.h:515
-msgid "PC-98xx Series"
-msgstr "PC-98xx Series"
-
-#: ../rules/base.xml.in.h:516
-msgid "Pak"
-msgstr "Pak"
-
-#: ../rules/base.xml.in.h:517
-msgid "Pakistan"
-msgstr "Pakistan"
-
-#: ../rules/base.xml.in.h:518
-msgid "Pashto"
-msgstr "Pashto"
-
-#: ../rules/base.xml.in.h:519
-msgid "Pattachote"
-msgstr "Pattachote"
-
-#: ../rules/base.xml.in.h:520
-msgid "Persian, with Persian Keypad"
-msgstr "Persia, dengan papan ketik Persia"
-
-#: ../rules/base.xml.in.h:521
-msgid "Phonetic"
-msgstr "Phonetic"
-
-#: ../rules/base.xml.in.h:522
-msgid "Phonetic Winkeys"
-msgstr "Phonetic Winkeys"
-
-#: ../rules/base.xml.in.h:523
-msgid "Pol"
-msgstr "Pol"
-
-#: ../rules/base.xml.in.h:524
-msgid "Poland"
-msgstr "Polandia"
-
-#: ../rules/base.xml.in.h:525
-msgid "Polytonic"
-msgstr "Polytonic"
-
-#: ../rules/base.xml.in.h:526
-msgid "Portugal"
-msgstr "Portugal"
-
-#: ../rules/base.xml.in.h:527
-msgid "Probhat"
-msgstr "Probhat"
-
-#: ../rules/base.xml.in.h:528
-msgid "Programmer Dvorak"
-msgstr "Programmer Dvorak"
-
-#: ../rules/base.xml.in.h:529
-msgid "Propeller Voyager (KTEZ-1000)"
-msgstr "Propeller Voyager (KTEZ-1000)"
-
-#: ../rules/base.xml.in.h:530
-msgid "Prt"
-msgstr "Prt"
-
-#: ../rules/base.xml.in.h:531
-msgid "QTronix Scorpius 98N+"
-msgstr "QTronix Scorpius 98N+"
-
-#: ../rules/base.xml.in.h:532
-msgid "Right Alt"
-msgstr "Alt Kanan"
-
-#: ../rules/base.xml.in.h:533
-msgid "Right Alt (while pressed)"
-msgstr "Alt Kanan (ketika ditekan)"
-
-#: ../rules/base.xml.in.h:534
-msgid "Right Alt key never chooses 3rd level"
-msgstr "Alt Kanan tidak pernah memilih tingkat 3"
-
-#: ../rules/base.xml.in.h:535
-msgid "Right Alt, Shift+Right Alt key is Multi_Key"
-msgstr "Alt Kanan, Shift+Right Alt adalah Multi_Key"
-
-#: ../rules/base.xml.in.h:536
-msgid "Right Ctrl"
-msgstr "Ctrl Kanan"
-
-#: ../rules/base.xml.in.h:537
-msgid "Right Ctrl (while pressed)"
-msgstr "Ctrl Kanan (ketika ditekan)"
-
-#: ../rules/base.xml.in.h:538
-msgid "Right Ctrl as Right Alt"
-msgstr "Ctrl Kanan bertindak seperti Alt Kanan"
-
-#: ../rules/base.xml.in.h:539
-msgid "Right Ctrl+Right Shift"
-msgstr "Ctrl Kanan+Shift Kanan"
-
-#: ../rules/base.xml.in.h:540
-msgid "Right Shift"
-msgstr "Shift Kanan"
-
-#: ../rules/base.xml.in.h:541
-msgid "Right Win"
-msgstr "Win Kanan"
-
-#: ../rules/base.xml.in.h:542
-msgid "Right Win (while pressed)"
-msgstr "Win Kanan (ketika ditekan)"
-
-#: ../rules/base.xml.in.h:543
-msgid "Right hand"
-msgstr "Tangan Kanan"
-
-#: ../rules/base.xml.in.h:544
-msgid "Right handed Dvorak"
-msgstr "Right handed Dvorak"
-
-#: ../rules/base.xml.in.h:545
-msgid "Romania"
-msgstr "Rumania"
-
-#: ../rules/base.xml.in.h:546
-msgid "Romanian keyboard with German letters"
-msgstr "Keyboard Rumania dengan huruf Jerman"
-
-#: ../rules/base.xml.in.h:547
-msgid "Romanian keyboard with German letters, eliminate dead keys"
-msgstr "Keyboard Rumania dengan huruf Jerman, hapus tombol mati"
-
-#: ../rules/base.xml.in.h:548
-msgid "Rou"
-msgstr "Rou"
-
-#: ../rules/base.xml.in.h:549
-msgid "Rus"
-msgstr "Rus"
-
-#: ../rules/base.xml.in.h:550
-msgid "Russia"
-msgstr "Rusia"
-
-#: ../rules/base.xml.in.h:551
-msgid "Russian"
-msgstr "Rusia"
-
-#: ../rules/base.xml.in.h:552
-msgid "Russian phonetic"
-msgstr "Russian phonetic"
-
-#: ../rules/base.xml.in.h:553
-msgid "Russian phonetic Dvorak"
-msgstr "Russian phonetic Dvorak"
-
-#: ../rules/base.xml.in.h:554
-msgid "Russian phonetic, eliminate dead keys"
-msgstr "Russian phonetic, hapus tombol mati"
-
-#: ../rules/base.xml.in.h:555
-msgid "Russian with Kazakh"
-msgstr "Rusia dengan Kazakh"
-
-#: ../rules/base.xml.in.h:556
-msgid "SILVERCREST Multimedia Wireless Keyboard"
-msgstr "SILVERCREST Multimedia Wireless Keyboard"
-
-#: ../rules/base.xml.in.h:557
-msgid "SK-1300"
-msgstr "SK-1300"
-
-#: ../rules/base.xml.in.h:558
-msgid "SK-2500"
-msgstr "SK-2500"
-
-#: ../rules/base.xml.in.h:559
-msgid "SK-6200"
-msgstr "SK-6200"
-
-#: ../rules/base.xml.in.h:560
-msgid "SK-7100"
-msgstr "SK-7100"
-
-#: ../rules/base.xml.in.h:561 ../rules/base.extras.xml.in.h:7
-msgid "SRB"
-msgstr "SRB"
-
-#: ../rules/base.xml.in.h:562
-msgid "SVEN Ergonomic 2500"
-msgstr "SVEN Ergonomic 2500"
-
-#: ../rules/base.xml.in.h:563
-msgid "SVEN Slim 303"
-msgstr "SVEN Slim 303"
-
-#: ../rules/base.xml.in.h:564
-msgid "Samsung SDM 4500P"
-msgstr "Samsung SDM 4500P"
-
-#: ../rules/base.xml.in.h:565
-msgid "Samsung SDM 4510P"
-msgstr "Samsung SDM 4510P"
-
-#: ../rules/base.xml.in.h:566
-msgid "Scroll Lock"
-msgstr "Scroll Lock"
-
-#: ../rules/base.xml.in.h:567
-msgid "ScrollLock"
-msgstr "ScrollLock"
-
-#: ../rules/base.xml.in.h:568
-msgid "Secwepemctsin"
-msgstr "Secwepemctsin"
-
-#: ../rules/base.xml.in.h:569
-msgid "Semi-colon on third level"
-msgstr "Semi-kolon pada level ketiga"
-
-#: ../rules/base.xml.in.h:570 ../rules/base.extras.xml.in.h:8
-msgid "Serbia"
-msgstr "Serbia"
-
-#: ../rules/base.xml.in.h:571
-msgid "Shift cancels CapsLock"
-msgstr "Shift membatalkan CapsLock"
-
-#: ../rules/base.xml.in.h:572
-msgid "Shift does not cancel NumLock, chooses 3d level instead"
-msgstr "Shift tidak membatalkan NumLock, lebih memilih level ketiga"
-
-#: ../rules/base.xml.in.h:573
-msgid "Shift with numeric keypad keys works as in MS Windows"
-msgstr "Shit dengan keypad numerik bekerja sesuai pada MS Windows"
-
-#: ../rules/base.xml.in.h:574
-msgid "Shift+CapsLock"
-msgstr "Shift+CapsLock"
-
-#: ../rules/base.xml.in.h:575
-msgid "Simple"
-msgstr "Sederhana"
-
-#: ../rules/base.xml.in.h:576
-msgid "Slovakia"
-msgstr "Slovakia"
-
-#: ../rules/base.xml.in.h:577
-msgid "Slovenia"
-msgstr "Slovenia"
-
-#: ../rules/base.xml.in.h:578
-msgid "South Africa"
-msgstr "Afrika Selatan"
-
-#: ../rules/base.xml.in.h:579
-msgid "Southern Uzbek"
-msgstr "Uzbek Selatan"
-
-#: ../rules/base.xml.in.h:580
-msgid "Spain"
-msgstr "Spanyol"
-
-#: ../rules/base.xml.in.h:581
-msgid "Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server"
-msgstr "Tombol spesial (Ctrl+Alt+&lt;key&gt;) ditangani pada server"
-
-#: ../rules/base.xml.in.h:582
-msgid "SrL"
-msgstr "Srl"
-
-#: ../rules/base.xml.in.h:583
-msgid "Sri Lanka"
-msgstr "Sri Lanka"
-
-#: ../rules/base.xml.in.h:584
-msgid "Standard"
-msgstr "Standard"
-
-#: ../rules/base.xml.in.h:585
-msgid "Standard (Cedilla)"
-msgstr "Standard (Cedilla)"
-
-#. RSTU 2019-91
-#: ../rules/base.xml.in.h:587
-msgid "Standard RSTU"
-msgstr "Standard RSTU"
-
-#. RSTU 2019-91
-#: ../rules/base.xml.in.h:589
-msgid "Standard RSTU on Russian layout"
-msgstr "Standard RSTU pada layout Rusia"
-
-#: ../rules/base.xml.in.h:590
-msgid "Sun Type 5/6"
-msgstr "Sun Type 5/6"
-
-#: ../rules/base.xml.in.h:591
-msgid "Sun dead keys"
-msgstr "Tombol mati Matahari"
-
-#: ../rules/base.xml.in.h:592
-msgid "Super Power Multimedia Keyboard"
-msgstr "Super Power Multimedia Keyboard"
-
-#: ../rules/base.xml.in.h:593
-msgid "Svdvorak"
-msgstr "Svdvorak"
-
-#: ../rules/base.xml.in.h:594
-msgid "Svk"
-msgstr "Svk"
-
-#: ../rules/base.xml.in.h:595
-msgid "Svn"
-msgstr "Svn"
-
-#: ../rules/base.xml.in.h:596
-msgid "Swap Ctrl and CapsLock"
-msgstr "Tukar Ctrl dan CapsLock"
-
-#: ../rules/base.xml.in.h:597
-msgid "Swap ESC and CapsLock"
-msgstr "Tujar ESC dan CapsLock"
-
-#: ../rules/base.xml.in.h:598
-msgid "Swe"
-msgstr "Swe"
-
-#: ../rules/base.xml.in.h:599
-msgid "Sweden"
-msgstr "Swedia"
-
-#: ../rules/base.xml.in.h:600
-msgid "Switzerland"
-msgstr "Switzerland"
-
-#: ../rules/base.xml.in.h:601
-msgid "Symplon PaceBook (tablet PC)"
-msgstr "Symplon PaceBook (tablet PC)"
-
-#: ../rules/base.xml.in.h:602
-msgid "Syr"
-msgstr "Syr"
-
-#: ../rules/base.xml.in.h:603
-msgid "Syria"
-msgstr "Syria"
-
-#: ../rules/base.xml.in.h:604
-msgid "Syriac"
-msgstr "Syriac"
-
-#: ../rules/base.xml.in.h:605
-msgid "Syriac phonetic"
-msgstr "Syriac phonetic"
-
-#: ../rules/base.xml.in.h:606
-msgid "TIS-820.2538"
-msgstr "TIS-820.2538"
-
-#: ../rules/base.xml.in.h:607
-msgid "Tajikistan"
-msgstr "Tajikistan"
-
-#: ../rules/base.xml.in.h:608
-msgid "Tamil"
-msgstr "Tamil"
-
-#: ../rules/base.xml.in.h:609
-msgid "Tamil TAB Typewriter"
-msgstr "Tamil TAB Typewriter"
-
-#: ../rules/base.xml.in.h:610
-msgid "Tamil TSCII Typewriter"
-msgstr "Tamil TSCII Typewriter"
-
-#: ../rules/base.xml.in.h:611
-msgid "Tamil Unicode"
-msgstr "Tamil Unicode"
-
-#: ../rules/base.xml.in.h:612
-msgid "Targa Visionary 811"
-msgstr "Targa Visionary 811"
-
-#: ../rules/base.xml.in.h:613
-msgid "Tatar"
-msgstr "Tatar"
-
-#: ../rules/base.xml.in.h:614
-msgid "Telugu"
-msgstr "Telugu"
-
-#: ../rules/base.xml.in.h:615
-msgid "Tha"
-msgstr "Tha"
-
-#: ../rules/base.xml.in.h:616
-msgid "Thailand"
-msgstr "Thailand"
-
-#: ../rules/base.xml.in.h:617
-msgid "Tibetan"
-msgstr "Tibetan"
-
-#: ../rules/base.xml.in.h:618
-msgid "Tibetan (with ASCII numerals)"
-msgstr "Tibetan (with ASCII numerals)"
-
-#: ../rules/base.xml.in.h:619
-msgid "Tifinagh"
-msgstr "Tifinagh"
-
-#: ../rules/base.xml.in.h:620
-msgid "Tifinagh Alternative"
-msgstr "Tifinagh Alternative"
-
-#: ../rules/base.xml.in.h:621
-msgid "Tifinagh Alternative Phonetic"
-msgstr "Tifinagh Alternative Phonetic"
-
-#: ../rules/base.xml.in.h:622
-msgid "Tifinagh Extended"
-msgstr "Tifinagh Extended"
-
-#: ../rules/base.xml.in.h:623
-msgid "Tifinagh Extended Phonetic"
-msgstr "Tifinagh Alternative Phonetic"
-
-#: ../rules/base.xml.in.h:624
-msgid "Tifinagh Phonetic"
-msgstr "Tifinagh Phonetic"
-
-#: ../rules/base.xml.in.h:625
-msgid "Tilde (~) variant"
-msgstr "Varian tilde (~)"
-
-#: ../rules/base.xml.in.h:626
-msgid "Tjk"
-msgstr "Tjk"
-
-#: ../rules/base.xml.in.h:627
-msgid "To the corresponding key in a Dvorak keyboard."
-msgstr "Ke tombol dalam papan ketik Dvorak."
-
-#: ../rules/base.xml.in.h:628
-msgid "To the corresponding key in a Qwerty keyboard."
-msgstr "Ke tombol dalam papan ketik Qwerty."
-
-#: ../rules/base.xml.in.h:629
-msgid "Toshiba Satellite S3000"
-msgstr "Toshiba Satellite S3000"
-
-#: ../rules/base.xml.in.h:630
-msgid "Traditional phonetic"
-msgstr "Traditional phonetic"
-
-#: ../rules/base.xml.in.h:631
-msgid "Trust Direct Access Keyboard"
-msgstr "Trust Direct Access Keyboard"
-
-#: ../rules/base.xml.in.h:632
-msgid "Trust Slimline"
-msgstr "Trust Slimline"
-
-#: ../rules/base.xml.in.h:633
-msgid "Trust Wireless Keyboard Classic"
-msgstr "Trust Wireless Keyboard Classic"
-
-#: ../rules/base.xml.in.h:634
-msgid "Tur"
-msgstr "Tur"
-
-#: ../rules/base.xml.in.h:635
-msgid "Turkey"
-msgstr "Turki"
-
-#: ../rules/base.xml.in.h:636
-msgid "Turkmenistan"
-msgstr "Turkmenistan"
-
-#: ../rules/base.xml.in.h:637
-msgid "Typewriter"
-msgstr "Typewriter"
-
-#: ../rules/base.xml.in.h:638
-msgid "Typewriter, legacy"
-msgstr "Typewriter, warisan"
-
-#: ../rules/base.xml.in.h:639
-msgid "UCW layout (accented letters only)"
-msgstr "UCW layout (accented letters only)"
-
-#: ../rules/base.xml.in.h:640
-msgid "US keyboard with Bosnian digraphs"
-msgstr "Keyboard Amerika dengan Bosnia digraphs"
-
-#: ../rules/base.xml.in.h:641
-msgid "US keyboard with Bosnian letters"
-msgstr "Keyboard Amerika dengan huruf Bosnia"
-
-#: ../rules/base.xml.in.h:642
-msgid "US keyboard with Croatian digraphs"
-msgstr "Keyboard Amerika dengan Kroasia digraphs"
-
-#: ../rules/base.xml.in.h:643
-msgid "US keyboard with Croatian letters"
-msgstr "Keyboard Amerika dengan huruf Kroasia"
-
-#: ../rules/base.xml.in.h:644
-msgid "US keyboard with Estonian letters"
-msgstr "Keyboard Amerika dengan huruf Estonia"
-
-#: ../rules/base.xml.in.h:645
-msgid "US keyboard with Italian letters"
-msgstr "Papan ketik AS dengan huruf Italia"
-
-#: ../rules/base.xml.in.h:646
-msgid "US keyboard with Lithuanian letters"
-msgstr "Keyboard Amerika dengan huruf Lituania"
-
-#: ../rules/base.xml.in.h:647
-msgid "US keyboard with Slovenian letters"
-msgstr "Keyboard Amerika dengan huruf Slovenia"
-
-#: ../rules/base.xml.in.h:648 ../rules/base.extras.xml.in.h:9
-msgid "USA"
-msgstr "USA"
-
-#: ../rules/base.xml.in.h:649
-msgid "Udmurt"
-msgstr "Udmurt"
-
-#: ../rules/base.xml.in.h:650
-msgid "Ukr"
-msgstr "Ukr"
-
-#: ../rules/base.xml.in.h:651
-msgid "Ukraine"
-msgstr "Ukraina"
-
-#: ../rules/base.xml.in.h:652
-msgid "Unicode additions (arrows and math operators)"
-msgstr "Tambahan unicode (panah dan operator matematika)"
-
-#: ../rules/base.xml.in.h:653
-msgid "Unicode additions (arrows and math operators). Math operators on default level"
-msgstr "Tambahan unicode (panah dan operator matematika). Operator matematika pada tingkat standar"
-
-#: ../rules/base.xml.in.h:654
-msgid "UnicodeExpert"
-msgstr "UnicodeExpert"
-
-#: ../rules/base.xml.in.h:655
-msgid "United Kingdom"
-msgstr "Inggris Raya"
-
-#: ../rules/base.xml.in.h:656
-msgid "Unitek KB-1925"
-msgstr "Unitek KB-1925"
-
-#: ../rules/base.xml.in.h:657
-msgid "Urdu, Alternative phonetic"
-msgstr "Urdu, Fonetik alternatif"
-
-#: ../rules/base.xml.in.h:658
-msgid "Urdu, Phonetic"
-msgstr "Urdu, Fonetik"
-
-#: ../rules/base.xml.in.h:659
-msgid "Urdu, Winkeys"
-msgstr "Urdu, Tombol Win"
-
-#: ../rules/base.xml.in.h:660
-msgid "Use Bosnian digraphs"
-msgstr "Gunakan diagraph Bosnia"
-
-#: ../rules/base.xml.in.h:661
-msgid "Use Croatian digraphs"
-msgstr "Gunakan diagraph Kroasia"
-
-#: ../rules/base.xml.in.h:662
-msgid "Use guillemets for quotes"
-msgstr "Gunakan guillemets untuk tanda petik"
-
-#: ../rules/base.xml.in.h:663
-msgid "Use keyboard LED to show alternative layout"
-msgstr "Gunakan keyboard LED untuk menunjukkan layout alternatif"
-
-#: ../rules/base.xml.in.h:664
-msgid "Using space key to input non-breakable space character"
-msgstr "Menggunakan spasi untuk input karakter spasi yang tidak pecah"
-
-#: ../rules/base.xml.in.h:665
-msgid "Usual space at any level"
-msgstr "Tombol spasi biasa pada semua tingkat"
-
-#: ../rules/base.xml.in.h:666
-msgid "Uzb"
-msgstr "Uzb"
-
-#: ../rules/base.xml.in.h:667
-msgid "Uzbekistan"
-msgstr "Uzbekistan"
-
-#: ../rules/base.xml.in.h:668
-msgid "Vietnam"
-msgstr "Vietnam"
-
-#: ../rules/base.xml.in.h:669
-msgid "ViewSonic KU-306 Internet Keyboard"
-msgstr "ViewSonic KU-306 Internet Keyboard"
-
-#: ../rules/base.xml.in.h:670
-msgid "Vnm"
-msgstr "Vnm"
-
-#: ../rules/base.xml.in.h:671
-msgid "Wang 724 keypad with unicode additions (arrows and math operators)"
-msgstr "Wang 724 keypad dengan tambahan unicode (panah and operator matematika). "
-
-#: ../rules/base.xml.in.h:672
-msgid "Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level"
-msgstr "Wang 724 keypad dengan tambahan unicode (panah and operator matematika). Operator matematika pada tingkat standar"
-
-#: ../rules/base.xml.in.h:673
-msgid "Wang model 724 azerty"
-msgstr "Wang model 724 azerty"
-
-#: ../rules/base.xml.in.h:674
-msgid "Western"
-msgstr "Western"
-
-#: ../rules/base.xml.in.h:675
-msgid "Winbook Model XP5"
-msgstr "Winbook Model XP5"
-
-#: ../rules/base.xml.in.h:676
-msgid "Winkeys"
-msgstr "Tombol Win"
-
-#: ../rules/base.xml.in.h:677
-msgid "With &lt;\\|&gt; key"
-msgstr "Dengan &lt;\\|&gt; key;tombol"
-
-#: ../rules/base.xml.in.h:678
-msgid "With EuroSign on 5"
-msgstr "Dengan tanda Euro pada 5"
-
-#: ../rules/base.xml.in.h:679
-msgid "With guillemets"
-msgstr "Dengan guillemets"
-
-#: ../rules/base.xml.in.h:680
-msgid "Yahoo! Internet Keyboard"
-msgstr "Yahoo! Internet Keyboard"
-
-#: ../rules/base.xml.in.h:681
-msgid "Yakut"
-msgstr "Yakut"
-
-#: ../rules/base.xml.in.h:682
-msgid "Yoruba"
-msgstr "Yoruba"
-
-#: ../rules/base.xml.in.h:683
-msgid "Z and ZHE swapped"
-msgstr "menukar Z dan ZHE "
-
-#: ../rules/base.xml.in.h:684
-msgid "Zar"
-msgstr "Zar"
-
-#: ../rules/base.xml.in.h:685
-msgid "azerty"
-msgstr "azerty"
-
-#: ../rules/base.xml.in.h:686
-msgid "azerty/digits"
-msgstr "azerty/angka"
-
-#: ../rules/base.xml.in.h:687
-msgid "digits"
-msgstr "digit"
-
-#: ../rules/base.xml.in.h:688
-msgid "displaced semicolon and quote (obsolete)"
-msgstr "ganti titik koma dan tanda kutip (kuno)"
-
-#: ../rules/base.xml.in.h:689
-msgid "lyx"
-msgstr "lyx"
-
-#: ../rules/base.xml.in.h:690
-msgid "qwerty"
-msgstr "qwerty"
-
-#: ../rules/base.xml.in.h:691
-msgid "qwerty, extended Backslash"
-msgstr "qwerty, ditambah Backslash"
-
-#: ../rules/base.xml.in.h:692
-msgid "qwerty/digits"
-msgstr "qwertz/angka"
-
-#: ../rules/base.xml.in.h:693
-msgid "qwertz"
-msgstr "qwertz"
-
-#: ../rules/base.extras.xml.in.h:1
-msgid "APL"
-msgstr "APL"
-
-#: ../rules/base.extras.xml.in.h:2
-msgid "Atsina"
-msgstr "Atsina"
-
-#: ../rules/base.extras.xml.in.h:3
-msgid "Combining accents instead of dead keys"
-msgstr "Menggabungkan aksen ketimbang tombol mati"
-
-#: ../rules/base.extras.xml.in.h:4
-msgid "Couer D'alene Salish"
-msgstr "Couer D'alene Salish"
-
-#: ../rules/base.extras.xml.in.h:5
-msgid "International (AltGr Unicode combining)"
-msgstr "Internasional (AltGr menggabungkan Unicode)"
-
-#: ../rules/base.extras.xml.in.h:6
-msgid "International (AltGr Unicode combining, alternative)"
-msgstr "Internasional (AltGr menggabungkan Unicode, alternatif)"
-
-#~ msgid "Baltic+"
-#~ msgstr "Baltic+"
-
-#~ msgid "IBM ThinkPad 560Z/600/600E/A22E, Intl"
-#~ msgstr "IBM ThinkPad 560Z/600/600E/A22E, Intl"
-
-#~ msgid "Keypad"
-#~ msgstr "Keypad"
-
-#~ msgid "Pro"
-#~ msgstr "Pro"
-
-#~ msgid "Pro Keypad"
-#~ msgstr "Pro Keypad"
-
-#~ msgid "Standard Phonetic"
-#~ msgstr "Fonetik Standar"
-
-#~ msgid "Brazilian ABNT2"
-#~ msgstr "Brazilian ABNT2"
-
-#~ msgid "Japanese 106-key"
-#~ msgstr "Japanese 106-key"
-
-#~ msgid "Kir"
-#~ msgstr "Kir"
-
-#~ msgid "Korean 106-key"
-#~ msgstr "Korean 106-key"
-
-#~ msgid "Super is mapped to Win keys"
-#~ msgstr "Super dipetakan ke tombol Win"
-
-#~ msgid "US keyboard with Slovenian digraphs"
-#~ msgstr "Keyboard Amerika dengan Slovenia digraph"
-
-#~ msgid "Unicode"
-#~ msgstr "Unicode"
-
-#~ msgid "Use Slovenian digraphs"
-#~ msgstr "Gunakan diagraph Slovenia "
-
-#~ msgid "Add the EuroSign to the 2 key."
-#~ msgstr "Tambah tanda Euro ke tombol 2"
-
-#~ msgid "Add the EuroSign to the 4 key."
-#~ msgstr "Tambah tanda Euro ke tombol 4"
-
-#~ msgid "Add the EuroSign to the 5 key."
-#~ msgstr "Tambah tanda Euro ke tombol 5"
-
-#~ msgid "Add the EuroSign to the E key."
-#~ msgstr "Tambah tanda Euro ke tombol E"
-
-#~ msgid "Alt+Ctrl change layout."
-#~ msgstr "Alt+Ctrl mengubah layout."
-
-#~ msgid "Alt+Shift change layout."
-#~ msgstr "Alt+Shift mengubah layout."
-
-#~ msgid "CapsLock LED shows alternative layout."
-#~ msgstr "CapsLock LED menunjukkan layout alternatif."
-
-#~ msgid "CapsLock just locks the Shift modifier."
-#~ msgstr "CapsLock hanya mengunci modifier Shift."
-
-#~ msgid "CapsLock key changes layout."
-#~ msgstr "Tombol CapsLock mengubah layout."
-
-#~ msgid "Ctrl+Shift change layout."
-#~ msgstr "Ctrl+Shift mengubah layout."
-
-#~ msgid "Hewlett-Packard Internet Keyboard 5181"
-#~ msgstr "Hewlett-Packard Internet Keyboard 5181"
-
-#~ msgid "Hewlett-Packard Internet Keyboard 5185"
-#~ msgstr "Hewlett-Packard Internet Keyboard 5185"
-
-#~ msgid "Hewlett-Packard SK-2505 Internet Keyboard"
-#~ msgstr "Hewlett-Packard SK-2505 Internet Keyboard"
-
-#~ msgid "IBM Rapid Access II (alternate option)"
-#~ msgstr "IBM Rapid Access II (pilihan alternatif)"
-
-#~ msgid "LCtrl+LShift change layout."
-#~ msgstr "LCtrl+LShift mengubah layout."
-
-#~ msgid "Layout switching"
-#~ msgstr "Layout switching"
-
-#~ msgid "Left Alt key changes layout."
-#~ msgstr "Alt Kiri mengubah layout."
-
-#~ msgid "Left Ctrl key changes layout."
-#~ msgstr "Ctrl Kiri mengubah layout."
-
-#~ msgid "Left Shift key changes layout."
-#~ msgstr "Shift Kiri mengubah layout."
-
-#~ msgid "Left Win-key changes layout."
-#~ msgstr "Tombol Win Kiri mengubah layout."
-
-#~ msgid "Left Win-key is Compose."
-#~ msgstr "Tombol Win Kiri adaalah Compose."
-
-#~ msgid "Legacy keypad"
-#~ msgstr "Legacy keypad"
-
-#~ msgid "Menu is Compose."
-#~ msgstr "Menu adalah Compose"
-
-#~ msgid "Neostyle"
-#~ msgstr "Neostyle"
-
-#~ msgid "NumLock LED shows alternative layout."
-#~ msgstr "NumLock LED menunjukkan layout alternatif."
-
-#~ msgid "Press Left Alt key to choose 3rd level."
-#~ msgstr "Tekan Alt Kiri untuk memilih tingkat 3."
-
-#~ msgid "Press Left Win-key to choose 3rd level."
-#~ msgstr "Tekan tombol Win Kiri untuk memilih tingkat 3."
-
-#~ msgid "Press Right Alt key to choose 3rd level."
-#~ msgstr "Tekan Alt Kanan untuk memilih tingkat 3."
-
-#~ msgid "Press Right Ctrl to choose 3rd level."
-#~ msgstr "Tekan Ctrl Kanan untuk memilih tingkat 3."
-
-#~ msgid "Press Right Win-key to choose 3rd level."
-#~ msgstr "Tekan tombol Win Kanan untuk memilih tingkat 3."
-
-#~ msgid "Press any of Alt keys to choose 3rd level."
-#~ msgstr "Tekan tombol Alt manasaja untuk memilih tingkat 3."
-
-#~ msgid "Press any of Win-keys to choose 3rd level."
-#~ msgstr "Tekan tombol Win manasaja untuk memilih tingkat 3."
-
-#~ msgid "Right Alt is Compose."
-#~ msgstr "Alt Kanan adalah Compose"
-
-#~ msgid "Right Alt key changes layout."
-#~ msgstr "Alt Kanan mengubah layout."
-
-#~ msgid "Right Ctrl key changes layout."
-#~ msgstr "Ctrl Kanan mengubah layout."
-
-#~ msgid "Right Shift key changes layout."
-#~ msgstr "Shift Kanan mengubah layout."
-
-#~ msgid "Right Win-key changes layout."
-#~ msgstr "Tombol Win Kanan mengubah layout."
-
-#~ msgid "Right Win-key is Compose."
-#~ msgstr "Tombol Win Kanan adalah Compose."
-
-#~ msgid "ScrollLock LED shows alternative layout."
-#~ msgstr "ScrollLock LED menunjukkan layout alternatif."
-
-#~ msgid "Shift+CapsLock changes layout."
-#~ msgstr "Shift+CapsLock mengubah layout."
-
-#~ msgid "Swap keycodes of two keys when Mac keyboards are misdetected by kernel."
-#~ msgstr "Tukar keycode dari 2 tombol ketika keyboard Mac salah terdeteksi oleh kernel."
-
-#~ msgid "Third level choosers"
-#~ msgstr "Pilihan tingkat 3"
-
-#~ msgid "Urdu"
-#~ msgstr "Urdu"
+# Terjemahan pesan Bahasa Indonesia untuk xkeyboard-config.
+# Copyright (C) 2008 THE xkeyboard-config'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the xkeyboard-config package.
+# Erwid M Jadied <jadied@gmail.com>, 2008.
+# Andhika Padmawan <andhika.padmawan@gmail.com>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: xkeyboard-config-1.9\n"
+"Report-Msgid-Bugs-To: svu@users.sourceforge.net\n"
+"POT-Creation-Date: 2010-05-11 21:34+0100\n"
+"PO-Revision-Date: 2010-06-29 23:17+0700\n"
+"Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
+"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Indonesian\n"
+"X-Poedit-Country: INDONESIA\n"
+
+#: ../rules/base.xml.in.h:1
+msgid "&lt;Less/Greater&gt;"
+msgstr "&lt;Lebih Kecil/Lebih Besar&gt;"
+
+#: ../rules/base.xml.in.h:2
+msgid "&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr "&lt;Lebih Kecil/Lebih Besar&gt; pilih level kelima, terkunci jika ditekan bersamaan dengan pemilih-level-kelima lainnya"
+
+#: ../rules/base.xml.in.h:3
+msgid "&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr "&lt;Lebih Kecil/Lebih Besar&gt; pilih level kelima, terkunci jika ditekan dengan pemilih-level-kelima lainnya, satu penekanan melepas kunci"
+
+#: ../rules/base.xml.in.h:4
+msgid "(F)"
+msgstr "(F)"
+
+#: ../rules/base.xml.in.h:5
+msgid "(Legacy) Alternative"
+msgstr "(Legacy) Alternative"
+
+#: ../rules/base.xml.in.h:6
+msgid "(Legacy) Alternative, Sun dead keys"
+msgstr "(Legacy) Alternative, Tombol mati Matahari"
+
+#: ../rules/base.xml.in.h:7
+msgid "(Legacy) Alternative, eliminate dead keys"
+msgstr "(Legacy) Alternative, hapus tombol mati"
+
+#: ../rules/base.xml.in.h:8
+msgid "101/104 key Compatible"
+msgstr "101/104 tombol Kompatibel"
+
+#: ../rules/base.xml.in.h:9
+msgid "101/qwerty/comma/Dead keys"
+msgstr "101/qwerty/koma/Tombol mati"
+
+#: ../rules/base.xml.in.h:10
+msgid "101/qwerty/comma/Eliminate dead keys"
+msgstr "101/qwerty/koma/ Hapuskan tombol mati"
+
+#: ../rules/base.xml.in.h:11
+msgid "101/qwerty/dot/Dead keys"
+msgstr "101/qwerty/titik/Tombol mati"
+
+#: ../rules/base.xml.in.h:12
+msgid "101/qwerty/dot/Eliminate dead keys"
+msgstr "101/qwerty/titik/Hapus tombol mati"
+
+#: ../rules/base.xml.in.h:13
+msgid "101/qwertz/comma/Dead keys"
+msgstr "101/qwertz/koma/Tombol mati"
+
+#: ../rules/base.xml.in.h:14
+msgid "101/qwertz/comma/Eliminate dead keys"
+msgstr "101/qwertz/koma/Hapus tombol mati"
+
+#: ../rules/base.xml.in.h:15
+msgid "101/qwertz/dot/Dead keys"
+msgstr "101/awertz/titik/Tombol mati"
+
+#: ../rules/base.xml.in.h:16
+msgid "101/qwertz/dot/Eliminate dead keys"
+msgstr "101/qwertz/titik/hapus tombol mati"
+
+#: ../rules/base.xml.in.h:17
+msgid "102/qwerty/comma/Dead keys"
+msgstr "102/qwerty/koma/Tombol mati"
+
+#: ../rules/base.xml.in.h:18
+msgid "102/qwerty/comma/Eliminate dead keys"
+msgstr "102/qwerty/koma/Hapus tombol mati"
+
+#: ../rules/base.xml.in.h:19
+msgid "102/qwerty/dot/Dead keys"
+msgstr "102/qwerty/titik/Tombol mati"
+
+#: ../rules/base.xml.in.h:20
+msgid "102/qwerty/dot/Eliminate dead keys"
+msgstr "102/qwerty/titik/Hapus tombol mati"
+
+#: ../rules/base.xml.in.h:21
+msgid "102/qwertz/comma/Dead keys"
+msgstr "102/qwertz/koma/Tombol mati"
+
+#: ../rules/base.xml.in.h:22
+msgid "102/qwertz/comma/Eliminate dead keys"
+msgstr "102/qwertz/koma/Hapus tombol mati"
+
+#: ../rules/base.xml.in.h:23
+msgid "102/qwertz/dot/Dead keys"
+msgstr "102/qwertz/titik/Tombol mati"
+
+#: ../rules/base.xml.in.h:24
+msgid "102/qwertz/dot/Eliminate dead keys"
+msgstr "102/qwertz/titik/Hapus tombol mati"
+
+#: ../rules/base.xml.in.h:25
+msgid "2"
+msgstr "2"
+
+#: ../rules/base.xml.in.h:26
+msgid "4"
+msgstr "4"
+
+#: ../rules/base.xml.in.h:27
+msgid "5"
+msgstr "5"
+
+#: ../rules/base.xml.in.h:28
+msgid "A4Tech KB-21"
+msgstr "A4Tech KB-21"
+
+#: ../rules/base.xml.in.h:29
+msgid "A4Tech KBS-8"
+msgstr "A4Tech KBS-8"
+
+#: ../rules/base.xml.in.h:30
+msgid "A4Tech Wireless Desktop RFKB-23"
+msgstr "A4Tech Wireless Desktop RFKB-23"
+
+#: ../rules/base.xml.in.h:31
+msgid "ATM/phone-style"
+msgstr "Gaya ATM/telepon"
+
+#: ../rules/base.xml.in.h:32
+msgid "Acer AirKey V"
+msgstr "Acer AirKey V"
+
+#: ../rules/base.xml.in.h:33
+msgid "Acer C300"
+msgstr "Acer C300"
+
+#: ../rules/base.xml.in.h:34
+msgid "Acer Ferrari 4000"
+msgstr "Acer Ferrari 4000"
+
+#: ../rules/base.xml.in.h:35
+msgid "Acer Laptop"
+msgstr "Acer Laptop"
+
+#: ../rules/base.xml.in.h:36
+msgid "Add the standard behavior to Menu key"
+msgstr "Tambah tindakan standar pada tombol Menu"
+
+#: ../rules/base.xml.in.h:37
+msgid "Adding Esperanto circumflexes (supersigno)"
+msgstr "Menambah circumflex Esperanto (supersigno)"
+
+#: ../rules/base.xml.in.h:38
+msgid "Adding EuroSign to certain keys"
+msgstr "Menambahkan tanda Euro ke tombol tertentu"
+
+#: ../rules/base.xml.in.h:39
+msgid "Advance Scorpius KI"
+msgstr "Advance Scorpius KI"
+
+#: ../rules/base.xml.in.h:40
+msgid "Afg"
+msgstr "Afg"
+
+#: ../rules/base.xml.in.h:41
+msgid "Afghanistan"
+msgstr "Afganistan"
+
+#: ../rules/base.xml.in.h:42
+msgid "Akan"
+msgstr "Akan"
+
+#: ../rules/base.xml.in.h:43
+msgid "Alb"
+msgstr "Alb"
+
+#: ../rules/base.xml.in.h:44
+msgid "Albania"
+msgstr "Albania"
+
+#: ../rules/base.xml.in.h:45
+msgid "Alt and Meta are on Alt keys"
+msgstr "Alt dan Meta pada tombol Alt"
+
+#: ../rules/base.xml.in.h:46
+msgid "Alt is mapped to Right Win, Super to Menu"
+msgstr "Alt dipetakan ke Win Kanan, Super ke Menu"
+
+#: ../rules/base.xml.in.h:47
+msgid "Alt+CapsLock"
+msgstr "Alt+CapsLock"
+
+#: ../rules/base.xml.in.h:48
+msgid "Alt+Ctrl"
+msgstr "Alt+Ctrl"
+
+#: ../rules/base.xml.in.h:49
+msgid "Alt+Shift"
+msgstr "Alt+Shift"
+
+#: ../rules/base.xml.in.h:50
+msgid "Alt+Space"
+msgstr "Alt+Space"
+
+#: ../rules/base.xml.in.h:51
+msgid "Alt-Q"
+msgstr "Alt-Q"
+
+#: ../rules/base.xml.in.h:52
+msgid "Alt/Win key behavior"
+msgstr "Tindakan Tombol Alt/Win "
+
+#: ../rules/base.xml.in.h:53
+msgid "Alternative"
+msgstr "Alternative"
+
+#: ../rules/base.xml.in.h:54
+msgid "Alternative Eastern"
+msgstr "Alternative Eastern"
+
+#: ../rules/base.xml.in.h:55
+msgid "Alternative Phonetic"
+msgstr "Alternative Phonetik"
+
+#: ../rules/base.xml.in.h:56
+msgid "Alternative international"
+msgstr "Alternatif internasional"
+
+#: ../rules/base.xml.in.h:57
+msgid "Alternative, Sun dead keys"
+msgstr "Alternative, tombol mati Matahari"
+
+#: ../rules/base.xml.in.h:58
+msgid "Alternative, eliminate dead keys"
+msgstr "Alternative, hapus tombol mati"
+
+#: ../rules/base.xml.in.h:59
+msgid "Alternative, latin-9 only"
+msgstr "Alternative, hanya latin-9"
+
+#: ../rules/base.xml.in.h:60
+msgid "And"
+msgstr "And"
+
+#: ../rules/base.xml.in.h:61
+msgid "Andorra"
+msgstr "Andorra"
+
+#: ../rules/base.xml.in.h:62
+msgid "Any Alt key"
+msgstr "Tombol Alt apapun"
+
+#: ../rules/base.xml.in.h:63
+msgid "Any Win key"
+msgstr "Tombol Win apapun"
+
+#: ../rules/base.xml.in.h:64
+msgid "Any Win key (while pressed)"
+msgstr "Tombol Win apapun (ketika ditekan)"
+
+#: ../rules/base.xml.in.h:65
+msgid "Apostrophe (') variant"
+msgstr "Varian apostrof (')"
+
+#: ../rules/base.xml.in.h:66
+msgid "Apple"
+msgstr "Apple"
+
+#: ../rules/base.xml.in.h:67
+msgid "Apple Aluminium Keyboard (ANSI)"
+msgstr "Papan Ketik Aluminium Apple (ANSI)"
+
+#: ../rules/base.xml.in.h:68
+msgid "Apple Aluminium Keyboard (ISO)"
+msgstr "Papan Ketik Aluminium (ISO)"
+
+#: ../rules/base.xml.in.h:69
+msgid "Apple Aluminium Keyboard (JIS)"
+msgstr "Papan Ketik Aluminium (JIS)"
+
+#: ../rules/base.xml.in.h:70
+msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll_Lock, Pause, NumLock)"
+msgstr "Papan Ketik Aluminium Apple: mengemulasi tombol PC (Print, Scroll_Lock, Pause, NumLock)"
+
+#: ../rules/base.xml.in.h:71
+msgid "Apple Laptop"
+msgstr "Apple Laptop"
+
+#: ../rules/base.xml.in.h:72
+msgid "Ara"
+msgstr "Ara"
+
+#: ../rules/base.xml.in.h:73
+msgid "Arabic"
+msgstr "Arab"
+
+#: ../rules/base.xml.in.h:74
+msgid "Arm"
+msgstr "Arm"
+
+#: ../rules/base.xml.in.h:75
+msgid "Armenia"
+msgstr "Armenia"
+
+#: ../rules/base.xml.in.h:76
+msgid "Asturian variant with bottom-dot H and bottom-dot L"
+msgstr "Varian Asturian dengan titik di bawah pada H dan L "
+
+#: ../rules/base.xml.in.h:77
+msgid "Asus Laptop"
+msgstr "Asus Laptop"
+
+#: ../rules/base.xml.in.h:78
+msgid "At bottom left"
+msgstr "Di kiri bawah"
+
+#: ../rules/base.xml.in.h:79
+msgid "At left of 'A'"
+msgstr "Di sebelah kiri 'A'"
+
+#: ../rules/base.xml.in.h:80
+msgid "Avatime"
+msgstr "Avatime"
+
+#: ../rules/base.xml.in.h:81
+msgid "Aze"
+msgstr "Aze"
+
+#: ../rules/base.xml.in.h:82
+msgid "Azerbaijan"
+msgstr "Ajarbaijan"
+
+#: ../rules/base.xml.in.h:83
+msgid "Azona RF2300 wireless Internet Keyboard"
+msgstr "Papan Ketik Internet nirkabel Azona RF2300"
+
+#: ../rules/base.xml.in.h:84
+msgid "BTC 5090"
+msgstr "BTC 5090"
+
+#: ../rules/base.xml.in.h:85
+msgid "BTC 5113RF Multimedia"
+msgstr "BTC 5113RF Multimedia"
+
+#: ../rules/base.xml.in.h:86
+msgid "BTC 5126T"
+msgstr "BTC 5126T"
+
+#: ../rules/base.xml.in.h:87
+msgid "BTC 6301URF"
+msgstr "BTC 6301URF"
+
+#: ../rules/base.xml.in.h:88
+msgid "BTC 9000"
+msgstr "BTC 9000"
+
+#: ../rules/base.xml.in.h:89
+msgid "BTC 9000A"
+msgstr "BTC 9000A"
+
+#: ../rules/base.xml.in.h:90
+msgid "BTC 9001AH"
+msgstr "BTC 9001AH"
+
+#: ../rules/base.xml.in.h:91
+msgid "BTC 9019U"
+msgstr "BTC 9019U"
+
+#: ../rules/base.xml.in.h:92
+msgid "BTC 9116U Mini Wireless Internet and Gaming"
+msgstr "BTC 91116U Internet dan Permainan Nirkabel Mini"
+
+#: ../rules/base.xml.in.h:93
+msgid "Backslash"
+msgstr "Backslash"
+
+#: ../rules/base.xml.in.h:94
+msgid "Bangladesh"
+msgstr "Banglades"
+
+#: ../rules/base.xml.in.h:95
+msgid "Bashkirian"
+msgstr "Bashkirian"
+
+#: ../rules/base.xml.in.h:96
+msgid "Bel"
+msgstr "Bel"
+
+#: ../rules/base.xml.in.h:97
+msgid "Belarus"
+msgstr "Belarus"
+
+#: ../rules/base.xml.in.h:98
+msgid "Belgium"
+msgstr "Belgia"
+
+#: ../rules/base.xml.in.h:99
+msgid "BenQ X-Touch"
+msgstr "BenQ X-Touch"
+
+#: ../rules/base.xml.in.h:100
+msgid "BenQ X-Touch 730"
+msgstr "BenQ X-Touch 730"
+
+#: ../rules/base.xml.in.h:101
+msgid "BenQ X-Touch 800"
+msgstr "BenQ X-Touch 800"
+
+#: ../rules/base.xml.in.h:102
+msgid "Bengali"
+msgstr "Bengali"
+
+#: ../rules/base.xml.in.h:103
+msgid "Bengali Probhat"
+msgstr "Bengali Probhat"
+
+#: ../rules/base.xml.in.h:104
+msgid "Bepo, ergonomic, Dvorak way"
+msgstr "Bepo, ergonomic, Dvorak way"
+
+#: ../rules/base.xml.in.h:105
+msgid "Bepo, ergonomic, Dvorak way, latin-9 only"
+msgstr "Bepo, ergonomic, Dvorak way, latin-9 only"
+
+#: ../rules/base.xml.in.h:106
+msgid "Bgd"
+msgstr "Bgd"
+
+#: ../rules/base.xml.in.h:107
+msgid "Bgr"
+msgstr "Bgr"
+
+#: ../rules/base.xml.in.h:108
+msgid "Bhutan"
+msgstr "Bhutan"
+
+#: ../rules/base.xml.in.h:109
+msgid "Biblical Hebrew (Tiro)"
+msgstr "Biblical Hebrew (Tiro)"
+
+#: ../rules/base.xml.in.h:110
+msgid "Bih"
+msgstr "Bih"
+
+#: ../rules/base.xml.in.h:111
+msgid "Blr"
+msgstr "Blr"
+
+#: ../rules/base.xml.in.h:112
+msgid "Bosnia and Herzegovina"
+msgstr "Bosnia dan Herzegovina"
+
+#: ../rules/base.xml.in.h:113
+msgid "Both Alt keys together"
+msgstr "Kedua tombol Alt bersama"
+
+#: ../rules/base.xml.in.h:114
+msgid "Both Ctrl keys together"
+msgstr "Kedua tombol Ctrl bersama"
+
+#: ../rules/base.xml.in.h:115
+msgid "Both Shift keys together"
+msgstr "Kedua tombol Shift bersama"
+
+#: ../rules/base.xml.in.h:116
+msgid "Both Shift-Keys together toggle CapsLock"
+msgstr "Kedua tombol Shift bersama ubah CapsLock"
+
+#: ../rules/base.xml.in.h:117
+msgid "Botswana"
+msgstr "Botswana"
+
+#: ../rules/base.xml.in.h:118
+msgid "Bra"
+msgstr "Bra"
+
+#: ../rules/base.xml.in.h:119
+msgid "Braille"
+msgstr "Braille"
+
+#: ../rules/base.xml.in.h:120
+msgid "Brazil"
+msgstr "Brasil"
+
+#: ../rules/base.xml.in.h:121
+msgid "Breton"
+msgstr "Breton"
+
+#: ../rules/base.xml.in.h:122
+msgid "Brl"
+msgstr "Brl"
+
+#: ../rules/base.xml.in.h:123
+msgid "Brother Internet Keyboard"
+msgstr "Papan Ketik Internet Brother"
+
+#: ../rules/base.xml.in.h:124
+msgid "Btn"
+msgstr "Btn"
+
+#: ../rules/base.xml.in.h:125
+msgid "Buckwalter"
+msgstr "Buckwalter"
+
+#: ../rules/base.xml.in.h:126
+msgid "Bulgaria"
+msgstr "Bulgaria"
+
+#: ../rules/base.xml.in.h:127
+msgid "Bwa"
+msgstr "Bwa"
+
+#: ../rules/base.xml.in.h:128
+msgid "COD"
+msgstr "COD"
+
+#: ../rules/base.xml.in.h:129
+msgid "CRULP"
+msgstr "CRULP"
+
+#: ../rules/base.xml.in.h:130
+msgid "Cambodia"
+msgstr "Kamboja"
+
+#: ../rules/base.xml.in.h:131
+msgid "Can"
+msgstr "Can"
+
+#: ../rules/base.xml.in.h:132
+msgid "Canada"
+msgstr "Kanada"
+
+#: ../rules/base.xml.in.h:133
+msgid "CapsLock"
+msgstr "CapsLock"
+
+#: ../rules/base.xml.in.h:134
+msgid "CapsLock (to first layout), Shift+CapsLock (to last layout)"
+msgstr "CapsLock (ke tata letak pertama), Shift+CapsLock (ke tata letak terakhir)"
+
+#: ../rules/base.xml.in.h:135
+msgid "CapsLock (while pressed), Alt+CapsLock does the original capslock action"
+msgstr "CapsLock (ketika ditekan), Alt+CapsLock melakukan aksi capslock asli"
+
+#: ../rules/base.xml.in.h:136
+msgid "CapsLock acts as Shift with locking. Shift \"pauses\" CapsLock"
+msgstr "CapsLock bertindak sebagai Shift dengan mengunci. Shift \"jeda\" CapsLock."
+
+#: ../rules/base.xml.in.h:137
+msgid "CapsLock acts as Shift with locking. Shift doesn't affect CapsLock"
+msgstr "CapsLock bertindak sebagai Shift yang terkunci. Shift tidak mempengaruhi CapsLock"
+
+#: ../rules/base.xml.in.h:138
+msgid "CapsLock is disabled"
+msgstr "CapsLock dinonaktifkan"
+
+#: ../rules/base.xml.in.h:139
+msgid "CapsLock key behavior"
+msgstr "Tindakan tombol CapsLock"
+
+#: ../rules/base.xml.in.h:140
+msgid "CapsLock toggles Shift so all keys are affected"
+msgstr "CapsLock toggle Shift sehingga semua tombol terpengaruh"
+
+#: ../rules/base.xml.in.h:141
+msgid "CapsLock toggles normal capitalization of alphabetic characters"
+msgstr "CapsLock toggle huruf besar normal atau karakter secara alfabet"
+
+#: ../rules/base.xml.in.h:142
+msgid "CapsLock uses internal capitalization. Shift \"pauses\" CapsLock"
+msgstr "CapsLock menggunakan huruf besar internal. Shift \"pauses\" CapsLock"
+
+#: ../rules/base.xml.in.h:143
+msgid "CapsLock uses internal capitalization. Shift doesn't affect CapsLock"
+msgstr "CapsLock menggunakan huruf besar internal. Shift tidak mempengaruhi CapsLock"
+
+#: ../rules/base.xml.in.h:144
+msgid "Catalan variant with middle-dot L"
+msgstr "Varian Katalan dengan titik-tengah pada L"
+
+#: ../rules/base.xml.in.h:145
+msgid "Cedilla"
+msgstr "Cedilla"
+
+#: ../rules/base.xml.in.h:146
+msgid "Che"
+msgstr "Che"
+
+#: ../rules/base.xml.in.h:147
+msgid "Cherokee"
+msgstr "Cherokee"
+
+#: ../rules/base.xml.in.h:148
+msgid "Cherry B.UNLIMITED"
+msgstr "Cherry B.UNLIMITED"
+
+#: ../rules/base.xml.in.h:149
+msgid "Cherry Blue Line CyBo@rd"
+msgstr "Cherry Blue Line CyBo@rd"
+
+#: ../rules/base.xml.in.h:150
+msgid "Cherry Blue Line CyBo@rd (alternate option)"
+msgstr "Cherry Blue Line CyBo@rd (alternate option)"
+
+#: ../rules/base.xml.in.h:151
+msgid "Cherry CyBo@rd USB-Hub"
+msgstr "Cherry CyBo@rd USB-Hub"
+
+#: ../rules/base.xml.in.h:152
+msgid "Cherry CyMotion Expert"
+msgstr "Cherry CyMotion Expert"
+
+#: ../rules/base.xml.in.h:153
+msgid "Cherry CyMotion Master Linux"
+msgstr "Cherry CyMotion Master Linux"
+
+#: ../rules/base.xml.in.h:154
+msgid "Cherry CyMotion Master XPress"
+msgstr "Cherry CyMotion Master XPress"
+
+#: ../rules/base.xml.in.h:155
+msgid "Chicony Internet Keyboard"
+msgstr "Papan Ketik Internet Chicony"
+
+#: ../rules/base.xml.in.h:156
+msgid "Chicony KB-9885"
+msgstr "Chicony KB-9885"
+
+#: ../rules/base.xml.in.h:157
+msgid "Chicony KU-0108"
+msgstr "Chicony KU-0108"
+
+#: ../rules/base.xml.in.h:158
+msgid "Chicony KU-0420"
+msgstr "Chicony KU-0420"
+
+#: ../rules/base.xml.in.h:159
+msgid "China"
+msgstr "China"
+
+#: ../rules/base.xml.in.h:160
+msgid "Chn"
+msgstr "Chn"
+
+#: ../rules/base.xml.in.h:161
+msgid "Chuvash"
+msgstr "Chuvash"
+
+#: ../rules/base.xml.in.h:162
+msgid "Chuvash Latin"
+msgstr "Chuvash Latin"
+
+#: ../rules/base.xml.in.h:163
+msgid "Classic"
+msgstr "Classic"
+
+#: ../rules/base.xml.in.h:164
+msgid "Classic Dvorak"
+msgstr "Classic Dvorak"
+
+#: ../rules/base.xml.in.h:165
+msgid "Classic, eliminate dead keys"
+msgstr "Klasik, hapus tombol mati"
+
+#: ../rules/base.xml.in.h:166
+msgid "Classmate PC"
+msgstr "Classmate PC"
+
+#: ../rules/base.xml.in.h:167
+msgid "CloGaelach"
+msgstr "CloGaelach"
+
+#: ../rules/base.xml.in.h:168
+msgid "Colemak"
+msgstr "Colemak"
+
+#: ../rules/base.xml.in.h:169
+msgid "Compaq Easy Access Keyboard"
+msgstr "Papan Ketik Akses Mudah Compaq"
+
+#: ../rules/base.xml.in.h:170
+msgid "Compaq Internet Keyboard (13 keys)"
+msgstr "Papan Ketik Internet Compaq (13 tombol)"
+
+#: ../rules/base.xml.in.h:171
+msgid "Compaq Internet Keyboard (18 keys)"
+msgstr "Papan Ketik Internet Compaq (18 tombol)"
+
+#: ../rules/base.xml.in.h:172
+msgid "Compaq Internet Keyboard (7 keys)"
+msgstr "Papan Ketik Internet Compaq (7 tombol)"
+
+#: ../rules/base.xml.in.h:173
+msgid "Compaq iPaq Keyboard"
+msgstr "Papan Ketik Compaq iPaq"
+
+#: ../rules/base.xml.in.h:174
+msgid "Compose key position"
+msgstr "Posisi tombol Compose"
+
+#: ../rules/base.xml.in.h:175
+msgid "Congo, Democratic Republic of the"
+msgstr "Kongo, Republik Demokrat"
+
+#: ../rules/base.xml.in.h:176
+msgid "Control + Alt + Backspace"
+msgstr "Control + Alt + Backspace"
+
+#: ../rules/base.xml.in.h:177
+msgid "Control is mapped to Alt keys, Alt is mapped to Win keys"
+msgstr "Kendali dipetakan ke tombol Alt, Alt dipetakan ke tombol Win"
+
+#: ../rules/base.xml.in.h:178
+msgid "Control is mapped to Win keys (and the usual Ctrl keys)"
+msgstr "Kendali dipetakan ke tombol Win ( dan tombol Ctrl biasa)"
+
+#: ../rules/base.xml.in.h:179
+msgid "Creative Desktop Wireless 7000"
+msgstr "Creative Desktop Wireless 7000"
+
+#: ../rules/base.xml.in.h:180
+msgid "Crimean Tatar (Dobruca-1 Q)"
+msgstr "Crimean Tatar (Dobruca-1 Q)"
+
+#: ../rules/base.xml.in.h:181
+msgid "Crimean Tatar (Dobruca-2 Q)"
+msgstr "Crimean Tatar (Dobruca-2 Q)"
+
+#: ../rules/base.xml.in.h:182
+msgid "Crimean Tatar (Turkish Alt-Q)"
+msgstr "Crimean Tatar (Turkish Alt-Q)"
+
+#: ../rules/base.xml.in.h:183
+msgid "Crimean Tatar (Turkish F)"
+msgstr "Crimean Tatar (Turkish F)"
+
+#: ../rules/base.xml.in.h:184
+msgid "Crimean Tatar (Turkish Q)"
+msgstr "Crimean Tatar (Turkish Q)"
+
+#: ../rules/base.xml.in.h:185
+msgid "Croatia"
+msgstr "Kroasia"
+
+#: ../rules/base.xml.in.h:186
+msgid "Ctrl key position"
+msgstr "Posisi tombol Ctrl"
+
+#: ../rules/base.xml.in.h:187
+msgid "Ctrl+Shift"
+msgstr "Ctrl+Shift"
+
+#: ../rules/base.xml.in.h:188
+msgid "Cyrillic"
+msgstr "Cyrillic"
+
+#: ../rules/base.xml.in.h:189
+msgid "Cyrillic with guillemets"
+msgstr "Cyrillic dengan guillemets"
+
+#: ../rules/base.xml.in.h:190
+msgid "Cyrillic, Z and ZHE swapped"
+msgstr "Cyrillic, Z dan ZHE di-swap"
+
+#: ../rules/base.xml.in.h:191
+msgid "Cze"
+msgstr "Cze"
+
+#: ../rules/base.xml.in.h:192
+msgid "Czechia"
+msgstr "Czechia"
+
+#: ../rules/base.xml.in.h:193
+msgid "DOS"
+msgstr "DOS"
+
+#: ../rules/base.xml.in.h:194
+msgid "DTK2000"
+msgstr "DTK2000"
+
+#: ../rules/base.xml.in.h:195
+msgid "Dead acute"
+msgstr "Dead acute"
+
+#: ../rules/base.xml.in.h:196
+msgid "Dead grave acute"
+msgstr "Dead grave acute"
+
+#: ../rules/base.xml.in.h:197
+msgid "Default numeric keypad keys"
+msgstr "Tombol angka keypad standar"
+
+#: ../rules/base.xml.in.h:198
+msgid "Dell"
+msgstr "Dell"
+
+#: ../rules/base.xml.in.h:199
+msgid "Dell 101-key PC"
+msgstr "Dell 101-key PC"
+
+#: ../rules/base.xml.in.h:200
+msgid "Dell Laptop/notebook Inspiron 6xxx/8xxx"
+msgstr "Dell Laptop/notebook Inspiron 6xxx/8xxx"
+
+#: ../rules/base.xml.in.h:201
+msgid "Dell Laptop/notebook Precision M series"
+msgstr "Dell Laptop/notebook Precision M series"
+
+#: ../rules/base.xml.in.h:202
+msgid "Dell Latitude series laptop"
+msgstr "Dell Latitude series laptop"
+
+#: ../rules/base.xml.in.h:203
+msgid "Dell Precision M65"
+msgstr "Dell Precision M65"
+
+#: ../rules/base.xml.in.h:204
+msgid "Dell SK-8125"
+msgstr "Dell SK-8125"
+
+#: ../rules/base.xml.in.h:205
+msgid "Dell SK-8135"
+msgstr "Dell SK-8135"
+
+#: ../rules/base.xml.in.h:206
+msgid "Dell USB Multimedia Keyboard"
+msgstr "Papan Ketik Multimedia USB Dell"
+
+#: ../rules/base.xml.in.h:207
+msgid "Denmark"
+msgstr "Denmark"
+
+#: ../rules/base.xml.in.h:208
+msgid "Deu"
+msgstr "Deu"
+
+#: ../rules/base.xml.in.h:209
+msgid "Dexxa Wireless Desktop Keyboard"
+msgstr "Papan Ketik Desktop Nirkabel Dexxa"
+
+#: ../rules/base.xml.in.h:210
+msgid "Diamond 9801 / 9802 series"
+msgstr "Diamond 9801 / 9802 series"
+
+#: ../rules/base.xml.in.h:211
+msgid "Dnk"
+msgstr "Dnk"
+
+#: ../rules/base.xml.in.h:212
+msgid "Dvorak"
+msgstr "Dvorak"
+
+#: ../rules/base.xml.in.h:213
+msgid "Dvorak (UK Punctuation)"
+msgstr "Dvorak (UK Punctuation)"
+
+#: ../rules/base.xml.in.h:214
+msgid "Dvorak alternative international (no dead keys)"
+msgstr "Dvorak alternatif Internasional (tanpa tombol mati)"
+
+#: ../rules/base.xml.in.h:215
+msgid "Dvorak international (with dead keys)"
+msgstr "Dvorak internasional (dengan tombol mati)"
+
+#: ../rules/base.xml.in.h:216
+msgid "Dvorak, Polish quotes on key 1"
+msgstr "Dvorak, tanda kutip Polandia pada tombol 1"
+
+#: ../rules/base.xml.in.h:217
+msgid "Dvorak, Polish quotes on quotemark key"
+msgstr "Dvorak, tanda kutip Polandia pada tombol quotemark"
+
+#: ../rules/base.xml.in.h:218
+msgid "E"
+msgstr "E"
+
+#: ../rules/base.xml.in.h:219
+msgid "Eastern"
+msgstr "Eastern"
+
+#: ../rules/base.xml.in.h:220
+msgid "Eliminate dead keys"
+msgstr "Hapus tombol mati"
+
+#: ../rules/base.xml.in.h:221
+msgid "Enable extra typographic characters"
+msgstr "Aktifkan karakter tipografi ekstra"
+
+#: ../rules/base.xml.in.h:222
+msgid "English"
+msgstr "Inggris"
+
+#: ../rules/base.xml.in.h:223
+msgid "English (USA International)"
+msgstr "Inggris (Internasional USA)"
+
+#: ../rules/base.xml.in.h:224
+msgid "English (USA Macintosh)"
+msgstr "Inggris (Macintosh USA)"
+
+#: ../rules/base.xml.in.h:225
+msgid "Ennyah DKB-1008"
+msgstr "Ennyah DKB-1008"
+
+#: ../rules/base.xml.in.h:226
+msgid "Enter on keypad"
+msgstr "Enter pada keypad"
+
+#: ../rules/base.xml.in.h:227
+msgid "Epo"
+msgstr "Epo"
+
+#: ../rules/base.xml.in.h:228
+msgid "Ergonomic"
+msgstr "Ergonomic"
+
+#: ../rules/base.xml.in.h:229
+msgid "Esp"
+msgstr "Esp"
+
+#: ../rules/base.xml.in.h:230
+msgid "Esperanto"
+msgstr "Esperanto"
+
+#: ../rules/base.xml.in.h:231
+msgid "Est"
+msgstr "Est"
+
+#: ../rules/base.xml.in.h:232
+msgid "Estonia"
+msgstr "Estonia"
+
+#: ../rules/base.xml.in.h:233
+msgid "Eth"
+msgstr "Eth"
+
+#: ../rules/base.xml.in.h:234
+msgid "Ethiopia"
+msgstr "Ethiopia"
+
+#: ../rules/base.xml.in.h:235
+msgid "Everex STEPnote"
+msgstr "Everex STEPnote"
+
+#: ../rules/base.xml.in.h:236
+msgid "Ewe"
+msgstr "Ewe"
+
+#: ../rules/base.xml.in.h:237
+msgid "Extended"
+msgstr "Extended"
+
+#: ../rules/base.xml.in.h:238
+msgid "Extended - Winkeys"
+msgstr "Extended - Winkeys"
+
+#: ../rules/base.xml.in.h:239
+msgid "Extended Backslash"
+msgstr "Extended Backslash"
+
+#: ../rules/base.xml.in.h:240
+msgid "F-letter (F) variant"
+msgstr "varian huruf-F (F)"
+
+#: ../rules/base.xml.in.h:241
+msgid "FL90"
+msgstr "FL90"
+
+#: ../rules/base.xml.in.h:242
+msgid "Faroe Islands"
+msgstr "kepulauan Farao"
+
+#: ../rules/base.xml.in.h:243
+msgid "Fin"
+msgstr "Fin"
+
+#: ../rules/base.xml.in.h:244
+msgid "Finland"
+msgstr "Finlandia"
+
+#. This assumes the KP_ abstract symbols are actually useful for some apps
+#. The description needs to be rewritten
+#: ../rules/base.xml.in.h:247
+msgid "Four-level key with abstract separators"
+msgstr "Tombol empat-level dengan pemisah abstrak"
+
+#: ../rules/base.xml.in.h:248
+msgid "Four-level key with comma"
+msgstr "Tombol empat-level dengan koma"
+
+#: ../rules/base.xml.in.h:249
+msgid "Four-level key with dot"
+msgstr "Tombol empat-level dengan titik"
+
+#: ../rules/base.xml.in.h:250
+msgid "Four-level key with dot, latin-9 restriction"
+msgstr "Tombol empat-level dengan titik, pembatasan latin-9"
+
+#: ../rules/base.xml.in.h:251
+msgid "Four-level key with momayyez"
+msgstr "Tombol empat level dengan momayyez"
+
+#: ../rules/base.xml.in.h:252
+msgid "Fra"
+msgstr "Fra"
+
+#: ../rules/base.xml.in.h:253
+msgid "France"
+msgstr "Perancis"
+
+#: ../rules/base.xml.in.h:254
+msgid "Français (France Alternative)"
+msgstr "Perancis (Alternatif Perancis)"
+
+#: ../rules/base.xml.in.h:255
+msgid "French"
+msgstr "Perancis"
+
+#: ../rules/base.xml.in.h:256
+msgid "French (Macintosh)"
+msgstr "French (Macintosh)"
+
+#: ../rules/base.xml.in.h:257
+msgid "French (legacy)"
+msgstr "French (legacy)"
+
+#: ../rules/base.xml.in.h:258
+msgid "French Dvorak"
+msgstr "French Dvorak"
+
+#: ../rules/base.xml.in.h:259
+msgid "French, Sun dead keys"
+msgstr "Frence, Tombol mati Matahari"
+
+#: ../rules/base.xml.in.h:260
+msgid "French, eliminate dead keys"
+msgstr "French, hapus tombol mati"
+
+#: ../rules/base.xml.in.h:261
+msgid "Fro"
+msgstr "Fro"
+
+#: ../rules/base.xml.in.h:262
+msgid "Fujitsu-Siemens Computers AMILO laptop"
+msgstr "Fujitsu-Siemens Computers AMILO laptop"
+
+#: ../rules/base.xml.in.h:263
+msgid "Fula"
+msgstr "Fula"
+
+#: ../rules/base.xml.in.h:264
+msgid "GBr"
+msgstr "GBr"
+
+#: ../rules/base.xml.in.h:265
+msgid "GILLBT"
+msgstr "GILLBT"
+
+#: ../rules/base.xml.in.h:266
+msgid "Ga"
+msgstr "Ga"
+
+#: ../rules/base.xml.in.h:267
+msgid "Generic 101-key PC"
+msgstr "Generic 101-key PC"
+
+#: ../rules/base.xml.in.h:268
+msgid "Generic 102-key (Intl) PC"
+msgstr "Generic 102-key (Intl) PC"
+
+#: ../rules/base.xml.in.h:269
+msgid "Generic 104-key PC"
+msgstr "Generic 104-key PC"
+
+#: ../rules/base.xml.in.h:270
+msgid "Generic 105-key (Intl) PC"
+msgstr "Generic 105-key (Intl) PC"
+
+#: ../rules/base.xml.in.h:271
+msgid "Genius Comfy KB-12e"
+msgstr "Genius Comfy KB-12e"
+
+#: ../rules/base.xml.in.h:272
+msgid "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
+msgstr "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
+
+#: ../rules/base.xml.in.h:273
+msgid "Genius Comfy KB-21e-Scroll"
+msgstr "Genius Comfy KB-21e-Scroll"
+
+#: ../rules/base.xml.in.h:274
+msgid "Genius KB-19e NB"
+msgstr "Genius KB-19e NB"
+
+#: ../rules/base.xml.in.h:275
+msgid "Genius KKB-2050HS"
+msgstr "Genius KKB-2050HS"
+
+#: ../rules/base.xml.in.h:276
+msgid "Geo"
+msgstr "Geo"
+
+#: ../rules/base.xml.in.h:277
+msgid "Georgia"
+msgstr "Georgia"
+
+#: ../rules/base.xml.in.h:278
+msgid "Georgian"
+msgstr "Georgia"
+
+#: ../rules/base.xml.in.h:279
+msgid "Georgian AZERTY Tskapo"
+msgstr "Georgian AZERTY Tskapo"
+
+#: ../rules/base.xml.in.h:280
+msgid "German (Macintosh)"
+msgstr "German (Macintosh)"
+
+#: ../rules/base.xml.in.h:281
+msgid "German, Sun dead keys"
+msgstr "German, Tombol mati Matahari"
+
+#: ../rules/base.xml.in.h:282
+msgid "German, eliminate dead keys"
+msgstr "German, hapus tombol mati"
+
+#: ../rules/base.xml.in.h:283
+msgid "Germany"
+msgstr "Jerman"
+
+#: ../rules/base.xml.in.h:284
+msgid "Gha"
+msgstr "Gha"
+
+#: ../rules/base.xml.in.h:285
+msgid "Ghana"
+msgstr "Ghana"
+
+#: ../rules/base.xml.in.h:286
+msgid "Gin"
+msgstr "Gin"
+
+#: ../rules/base.xml.in.h:287
+msgid "Grc"
+msgstr "Grc"
+
+#: ../rules/base.xml.in.h:288
+msgid "Greece"
+msgstr "Yunani"
+
+#: ../rules/base.xml.in.h:289
+msgid "Guinea"
+msgstr "Guinea"
+
+#: ../rules/base.xml.in.h:290
+msgid "Gujarati"
+msgstr "Gujurati"
+
+#: ../rules/base.xml.in.h:291
+msgid "Gurmukhi"
+msgstr "Gurmukhi"
+
+#: ../rules/base.xml.in.h:292
+msgid "Gurmukhi Jhelum"
+msgstr "Gurmukhi Jhelum"
+
+#: ../rules/base.xml.in.h:293
+msgid "Gyration"
+msgstr "Gyration"
+
+#: ../rules/base.xml.in.h:294
+msgid "Happy Hacking Keyboard"
+msgstr "Happy Hacking Keyboard"
+
+#: ../rules/base.xml.in.h:295
+msgid "Happy Hacking Keyboard for Mac"
+msgstr "Happy Hacking Keyboard untuk Mac"
+
+#: ../rules/base.xml.in.h:296
+msgid "Hausa"
+msgstr "Hausa"
+
+#: ../rules/base.xml.in.h:297
+msgid "Hewlett-Packard Internet Keyboard"
+msgstr "Papan Ketik Internet Hewlett-Packard"
+
+#: ../rules/base.xml.in.h:298
+msgid "Hewlett-Packard Mini 110 Notebook"
+msgstr "Hewlett-Packard Mini 110 Notebook"
+
+#: ../rules/base.xml.in.h:299
+msgid "Hewlett-Packard Omnibook 500 FA"
+msgstr "Hewlett-Packard Omnibook 500 FA"
+
+#: ../rules/base.xml.in.h:300
+msgid "Hewlett-Packard Omnibook 5xx"
+msgstr "Hewlett-Packard Omnibook 5xx"
+
+#: ../rules/base.xml.in.h:301
+msgid "Hewlett-Packard Omnibook 6000/6100"
+msgstr "Hewlett-Packard Omnibook 6000/6100"
+
+#: ../rules/base.xml.in.h:302
+msgid "Hewlett-Packard Omnibook XE3 GC"
+msgstr "Hewlett-Packard Omnibook XE3 GC"
+
+#: ../rules/base.xml.in.h:303
+msgid "Hewlett-Packard Omnibook XE3 GF"
+msgstr "Hewlett-Packard Omnibook XE3 GF"
+
+#: ../rules/base.xml.in.h:304
+msgid "Hewlett-Packard Omnibook XT1000"
+msgstr "Hewlett-Packard Omnibook XT1000"
+
+#: ../rules/base.xml.in.h:305
+msgid "Hewlett-Packard Pavilion ZT11xx"
+msgstr "Hewlett-Packard Pavilion ZT11xx"
+
+#: ../rules/base.xml.in.h:306
+msgid "Hewlett-Packard Pavilion dv5"
+msgstr "Hewlett-Packard Pavilion dv5"
+
+#: ../rules/base.xml.in.h:307
+msgid "Hewlett-Packard SK-250x Multimedia Keyboard"
+msgstr "Papan Ketik Multimedia Hewlett-Packard SK-2501"
+
+#: ../rules/base.xml.in.h:308
+msgid "Hewlett-Packard nx9020"
+msgstr "Hewlett-Packard nx9020"
+
+#: ../rules/base.xml.in.h:309
+msgid "Hexadecimal"
+msgstr "Heksadesimal"
+
+#: ../rules/base.xml.in.h:310
+msgid "Hindi Bolnagri"
+msgstr "Hindi Bolnagri"
+
+#: ../rules/base.xml.in.h:311
+msgid "Hindi Wx"
+msgstr "Hindi Wx"
+
+#: ../rules/base.xml.in.h:312
+msgid "Homophonic"
+msgstr "Hindi Bolnagri"
+
+#: ../rules/base.xml.in.h:313
+msgid "Honeywell Euroboard"
+msgstr "Honeywell Euroboard"
+
+#: ../rules/base.xml.in.h:314
+msgid "Hrv"
+msgstr "Hvr"
+
+#: ../rules/base.xml.in.h:315
+msgid "Hun"
+msgstr "Hun"
+
+#: ../rules/base.xml.in.h:316
+msgid "Hungary"
+msgstr "Hungaria"
+
+#: ../rules/base.xml.in.h:317
+msgid "Hyper is mapped to Win-keys"
+msgstr "Hiper dipetakan ke tombol Win"
+
+#: ../rules/base.xml.in.h:318
+msgid "IBM (LST 1205-92)"
+msgstr "IBM (LST 1205-92)"
+
+#: ../rules/base.xml.in.h:319
+msgid "IBM Rapid Access"
+msgstr "IBM Rapid Access"
+
+#: ../rules/base.xml.in.h:320
+msgid "IBM Rapid Access II"
+msgstr "IBM Rapid Access II"
+
+#: ../rules/base.xml.in.h:321
+msgid "IBM Space Saver"
+msgstr "IBM Space Saver"
+
+#: ../rules/base.xml.in.h:322
+msgid "IBM ThinkPad 560Z/600/600E/A22E"
+msgstr "IBM ThinkPad 560Z/600/600E/A22E"
+
+#: ../rules/base.xml.in.h:323
+msgid "IBM ThinkPad R60/T60/R61/T61"
+msgstr "IBM ThinkPad R60/T60/R61/T61"
+
+#: ../rules/base.xml.in.h:324
+msgid "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
+msgstr "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
+
+#: ../rules/base.xml.in.h:325
+msgid "ISO Alternate"
+msgstr "ISO Alternate"
+
+#: ../rules/base.xml.in.h:326
+msgid "Iceland"
+msgstr "Islandia"
+
+#: ../rules/base.xml.in.h:327
+msgid "Igbo"
+msgstr "Igbo"
+
+#: ../rules/base.xml.in.h:328
+msgid "Include dead tilde"
+msgstr "Termasuk tilde mati"
+
+#: ../rules/base.xml.in.h:329
+msgid "Ind"
+msgstr "Ind"
+
+#: ../rules/base.xml.in.h:330
+msgid "India"
+msgstr "India"
+
+#: ../rules/base.xml.in.h:331
+msgid "International (AltGr dead keys)"
+msgstr "Internasional (AltGr tombol mati)"
+
+#: ../rules/base.xml.in.h:332
+msgid "International (with dead keys)"
+msgstr "Internasional (dengan tombol mati)"
+
+#: ../rules/base.xml.in.h:333
+msgid "Inuktitut"
+msgstr "Inuktitut"
+
+#: ../rules/base.xml.in.h:334
+msgid "Iran"
+msgstr "Iran"
+
+#: ../rules/base.xml.in.h:335
+msgid "Iraq"
+msgstr "Irak"
+
+#: ../rules/base.xml.in.h:336
+msgid "Ireland"
+msgstr "Irlandia"
+
+#: ../rules/base.xml.in.h:337
+msgid "Irl"
+msgstr "Irl"
+
+#: ../rules/base.xml.in.h:338
+msgid "Irn"
+msgstr "Irn"
+
+#: ../rules/base.xml.in.h:339
+msgid "Irq"
+msgstr "Irq"
+
+#: ../rules/base.xml.in.h:340
+msgid "Isl"
+msgstr "Isl"
+
+#: ../rules/base.xml.in.h:341
+msgid "Isr"
+msgstr "Isr"
+
+#: ../rules/base.xml.in.h:342
+msgid "Israel"
+msgstr "Israel"
+
+#: ../rules/base.xml.in.h:343
+msgid "Ita"
+msgstr "Ita"
+
+#: ../rules/base.xml.in.h:344
+msgid "Italy"
+msgstr "Italia"
+
+#: ../rules/base.xml.in.h:345
+msgid "Japan"
+msgstr "Jepang"
+
+#: ../rules/base.xml.in.h:346
+msgid "Japan (PC-98xx Series)"
+msgstr "Japan (PC-98xx Series)"
+
+#: ../rules/base.xml.in.h:347
+msgid "Japanese keyboard options"
+msgstr "Pilihan papan ketik Jepang"
+
+#: ../rules/base.xml.in.h:348
+msgid "Jpn"
+msgstr "Jpn"
+
+#: ../rules/base.xml.in.h:349
+msgid "Kalmyk"
+msgstr "Kalmyk"
+
+#: ../rules/base.xml.in.h:350
+msgid "Kana"
+msgstr "Kana"
+
+#: ../rules/base.xml.in.h:351
+msgid "Kana Lock key is locking"
+msgstr "Tombol Kana Lock terkunci"
+
+#: ../rules/base.xml.in.h:352
+msgid "Kannada"
+msgstr "Kannada"
+
+#: ../rules/base.xml.in.h:353
+msgid "Kashubian"
+msgstr "Kashubian"
+
+#: ../rules/base.xml.in.h:354
+msgid "Kaz"
+msgstr "Kaz"
+
+#: ../rules/base.xml.in.h:355
+msgid "Kazakh with Russian"
+msgstr "Kazakh dengan Rusia"
+
+#: ../rules/base.xml.in.h:356
+msgid "Kazakhstan"
+msgstr "Kazakhstan"
+
+#: ../rules/base.xml.in.h:357
+msgid "Ken"
+msgstr "Ken"
+
+#: ../rules/base.xml.in.h:358
+msgid "Kenya"
+msgstr "Kenya"
+
+#: ../rules/base.xml.in.h:359
+msgid "Key sequence to kill the X server"
+msgstr "Sekuensi kunci untuk mematikan server X"
+
+#: ../rules/base.xml.in.h:360
+msgid "Key to choose 3rd level"
+msgstr "Tekan Menu Kiri untuk memilih level 3"
+
+#: ../rules/base.xml.in.h:361
+msgid "Key to choose 5th level"
+msgstr "Tombol untuk memilih level kelima"
+
+#: ../rules/base.xml.in.h:362
+msgid "Key(s) to change layout"
+msgstr "Tombol untuk mengubah tata letak"
+
+#: ../rules/base.xml.in.h:363
+msgid "Keytronic FlexPro"
+msgstr "Keytronic FlexPro"
+
+#: ../rules/base.xml.in.h:364
+msgid "Kgz"
+msgstr "Kgz"
+
+#: ../rules/base.xml.in.h:365
+msgid "Khm"
+msgstr "Khm"
+
+#: ../rules/base.xml.in.h:366
+msgid "Kikuyu"
+msgstr "Kikuyu"
+
+#: ../rules/base.xml.in.h:367
+msgid "Komi"
+msgstr "Komi"
+
+#: ../rules/base.xml.in.h:368
+msgid "Kor"
+msgstr "Kor"
+
+#: ../rules/base.xml.in.h:369
+msgid "Korea, Republic of"
+msgstr "Republik Korea"
+
+#: ../rules/base.xml.in.h:370
+msgid "Ktunaxa"
+msgstr "Ktunaxa"
+
+#: ../rules/base.xml.in.h:371
+msgid "Kurdish, (F)"
+msgstr "Kurdish, (F)"
+
+#: ../rules/base.xml.in.h:372
+msgid "Kurdish, Arabic-Latin"
+msgstr "Kurdish, Arabic-Latin"
+
+#: ../rules/base.xml.in.h:373
+msgid "Kurdish, Latin Alt-Q"
+msgstr "Kurdish, Latin Alt-Q"
+
+#: ../rules/base.xml.in.h:374
+msgid "Kurdish, Latin Q"
+msgstr "Kurdish, Latin Q"
+
+#: ../rules/base.xml.in.h:375
+msgid "Kyrgyzstan"
+msgstr "Kyrgyzstan"
+
+#: ../rules/base.xml.in.h:376
+msgid "LAm"
+msgstr "LAm"
+
+#: ../rules/base.xml.in.h:377
+msgid "LEKP"
+msgstr "LEKP"
+
+#: ../rules/base.xml.in.h:378
+msgid "LEKPa"
+msgstr "LEKPa"
+
+#: ../rules/base.xml.in.h:379
+msgid "Lao"
+msgstr "Lao"
+
+#: ../rules/base.xml.in.h:380
+msgid "Laos"
+msgstr "Laos"
+
+#: ../rules/base.xml.in.h:381
+msgid "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard"
+msgstr "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard"
+
+#: ../rules/base.xml.in.h:382
+msgid "Laptop/notebook Compaq (eg. Presario) Internet Keyboard"
+msgstr "Laptop/notebook Compaq (eg. Presario) Internet Keyboard"
+
+#: ../rules/base.xml.in.h:383
+msgid "Laptop/notebook eMachines m68xx"
+msgstr "Laptop/notebook eMachines m68xx"
+
+#: ../rules/base.xml.in.h:384
+msgid "Latin"
+msgstr "Latin"
+
+#: ../rules/base.xml.in.h:385
+msgid "Latin American"
+msgstr "Latin Amerika"
+
+#: ../rules/base.xml.in.h:386
+msgid "Latin Unicode"
+msgstr "Latin Unicode"
+
+#: ../rules/base.xml.in.h:387
+msgid "Latin Unicode qwerty"
+msgstr "Latin Unicode qwerty"
+
+#: ../rules/base.xml.in.h:388
+msgid "Latin qwerty"
+msgstr "Latin qwerty"
+
+#: ../rules/base.xml.in.h:389
+msgid "Latin unicode"
+msgstr "Latin unicode"
+
+#: ../rules/base.xml.in.h:390
+msgid "Latin unicode qwerty"
+msgstr "Latin unicode qwerty"
+
+#: ../rules/base.xml.in.h:391
+msgid "Latin with guillemets"
+msgstr "Latin dengan guillemets"
+
+#: ../rules/base.xml.in.h:392
+msgid "Latvia"
+msgstr "Latvia"
+
+#: ../rules/base.xml.in.h:393
+msgid "Layout toggle on multiply/divide key"
+msgstr "Ubah tata letak pada tombol perkalian/pembagian"
+
+#: ../rules/base.xml.in.h:394
+msgid "Left Alt"
+msgstr "Alt Kiri"
+
+#: ../rules/base.xml.in.h:395
+msgid "Left Alt (while pressed)"
+msgstr "Alt Kiri (ketika ditekan)"
+
+#: ../rules/base.xml.in.h:396
+msgid "Left Alt is swapped with Left Win"
+msgstr "Alt Kiri ditukar dengan Win Kiri"
+
+#: ../rules/base.xml.in.h:397
+msgid "Left Ctrl"
+msgstr "Ctrl Kiri"
+
+#: ../rules/base.xml.in.h:398
+msgid "Left Ctrl (to first layout), Right Ctrl (to last layout)"
+msgstr "Ctrl Kiri (ke tata letak pertama), Ctrl Kanan (ke tata letak terakhir)"
+
+#: ../rules/base.xml.in.h:399
+msgid "Left Ctrl+Left Shift"
+msgstr "Ctrl Kiri+Shift Kiri"
+
+#: ../rules/base.xml.in.h:400
+msgid "Left Shift"
+msgstr "Shift Kiri"
+
+#: ../rules/base.xml.in.h:401
+msgid "Left Win"
+msgstr "Win Kiri"
+
+#: ../rules/base.xml.in.h:402
+msgid "Left Win (to first layout), Right Win/Menu (to last layout)"
+msgstr "Win Kiri (ke tata letak pertama), Win/Menu Kanan (ke tata letak terakhir)"
+
+#: ../rules/base.xml.in.h:403
+msgid "Left Win (while pressed)"
+msgstr "Win Kiri (ketika ditekan)"
+
+#: ../rules/base.xml.in.h:404
+msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr "Win kiri memilih level kelima, terkunci jika ditekan bersamaan dengan pemilih-level-kelima lainnya"
+
+#: ../rules/base.xml.in.h:405
+msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr "Win kiri memilih level kelima, terkunci jika ditekan bersamaan dengan pemilih-level-kelima, satu penekanan melepas kunci"
+
+#: ../rules/base.xml.in.h:406
+msgid "Left hand"
+msgstr "Kidal"
+
+#: ../rules/base.xml.in.h:407
+msgid "Left handed Dvorak"
+msgstr "Left handed Dvorak"
+
+#: ../rules/base.xml.in.h:408
+msgid "Legacy"
+msgstr "Legacy"
+
+#: ../rules/base.xml.in.h:409
+msgid "Legacy Wang 724"
+msgstr "Legacy Wang 724"
+
+#. Actually, with KP_SEPARATOR, as the old keypad(comma)
+#: ../rules/base.xml.in.h:411
+msgid "Legacy key with comma"
+msgstr "Tombol Legacy dengan koma"
+
+#: ../rules/base.xml.in.h:412
+msgid "Legacy key with dot"
+msgstr "Tombol Legacy dengan titik"
+
+#: ../rules/base.xml.in.h:413
+msgid "Lithuania"
+msgstr "Lithuania"
+
+#: ../rules/base.xml.in.h:414
+msgid "Lka"
+msgstr "Lka"
+
+#: ../rules/base.xml.in.h:415
+msgid "Logitech Access Keyboard"
+msgstr "Logitech Access Keyboard"
+
+#: ../rules/base.xml.in.h:416
+msgid "Logitech Cordless Desktop"
+msgstr "Logitech Cordless Desktop"
+
+#: ../rules/base.xml.in.h:417
+msgid "Logitech Cordless Desktop (alternate option)"
+msgstr "Logitech Cordless Desktop (pilihan alternatif)"
+
+#: ../rules/base.xml.in.h:418
+msgid "Logitech Cordless Desktop EX110"
+msgstr "Logitech Cordless Desktop EX110"
+
+#: ../rules/base.xml.in.h:419
+msgid "Logitech Cordless Desktop LX-300"
+msgstr "Logitech Cordless Desktop LX-300"
+
+#: ../rules/base.xml.in.h:420
+msgid "Logitech Cordless Desktop Navigator"
+msgstr "Logitech Cordless Desktop Navigator"
+
+#: ../rules/base.xml.in.h:421
+msgid "Logitech Cordless Desktop Optical"
+msgstr "Logitech Cordless Desktop Optical"
+
+#: ../rules/base.xml.in.h:422
+msgid "Logitech Cordless Desktop Pro (alternate option 2)"
+msgstr "Logitech Cordless Desktop Pro (opsi alternatif 2)"
+
+#: ../rules/base.xml.in.h:423
+msgid "Logitech Cordless Desktop iTouch"
+msgstr "Logitech Cordless Desktop iTouch"
+
+#: ../rules/base.xml.in.h:424
+msgid "Logitech Cordless Freedom/Desktop Navigator"
+msgstr "Logitech Cordless Freedom/Desktop Navigator"
+
+#: ../rules/base.xml.in.h:425
+msgid "Logitech G15 extra keys via G15daemon"
+msgstr "Logitech G15 extra keys via G15daemon"
+
+#: ../rules/base.xml.in.h:426
+msgid "Logitech Generic Keyboard"
+msgstr "Papan Ketik Generik Logitech"
+
+#: ../rules/base.xml.in.h:427
+msgid "Logitech Internet 350 Keyboard"
+msgstr "Papan Ketik Logitech Internet 350"
+
+#: ../rules/base.xml.in.h:428
+msgid "Logitech Internet Keyboard"
+msgstr "Papan Ketik Internet Logitech"
+
+#: ../rules/base.xml.in.h:429
+msgid "Logitech Internet Navigator Keyboard"
+msgstr "Papan Ketik Navigator Internet Logitech"
+
+#: ../rules/base.xml.in.h:430
+msgid "Logitech Media Elite Keyboard"
+msgstr "Papan Ketik Logitech Media Elite"
+
+#: ../rules/base.xml.in.h:431
+msgid "Logitech Ultra-X Cordless Media Desktop Keyboard"
+msgstr "Papan Ketik Logitech Ultra-X Cordless Media Desktop"
+
+#: ../rules/base.xml.in.h:432
+msgid "Logitech Ultra-X Keyboard"
+msgstr "Papan Ketik Logitech Ultra-X"
+
+#: ../rules/base.xml.in.h:433
+msgid "Logitech diNovo Edge Keyboard"
+msgstr "Papan Ketik Logitech diNovo Edge"
+
+#: ../rules/base.xml.in.h:434
+msgid "Logitech diNovo Keyboard"
+msgstr "Papan Ketik Logitech diNovo"
+
+#: ../rules/base.xml.in.h:435
+msgid "Logitech iTouch"
+msgstr "Logitech iTouch"
+
+#: ../rules/base.xml.in.h:436
+msgid "Logitech iTouch Cordless Keyboard (model Y-RB6)"
+msgstr "Logitech iTouch Cordless Keyboard (model Y-RB6)"
+
+#: ../rules/base.xml.in.h:437
+msgid "Logitech iTouch Internet Navigator Keyboard SE"
+msgstr "Logitech iTouch Internet Navigator Keyboard SE"
+
+#: ../rules/base.xml.in.h:438
+msgid "Logitech iTouch Internet Navigator Keyboard SE (USB)"
+msgstr "Logitech iTouch Internet Navigator Keyboard SE (USB)"
+
+#: ../rules/base.xml.in.h:439
+msgid "Lower Sorbian"
+msgstr "Lower Sorbian"
+
+#: ../rules/base.xml.in.h:440
+msgid "Lower Sorbian (qwertz)"
+msgstr "Lower Sorbian (qwertz)"
+
+#: ../rules/base.xml.in.h:441
+msgid "Ltu"
+msgstr "Ltu"
+
+#: ../rules/base.xml.in.h:442
+msgid "Lva"
+msgstr "Lva"
+
+#: ../rules/base.xml.in.h:443
+msgid "MESS"
+msgstr "MESS"
+
+#: ../rules/base.xml.in.h:444
+msgid "MNE"
+msgstr "MNE"
+
+#: ../rules/base.xml.in.h:445
+msgid "MacBook/MacBook Pro"
+msgstr "MacBook/MacBook Pro"
+
+#: ../rules/base.xml.in.h:446
+msgid "MacBook/MacBook Pro (Intl)"
+msgstr "MacBook/MacBook Pro (Intl)"
+
+#: ../rules/base.xml.in.h:447
+msgid "Macedonia"
+msgstr "Masedonia"
+
+#: ../rules/base.xml.in.h:448
+msgid "Macintosh"
+msgstr "Macintosh"
+
+#: ../rules/base.xml.in.h:449
+msgid "Macintosh Old"
+msgstr "Macintosh Old"
+
+#: ../rules/base.xml.in.h:450
+msgid "Macintosh, Sun dead keys"
+msgstr "Machintosh, tombol mati Matahari"
+
+#: ../rules/base.xml.in.h:451
+msgid "Macintosh, eliminate dead keys"
+msgstr "Machintosh, hapus tombol mati"
+
+#: ../rules/base.xml.in.h:452
+msgid "Make CapsLock an additional Backspace"
+msgstr "Buat CapsLock sebagai tambahan Backspace"
+
+#: ../rules/base.xml.in.h:453
+msgid "Make CapsLock an additional Ctrl"
+msgstr "Buat CapsLock sebagai tambahan Ctrl"
+
+#: ../rules/base.xml.in.h:454
+msgid "Make CapsLock an additional ESC"
+msgstr "Buat CapsLock sebagai tambahan ESC"
+
+#: ../rules/base.xml.in.h:455
+msgid "Make CapsLock an additional Hyper"
+msgstr "Buat CapsLock sebagai tambahan Hiper"
+
+#: ../rules/base.xml.in.h:456
+msgid "Make CapsLock an additional NumLock"
+msgstr "Buat CapsLock sebagai tambahan NumLock"
+
+#: ../rules/base.xml.in.h:457
+msgid "Make CapsLock an additional Super"
+msgstr "Buat CapsLock sebagai tambahan Super"
+
+#: ../rules/base.xml.in.h:458
+msgid "Malayalam"
+msgstr "Malayalam"
+
+#: ../rules/base.xml.in.h:459
+msgid "Malayalam Lalitha"
+msgstr "Malayalam Lalitha"
+
+#: ../rules/base.xml.in.h:460
+msgid "Maldives"
+msgstr "Maldives"
+
+#: ../rules/base.xml.in.h:461
+msgid "Mali"
+msgstr "Mali"
+
+#: ../rules/base.xml.in.h:462
+msgid "Malta"
+msgstr "Malta"
+
+#: ../rules/base.xml.in.h:463
+msgid "Maltese keyboard with US layout"
+msgstr "Papan ketik Maltase dengan Layout US"
+
+#: ../rules/base.xml.in.h:464
+msgid "Mao"
+msgstr "Mao"
+
+#: ../rules/base.xml.in.h:465
+msgid "Maori"
+msgstr "Maori"
+
+#: ../rules/base.xml.in.h:466
+msgid "Mdv"
+msgstr "Mdv"
+
+#: ../rules/base.xml.in.h:467
+msgid "Memorex MX1998"
+msgstr "Memorex MX1998"
+
+#: ../rules/base.xml.in.h:468
+msgid "Memorex MX2500 EZ-Access Keyboard"
+msgstr "Papan Ketik Memorex MX2500 EZ-Access"
+
+#: ../rules/base.xml.in.h:469
+msgid "Memorex MX2750"
+msgstr "Memorex MX2750"
+
+#: ../rules/base.xml.in.h:470
+msgid "Menu"
+msgstr "Menu"
+
+#: ../rules/base.xml.in.h:471
+msgid "Meta is mapped to Left Win"
+msgstr "Meta dipetakan ke tombol Win Kiri"
+
+#: ../rules/base.xml.in.h:472
+msgid "Meta is mapped to Win keys"
+msgstr "Meta dipetakan ke tombol Win"
+
+#: ../rules/base.xml.in.h:473
+msgid "Microsoft Comfort Curve Keyboard 2000"
+msgstr "Microsoft Comfort Curve Keyboard 2000"
+
+#: ../rules/base.xml.in.h:474
+msgid "Microsoft Internet Keyboard"
+msgstr "Papan Ketik Internet Microsoft"
+
+#: ../rules/base.xml.in.h:475
+msgid "Microsoft Internet Keyboard Pro, Swedish"
+msgstr "Microsoft Internet Keyboard Pro, Swedia"
+
+#: ../rules/base.xml.in.h:476
+msgid "Microsoft Natural"
+msgstr "Microsoft Natural"
+
+#: ../rules/base.xml.in.h:477
+msgid "Microsoft Natural Keyboard Elite"
+msgstr "Microsoft Natural Keyboard Elite"
+
+#: ../rules/base.xml.in.h:478
+msgid "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
+msgstr "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
+
+#: ../rules/base.xml.in.h:479
+msgid "Microsoft Natural Keyboard Pro OEM"
+msgstr "Microsoft Natural Keyboard Pro OEM"
+
+#: ../rules/base.xml.in.h:480
+msgid "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
+msgstr "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
+
+#: ../rules/base.xml.in.h:481
+msgid "Microsoft Natural Wireless Ergonomic Keyboard 7000"
+msgstr "Microsoft Natural Wireless Ergonomic Keyboard 7000"
+
+#: ../rules/base.xml.in.h:482
+msgid "Microsoft Office Keyboard"
+msgstr "Papan Ketik Microsoft Office"
+
+#: ../rules/base.xml.in.h:483
+msgid "Microsoft Wireless Multimedia Keyboard 1.0A"
+msgstr "Microsoft Wireless Multimedia Keyboard 1.0A"
+
+#: ../rules/base.xml.in.h:484
+msgid "Miscellaneous compatibility options"
+msgstr "Pilihan kompabilitas lain-lain"
+
+#: ../rules/base.xml.in.h:485
+msgid "Mkd"
+msgstr "Mkd"
+
+#: ../rules/base.xml.in.h:486
+msgid "Mli"
+msgstr "Mli"
+
+#: ../rules/base.xml.in.h:487
+msgid "Mlt"
+msgstr "Mlt"
+
+#: ../rules/base.xml.in.h:488
+msgid "Mmr"
+msgstr "Mmr"
+
+#: ../rules/base.xml.in.h:489
+msgid "Mng"
+msgstr "Mng"
+
+#: ../rules/base.xml.in.h:490
+msgid "Mongolia"
+msgstr "Mongolia"
+
+#: ../rules/base.xml.in.h:491
+msgid "Montenegro"
+msgstr "Montenegro"
+
+#: ../rules/base.xml.in.h:492
+msgid "Morocco"
+msgstr "Maroko"
+
+#: ../rules/base.xml.in.h:493
+msgid "Multilingual"
+msgstr "Multilingual"
+
+#: ../rules/base.xml.in.h:494
+msgid "Multilingual, first part"
+msgstr "Multilingual, bagian pertama"
+
+#: ../rules/base.xml.in.h:495
+msgid "Multilingual, second part"
+msgstr "Multilingual, bagian kedua"
+
+#: ../rules/base.xml.in.h:496
+msgid "Myanmar"
+msgstr "Myanmar"
+
+#: ../rules/base.xml.in.h:497
+msgid "NICOLA-F style Backspace"
+msgstr "NICOLA-F style Backspace"
+
+#: ../rules/base.xml.in.h:498
+msgid "NLA"
+msgstr "NLA"
+
+#: ../rules/base.xml.in.h:499
+msgid "Nativo"
+msgstr "Nativo"
+
+#: ../rules/base.xml.in.h:500
+msgid "Nativo for Esperanto"
+msgstr "Nativo untuk Esperanto"
+
+#: ../rules/base.xml.in.h:501
+msgid "Nativo for USA keyboards"
+msgstr "Nativo untuk papan ketik USA"
+
+#: ../rules/base.xml.in.h:502
+msgid "Neo 2"
+msgstr "Neo 2"
+
+#: ../rules/base.xml.in.h:503
+msgid "Nepal"
+msgstr "Nepal"
+
+#: ../rules/base.xml.in.h:504
+msgid "Netherlands"
+msgstr "Belanda"
+
+#: ../rules/base.xml.in.h:505
+msgid "New phonetic"
+msgstr "Fonetik baru"
+
+#: ../rules/base.xml.in.h:506
+msgid "Nga"
+msgstr "Nga"
+
+#: ../rules/base.xml.in.h:507
+msgid "Nigeria"
+msgstr "Negeria"
+
+#: ../rules/base.xml.in.h:508
+msgid "Nld"
+msgstr "Nld"
+
+#: ../rules/base.xml.in.h:509
+msgid "Non-breakable space character at fourth level"
+msgstr "Karakter spasi yang tidak pecah pada level 4"
+
+#: ../rules/base.xml.in.h:510
+msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level"
+msgstr "Karakter spasi yang tidak pecah pada level 4, karakter spasi yang tidak pecah dan tipis pada level 6"
+
+#: ../rules/base.xml.in.h:511
+msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)"
+msgstr "Karakter spasi yang tidak pecah pada level 4, karakter spasi yang tidak pecah dan tipis pada level 6 (via Ctrl+Shift)"
+
+#: ../rules/base.xml.in.h:512
+msgid "Non-breakable space character at second level"
+msgstr "Karakter spasi yang tidak pecah pada level 2"
+
+#: ../rules/base.xml.in.h:513
+msgid "Non-breakable space character at third level"
+msgstr "Karakter spasi yang tidak pecah pada level 3"
+
+#: ../rules/base.xml.in.h:514
+msgid "Non-breakable space character at third level, nothing at fourth level"
+msgstr "Karakter spasi yang tidak pecah pada level 3, tidak ada pada level 4"
+
+#: ../rules/base.xml.in.h:515
+msgid "Non-breakable space character at third level, thin non-breakable space character at fourth level"
+msgstr "Karakter spasi yang tidak pecah pada level 3, karakter spasi yang tidak pecah dan tipis pada level 4"
+
+#: ../rules/base.xml.in.h:516
+msgid "Nor"
+msgstr "Nor"
+
+#: ../rules/base.xml.in.h:517
+msgid "Northern Saami"
+msgstr "Northern Saami"
+
+#: ../rules/base.xml.in.h:518
+msgid "Northern Saami, eliminate dead keys"
+msgstr "Northern Saami, hapus tombo mati"
+
+#: ../rules/base.xml.in.h:519
+msgid "Northgate OmniKey 101"
+msgstr "Northgate OmniKey 101"
+
+#: ../rules/base.xml.in.h:520
+msgid "Norway"
+msgstr "Norwegia"
+
+#: ../rules/base.xml.in.h:521
+msgid "Npl"
+msgstr "Npl"
+
+#: ../rules/base.xml.in.h:522
+msgid "NumLock"
+msgstr "NumLock"
+
+#: ../rules/base.xml.in.h:523
+msgid "Numeric keypad delete key behaviour"
+msgstr "Keypad numerik menghapus perilaku tombol"
+
+#: ../rules/base.xml.in.h:524
+msgid "Numeric keypad keys work as with Mac"
+msgstr "Keypad numerik bekerja seperti dengan Mac"
+
+#: ../rules/base.xml.in.h:525
+msgid "Numeric keypad layout selection"
+msgstr "Pilihan layout Keypad numerik "
+
+#: ../rules/base.xml.in.h:526
+msgid "OADG 109A"
+msgstr "OADG 109A"
+
+#: ../rules/base.xml.in.h:527
+msgid "OLPC"
+msgstr "OLPC"
+
+#: ../rules/base.xml.in.h:528
+msgid "OLPC Dari"
+msgstr "OLPC Dari"
+
+#: ../rules/base.xml.in.h:529
+msgid "OLPC Pashto"
+msgstr "OLPC Pashto"
+
+#: ../rules/base.xml.in.h:530
+msgid "OLPC Southern Uzbek"
+msgstr "OLPC Southern Uzbek"
+
+#: ../rules/base.xml.in.h:531
+msgid "Occitan"
+msgstr "Occitan"
+
+#: ../rules/base.xml.in.h:532
+msgid "Ogham"
+msgstr "Ogham"
+
+#: ../rules/base.xml.in.h:533
+msgid "Ogham IS434"
+msgstr "Ogham IS434"
+
+#: ../rules/base.xml.in.h:534
+msgid "Oriya"
+msgstr "Oriya"
+
+#: ../rules/base.xml.in.h:535
+msgid "Ortek MCK-800 MM/Internet keyboard"
+msgstr "Ortek MCK-800 MM/Internet keyboard"
+
+#: ../rules/base.xml.in.h:536
+msgid "Ossetian"
+msgstr "Ossetian"
+
+#: ../rules/base.xml.in.h:537
+msgid "Ossetian, Winkeys"
+msgstr "Ossetian, Tombol Win"
+
+#: ../rules/base.xml.in.h:538
+msgid "Ossetian, legacy"
+msgstr "Ossetian, legacy"
+
+#: ../rules/base.xml.in.h:539
+msgid "PC-98xx Series"
+msgstr "PC-98xx Series"
+
+#: ../rules/base.xml.in.h:540
+msgid "Pak"
+msgstr "Pak"
+
+#: ../rules/base.xml.in.h:541
+msgid "Pakistan"
+msgstr "Pakistan"
+
+#: ../rules/base.xml.in.h:542
+msgid "Pannonian Rusyn Homophonic"
+msgstr "Homofon Pannonian Rusyn"
+
+#: ../rules/base.xml.in.h:543
+msgid "Pashto"
+msgstr "Pashto"
+
+#: ../rules/base.xml.in.h:544
+msgid "Pattachote"
+msgstr "Pattachote"
+
+#: ../rules/base.xml.in.h:545
+msgid "Pause"
+msgstr "Pause"
+
+#: ../rules/base.xml.in.h:546
+msgid "Persian, with Persian Keypad"
+msgstr "Persia, dengan papan ketik Persia"
+
+#: ../rules/base.xml.in.h:547
+msgid "Phonetic"
+msgstr "Phonetic"
+
+#: ../rules/base.xml.in.h:548
+msgid "Phonetic Winkeys"
+msgstr "Phonetic Winkeys"
+
+#: ../rules/base.xml.in.h:549
+msgid "Pol"
+msgstr "Pol"
+
+#: ../rules/base.xml.in.h:550
+msgid "Poland"
+msgstr "Polandia"
+
+#: ../rules/base.xml.in.h:551
+msgid "Polytonic"
+msgstr "Polytonic"
+
+#: ../rules/base.xml.in.h:552
+msgid "Portugal"
+msgstr "Portugal"
+
+#: ../rules/base.xml.in.h:553
+msgid "Probhat"
+msgstr "Probhat"
+
+#: ../rules/base.xml.in.h:554
+msgid "Programmer Dvorak"
+msgstr "Programmer Dvorak"
+
+#: ../rules/base.xml.in.h:555
+msgid "Propeller Voyager (KTEZ-1000)"
+msgstr "Propeller Voyager (KTEZ-1000)"
+
+#: ../rules/base.xml.in.h:556
+msgid "Prt"
+msgstr "Prt"
+
+#: ../rules/base.xml.in.h:557
+msgid "PrtSc"
+msgstr "PrtSc"
+
+#: ../rules/base.xml.in.h:558
+msgid "QTronix Scorpius 98N+"
+msgstr "QTronix Scorpius 98N+"
+
+#: ../rules/base.xml.in.h:559
+msgid "Right Alt"
+msgstr "Alt Kanan"
+
+#: ../rules/base.xml.in.h:560
+msgid "Right Alt (while pressed)"
+msgstr "Alt Kanan (ketika ditekan)"
+
+#: ../rules/base.xml.in.h:561
+msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr "Alt kanan memilih level kelima, terkunci jika ditekan bersamaan dengan pemilih-level-kelima lainnya"
+
+#: ../rules/base.xml.in.h:562
+msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr "Alt kanan memilih level kelima, terkunci jika ditekan bersamaan dengan pemilih-level-kelima lainnya, satu penekanan melepas kunci"
+
+#: ../rules/base.xml.in.h:563
+msgid "Right Alt key never chooses 3rd level"
+msgstr "Alt Kanan tidak pernah memilih level 3"
+
+#: ../rules/base.xml.in.h:564
+msgid "Right Alt, Shift+Right Alt key is Multi_Key"
+msgstr "Alt Kanan, Shift+Right Alt adalah Multi_Key"
+
+#: ../rules/base.xml.in.h:565
+msgid "Right Ctrl"
+msgstr "Ctrl Kanan"
+
+#: ../rules/base.xml.in.h:566
+msgid "Right Ctrl (while pressed)"
+msgstr "Ctrl Kanan (ketika ditekan)"
+
+#: ../rules/base.xml.in.h:567
+msgid "Right Ctrl as Right Alt"
+msgstr "Ctrl Kanan bertindak seperti Alt Kanan"
+
+#: ../rules/base.xml.in.h:568
+msgid "Right Ctrl+Right Shift"
+msgstr "Ctrl Kanan+Shift Kanan"
+
+#: ../rules/base.xml.in.h:569
+msgid "Right Shift"
+msgstr "Shift Kanan"
+
+#: ../rules/base.xml.in.h:570
+msgid "Right Win"
+msgstr "Win Kanan"
+
+#: ../rules/base.xml.in.h:571
+msgid "Right Win (while pressed)"
+msgstr "Win Kanan (ketika ditekan)"
+
+#: ../rules/base.xml.in.h:572
+msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr "Win kanan memilih level kelima, terkunci jika ditekan bersamaan dengan pemilih-level-kelima"
+
+#: ../rules/base.xml.in.h:573
+msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr "Win kanan memilih level kelima, terkunci jika ditekan bersamaan dengan pemilih-level-kelima, satu penekanan melepas kunci"
+
+#: ../rules/base.xml.in.h:574
+msgid "Right hand"
+msgstr "Tangan Kanan"
+
+#: ../rules/base.xml.in.h:575
+msgid "Right handed Dvorak"
+msgstr "Right handed Dvorak"
+
+#: ../rules/base.xml.in.h:576
+msgid "Romania"
+msgstr "Rumania"
+
+#: ../rules/base.xml.in.h:577
+msgid "Romanian keyboard with German letters"
+msgstr "Papan ketik Rumania dengan huruf Jerman"
+
+#: ../rules/base.xml.in.h:578
+msgid "Romanian keyboard with German letters, eliminate dead keys"
+msgstr "Papan ketik Rumania dengan huruf Jerman, hapus tombol mati"
+
+#: ../rules/base.xml.in.h:579
+msgid "Rou"
+msgstr "Rou"
+
+#: ../rules/base.xml.in.h:580
+msgid "Rus"
+msgstr "Rus"
+
+#: ../rules/base.xml.in.h:581
+msgid "Russia"
+msgstr "Rusia"
+
+#: ../rules/base.xml.in.h:582
+msgid "Russian"
+msgstr "Rusia"
+
+#: ../rules/base.xml.in.h:583
+msgid "Russian phonetic"
+msgstr "Russian phonetic"
+
+#: ../rules/base.xml.in.h:584
+msgid "Russian phonetic Dvorak"
+msgstr "Russian phonetic Dvorak"
+
+#: ../rules/base.xml.in.h:585
+msgid "Russian phonetic, eliminate dead keys"
+msgstr "Russian phonetic, hapus tombol mati"
+
+#: ../rules/base.xml.in.h:586
+msgid "Russian with Kazakh"
+msgstr "Rusia dengan Kazakh"
+
+#: ../rules/base.xml.in.h:587
+msgid "SILVERCREST Multimedia Wireless Keyboard"
+msgstr "Papan Ketik SILVERCREST Multimedia Wireless"
+
+#: ../rules/base.xml.in.h:588
+msgid "SK-1300"
+msgstr "SK-1300"
+
+#: ../rules/base.xml.in.h:589
+msgid "SK-2500"
+msgstr "SK-2500"
+
+#: ../rules/base.xml.in.h:590
+msgid "SK-6200"
+msgstr "SK-6200"
+
+#: ../rules/base.xml.in.h:591
+msgid "SK-7100"
+msgstr "SK-7100"
+
+#: ../rules/base.xml.in.h:592 ../rules/base.extras.xml.in.h:7
+msgid "SRB"
+msgstr "SRB"
+
+#: ../rules/base.xml.in.h:593
+msgid "SVEN Ergonomic 2500"
+msgstr "SVEN Ergonomic 2500"
+
+#: ../rules/base.xml.in.h:594
+msgid "SVEN Slim 303"
+msgstr "SVEN Slim 303"
+
+#: ../rules/base.xml.in.h:595
+msgid "Samsung SDM 4500P"
+msgstr "Samsung SDM 4500P"
+
+#: ../rules/base.xml.in.h:596
+msgid "Samsung SDM 4510P"
+msgstr "Samsung SDM 4510P"
+
+#: ../rules/base.xml.in.h:597
+msgid "ScrollLock"
+msgstr "ScrollLock"
+
+#: ../rules/base.xml.in.h:598
+msgid "Secwepemctsin"
+msgstr "Secwepemctsin"
+
+#: ../rules/base.xml.in.h:599
+msgid "Semi-colon on third level"
+msgstr "Semi-kolon pada level ketiga"
+
+#: ../rules/base.xml.in.h:600
+msgid "Sen"
+msgstr "Sen"
+
+#: ../rules/base.xml.in.h:601
+msgid "Senegal"
+msgstr "Senegal"
+
+#: ../rules/base.xml.in.h:602 ../rules/base.extras.xml.in.h:8
+msgid "Serbia"
+msgstr "Serbia"
+
+#: ../rules/base.xml.in.h:603
+msgid "Serbian"
+msgstr "Serbia"
+
+#: ../rules/base.xml.in.h:604
+msgid "Shift cancels CapsLock"
+msgstr "Shift membatalkan CapsLock"
+
+#: ../rules/base.xml.in.h:605
+msgid "Shift does not cancel NumLock, chooses 3rd level instead"
+msgstr "Shift tidak membatalkan NumLock, lebih memilih level ketiga"
+
+#: ../rules/base.xml.in.h:606
+msgid "Shift with numeric keypad keys works as in MS Windows"
+msgstr "Shit dengan keypad numerik bekerja sesuai pada MS Windows"
+
+#: ../rules/base.xml.in.h:607
+msgid "Shift+CapsLock"
+msgstr "Shift+CapsLock"
+
+#: ../rules/base.xml.in.h:608
+msgid "Simple"
+msgstr "Sederhana"
+
+#: ../rules/base.xml.in.h:609
+msgid "Slovakia"
+msgstr "Slovakia"
+
+#: ../rules/base.xml.in.h:610
+msgid "Slovenia"
+msgstr "Slovenia"
+
+#: ../rules/base.xml.in.h:611
+msgid "South Africa"
+msgstr "Afrika Selatan"
+
+#: ../rules/base.xml.in.h:612
+msgid "Southern Uzbek"
+msgstr "Uzbek Selatan"
+
+#: ../rules/base.xml.in.h:613
+msgid "Spain"
+msgstr "Spanyol"
+
+#: ../rules/base.xml.in.h:614
+msgid "Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server"
+msgstr "Tombol spesial (Ctrl+Alt+&lt;key&gt;) ditangani pada server"
+
+#: ../rules/base.xml.in.h:615
+msgid "Sri Lanka"
+msgstr "Sri Lanka"
+
+#: ../rules/base.xml.in.h:616
+msgid "Standard"
+msgstr "Standard"
+
+#: ../rules/base.xml.in.h:617
+msgid "Standard (Cedilla)"
+msgstr "Standard (Cedilla)"
+
+#. RSTU 2019-91
+#: ../rules/base.xml.in.h:619
+msgid "Standard RSTU"
+msgstr "Standard RSTU"
+
+#. RSTU 2019-91
+#: ../rules/base.xml.in.h:621
+msgid "Standard RSTU on Russian layout"
+msgstr "Standard RSTU pada layout Rusia"
+
+#: ../rules/base.xml.in.h:622
+msgid "Sun Type 5/6"
+msgstr "Sun Type 5/6"
+
+#: ../rules/base.xml.in.h:623
+msgid "Sun dead keys"
+msgstr "Tombol mati Matahari"
+
+#: ../rules/base.xml.in.h:624
+msgid "Super Power Multimedia Keyboard"
+msgstr "Super Power Multimedia Keyboard"
+
+#: ../rules/base.xml.in.h:625
+msgid "Svdvorak"
+msgstr "Svdvorak"
+
+#: ../rules/base.xml.in.h:626
+msgid "Svk"
+msgstr "Svk"
+
+#: ../rules/base.xml.in.h:627
+msgid "Svn"
+msgstr "Svn"
+
+#: ../rules/base.xml.in.h:628
+msgid "Swap Ctrl and CapsLock"
+msgstr "Tukar Ctrl dan CapsLock"
+
+#: ../rules/base.xml.in.h:629
+msgid "Swap ESC and CapsLock"
+msgstr "Tujar ESC dan CapsLock"
+
+#: ../rules/base.xml.in.h:630
+msgid "Swe"
+msgstr "Swe"
+
+#: ../rules/base.xml.in.h:631
+msgid "Sweden"
+msgstr "Swedia"
+
+#: ../rules/base.xml.in.h:632
+msgid "Switzerland"
+msgstr "Switzerland"
+
+#: ../rules/base.xml.in.h:633
+msgid "Symplon PaceBook (tablet PC)"
+msgstr "Symplon PaceBook (tablet PC)"
+
+#: ../rules/base.xml.in.h:634
+msgid "Syr"
+msgstr "Syr"
+
+#: ../rules/base.xml.in.h:635
+msgid "Syria"
+msgstr "Syria"
+
+#: ../rules/base.xml.in.h:636
+msgid "Syriac"
+msgstr "Syriac"
+
+#: ../rules/base.xml.in.h:637
+msgid "Syriac phonetic"
+msgstr "Syriac phonetic"
+
+#: ../rules/base.xml.in.h:638
+msgid "TIS-820.2538"
+msgstr "TIS-820.2538"
+
+#: ../rules/base.xml.in.h:639
+msgid "Tajikistan"
+msgstr "Tajikistan"
+
+#: ../rules/base.xml.in.h:640
+msgid "Tamil"
+msgstr "Tamil"
+
+#: ../rules/base.xml.in.h:641
+msgid "Tamil Keyboard with Numerals"
+msgstr "Papan ketik Tamil dengan Angka"
+
+#: ../rules/base.xml.in.h:642
+msgid "Tamil TAB Typewriter"
+msgstr "Tamil TAB Typewriter"
+
+#: ../rules/base.xml.in.h:643
+msgid "Tamil TSCII Typewriter"
+msgstr "Tamil TSCII Typewriter"
+
+#: ../rules/base.xml.in.h:644
+msgid "Tamil Unicode"
+msgstr "Tamil Unicode"
+
+#: ../rules/base.xml.in.h:645
+msgid "Tanzania"
+msgstr "Tanzania"
+
+#: ../rules/base.xml.in.h:646
+msgid "Targa Visionary 811"
+msgstr "Targa Visionary 811"
+
+#: ../rules/base.xml.in.h:647
+msgid "Tatar"
+msgstr "Tatar"
+
+#: ../rules/base.xml.in.h:648
+msgid "Telugu"
+msgstr "Telugu"
+
+#: ../rules/base.xml.in.h:649
+msgid "Tha"
+msgstr "Tha"
+
+#: ../rules/base.xml.in.h:650
+msgid "Thailand"
+msgstr "Thailand"
+
+#: ../rules/base.xml.in.h:651
+msgid "Tibetan"
+msgstr "Tibetan"
+
+#: ../rules/base.xml.in.h:652
+msgid "Tibetan (with ASCII numerals)"
+msgstr "Tibetan (with ASCII numerals)"
+
+#: ../rules/base.xml.in.h:653
+msgid "Tifinagh"
+msgstr "Tifinagh"
+
+#: ../rules/base.xml.in.h:654
+msgid "Tifinagh Alternative"
+msgstr "Tifinagh Alternative"
+
+#: ../rules/base.xml.in.h:655
+msgid "Tifinagh Alternative Phonetic"
+msgstr "Tifinagh Alternative Phonetic"
+
+#: ../rules/base.xml.in.h:656
+msgid "Tifinagh Extended"
+msgstr "Tifinagh Extended"
+
+#: ../rules/base.xml.in.h:657
+msgid "Tifinagh Extended Phonetic"
+msgstr "Tifinagh Alternative Phonetic"
+
+#: ../rules/base.xml.in.h:658
+msgid "Tifinagh Phonetic"
+msgstr "Tifinagh Phonetic"
+
+#: ../rules/base.xml.in.h:659
+msgid "Tilde (~) variant"
+msgstr "Varian tilde (~)"
+
+#: ../rules/base.xml.in.h:660
+msgid "Tjk"
+msgstr "Tjk"
+
+#: ../rules/base.xml.in.h:661
+msgid "Tkm"
+msgstr "Tkm"
+
+#: ../rules/base.xml.in.h:662
+msgid "To the corresponding key in a Dvorak keyboard."
+msgstr "Ke tombol dalam papan ketik Dvorak."
+
+#: ../rules/base.xml.in.h:663
+msgid "To the corresponding key in a Qwerty keyboard."
+msgstr "Ke tombol dalam papan ketik Qwerty."
+
+#: ../rules/base.xml.in.h:664
+msgid "Toshiba Satellite S3000"
+msgstr "Toshiba Satellite S3000"
+
+#: ../rules/base.xml.in.h:665
+msgid "Traditional phonetic"
+msgstr "Traditional phonetic"
+
+#: ../rules/base.xml.in.h:666
+msgid "Trust Direct Access Keyboard"
+msgstr "Trust Direct Access Keyboard"
+
+#: ../rules/base.xml.in.h:667
+msgid "Trust Slimline"
+msgstr "Trust Slimline"
+
+#: ../rules/base.xml.in.h:668
+msgid "Trust Wireless Keyboard Classic"
+msgstr "Trust Wireless Keyboard Classic"
+
+#: ../rules/base.xml.in.h:669
+msgid "Tur"
+msgstr "Tur"
+
+#: ../rules/base.xml.in.h:670
+msgid "Turkey"
+msgstr "Turki"
+
+#: ../rules/base.xml.in.h:671
+msgid "Turkmenistan"
+msgstr "Turkmenistan"
+
+#: ../rules/base.xml.in.h:672
+msgid "TypeMatrix EZ-Reach 2020"
+msgstr "TypeMatrix EZ-Reach 2020"
+
+#: ../rules/base.xml.in.h:673
+msgid "TypeMatrix EZ-Reach 2030 PS2"
+msgstr "TypeMatrix EZ-Reach 2030 PS2"
+
+#: ../rules/base.xml.in.h:674
+msgid "TypeMatrix EZ-Reach 2030 USB"
+msgstr "TypeMatrix EZ-Reach 2030 USB"
+
+#: ../rules/base.xml.in.h:675
+msgid "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)"
+msgstr "TypeMatrix EZ-Reach 2030 USB (mode 102/105:EU)"
+
+#: ../rules/base.xml.in.h:676
+msgid "TypeMatrix EZ-Reach 2030 USB (106:JP mode)"
+msgstr "TypeMatrix EZ-Reach 2030 USB (mode 106:JP)"
+
+#: ../rules/base.xml.in.h:677
+msgid "Typewriter"
+msgstr "Typewriter"
+
+#: ../rules/base.xml.in.h:678
+msgid "Typewriter, legacy"
+msgstr "Typewriter, warisan"
+
+#: ../rules/base.xml.in.h:679
+msgid "Tza"
+msgstr "Tza"
+
+#: ../rules/base.xml.in.h:680
+msgid "UCW layout (accented letters only)"
+msgstr "UCW layout (accented letters only)"
+
+#: ../rules/base.xml.in.h:681
+msgid "US Dvorak with CZ UCW support"
+msgstr "US Dvorak dengan dukungan CZ UCW"
+
+#: ../rules/base.xml.in.h:682
+msgid "US keyboard with Bosnian digraphs"
+msgstr "Papan ketik Amerika dengan Bosnia digraphs"
+
+#: ../rules/base.xml.in.h:683
+msgid "US keyboard with Bosnian letters"
+msgstr "Papan ketik Amerika dengan huruf Bosnia"
+
+#: ../rules/base.xml.in.h:684
+msgid "US keyboard with Croatian digraphs"
+msgstr "Papan ketik Amerika dengan Kroasia digraphs"
+
+#: ../rules/base.xml.in.h:685
+msgid "US keyboard with Croatian letters"
+msgstr "Papan ketik Amerika dengan huruf Kroasia"
+
+#: ../rules/base.xml.in.h:686
+msgid "US keyboard with Estonian letters"
+msgstr "Papan ketik Amerika dengan huruf Estonia"
+
+#: ../rules/base.xml.in.h:687
+msgid "US keyboard with Italian letters"
+msgstr "Papan ketik Amerika dengan huruf Italia"
+
+#: ../rules/base.xml.in.h:688
+msgid "US keyboard with Lithuanian letters"
+msgstr "Papan ketik Amerika dengan huruf Lituania"
+
+#: ../rules/base.xml.in.h:689
+msgid "US keyboard with Slovenian letters"
+msgstr "Papan ketik Amerika dengan huruf Slovenia"
+
+#: ../rules/base.xml.in.h:690 ../rules/base.extras.xml.in.h:9
+msgid "USA"
+msgstr "USA"
+
+#: ../rules/base.xml.in.h:691
+msgid "Udmurt"
+msgstr "Udmurt"
+
+#: ../rules/base.xml.in.h:692
+msgid "Ukr"
+msgstr "Ukr"
+
+#: ../rules/base.xml.in.h:693
+msgid "Ukraine"
+msgstr "Ukraina"
+
+#: ../rules/base.xml.in.h:694
+msgid "Unicode additions (arrows and math operators)"
+msgstr "Tambahan unicode (panah dan operator matematika)"
+
+#: ../rules/base.xml.in.h:695
+msgid "Unicode additions (arrows and math operators). Math operators on default level"
+msgstr "Tambahan unicode (panah dan operator matematika). Operator matematika pada level standar"
+
+#: ../rules/base.xml.in.h:696
+msgid "UnicodeExpert"
+msgstr "UnicodeExpert"
+
+#: ../rules/base.xml.in.h:697
+msgid "United Kingdom"
+msgstr "Inggris Raya"
+
+#: ../rules/base.xml.in.h:698
+msgid "Unitek KB-1925"
+msgstr "Unitek KB-1925"
+
+#: ../rules/base.xml.in.h:699
+msgid "Urdu, Alternative phonetic"
+msgstr "Urdu, Fonetik alternatif"
+
+#: ../rules/base.xml.in.h:700
+msgid "Urdu, Phonetic"
+msgstr "Urdu, Fonetik"
+
+#: ../rules/base.xml.in.h:701
+msgid "Urdu, Winkeys"
+msgstr "Urdu, Tombol Win"
+
+#: ../rules/base.xml.in.h:702
+msgid "Use Bosnian digraphs"
+msgstr "Gunakan diagraph Bosnia"
+
+#: ../rules/base.xml.in.h:703
+msgid "Use Croatian digraphs"
+msgstr "Gunakan diagraph Kroasia"
+
+#: ../rules/base.xml.in.h:704
+msgid "Use guillemets for quotes"
+msgstr "Gunakan guillemets untuk tanda petik"
+
+#: ../rules/base.xml.in.h:705
+msgid "Use keyboard LED to show alternative layout"
+msgstr "Gunakan papan ketik LED untuk menunjukkan layout alternatif"
+
+#: ../rules/base.xml.in.h:706
+msgid "Using space key to input non-breakable space character"
+msgstr "Menggunakan spasi untuk input karakter spasi yang tidak pecah"
+
+#: ../rules/base.xml.in.h:707
+msgid "Usual space at any level"
+msgstr "Tombol spasi biasa pada semua level"
+
+#: ../rules/base.xml.in.h:708
+msgid "Uzb"
+msgstr "Uzb"
+
+#: ../rules/base.xml.in.h:709
+msgid "Uzbekistan"
+msgstr "Uzbekistan"
+
+#: ../rules/base.xml.in.h:710
+msgid "Vietnam"
+msgstr "Vietnam"
+
+#: ../rules/base.xml.in.h:711
+msgid "ViewSonic KU-306 Internet Keyboard"
+msgstr "Papan Ketik Internet ViewSonic KU-306"
+
+#: ../rules/base.xml.in.h:712
+msgid "Vnm"
+msgstr "Vnm"
+
+#: ../rules/base.xml.in.h:713
+msgid "Wang 724 keypad with unicode additions (arrows and math operators)"
+msgstr "Wang 724 keypad dengan tambahan unicode (panah and operator matematika). "
+
+#: ../rules/base.xml.in.h:714
+msgid "Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level"
+msgstr "Wang 724 keypad dengan tambahan unicode (panah and operator matematika). Operator matematika pada level standar"
+
+#: ../rules/base.xml.in.h:715
+msgid "Wang model 724 azerty"
+msgstr "Wang model 724 azerty"
+
+#: ../rules/base.xml.in.h:716
+msgid "Western"
+msgstr "Western"
+
+#: ../rules/base.xml.in.h:717
+msgid "Winbook Model XP5"
+msgstr "Winbook Model XP5"
+
+#: ../rules/base.xml.in.h:718
+msgid "Winkeys"
+msgstr "Tombol Win"
+
+#: ../rules/base.xml.in.h:719
+msgid "With &lt;\\|&gt; key"
+msgstr "Dengan &lt;\\|&gt; key;tombol"
+
+#: ../rules/base.xml.in.h:720
+msgid "With EuroSign on 5"
+msgstr "Dengan tanda Euro pada 5"
+
+#: ../rules/base.xml.in.h:721
+msgid "With guillemets"
+msgstr "Dengan guillemets"
+
+#: ../rules/base.xml.in.h:722
+msgid "Yahoo! Internet Keyboard"
+msgstr "Papan Ketik Internet Yahoo!"
+
+#: ../rules/base.xml.in.h:723
+msgid "Yakut"
+msgstr "Yakut"
+
+#: ../rules/base.xml.in.h:724
+msgid "Yoruba"
+msgstr "Yoruba"
+
+#: ../rules/base.xml.in.h:725
+msgid "Z and ZHE swapped"
+msgstr "menukar Z dan ZHE "
+
+#: ../rules/base.xml.in.h:726
+msgid "Zaf"
+msgstr "Zaf"
+
+#: ../rules/base.xml.in.h:727
+msgid "Zero-width non-joiner character at second level"
+msgstr "Karakter non-penggabung lebar-nol pada level kedua"
+
+#: ../rules/base.xml.in.h:728
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level"
+msgstr "Karakter non-penggabung lebar-nol pada level kedua, karakter spasi non-dilepaskan pada level ketiga"
+
+#: ../rules/base.xml.in.h:729
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level"
+msgstr "Karakter non-penggabung lebar-nol pada level kedua, karakter spasi non-dilepaskan pada level ketiga, tak ada di level keempat"
+
+#: ../rules/base.xml.in.h:730
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level"
+msgstr "Karakter non-penggabung lebar-nol pada level ketiga, karakter spasi non-dilepaskan pada level ketiga, spasi non-dilepaskan tipis pada level keempat"
+
+#: ../rules/base.xml.in.h:731
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level"
+msgstr "Karakter non-penggabung lebar-nol pada level kedua, karakter spasi non-dilepaskan pada level ketiga, penggabung lebar-nol pada level keempat"
+
+#: ../rules/base.xml.in.h:732
+msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level"
+msgstr "Karakter non-penggabung lebar nol pada level kedua, karakter penggabung lebar-nol pada level ketiga"
+
+#: ../rules/base.xml.in.h:733
+msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level"
+msgstr "Karakter non-penggabung pada level kedua, karakter penggabung lebar-nol pada level ketiga, karakter spasi non-dilepaskan pada level keempat"
+
+#: ../rules/base.xml.in.h:734
+msgid "Zero-width non-joiner character at third level, zero-width joiner at fourth level"
+msgstr "Karakter non-penggabung lebar-nol pada level ketiga, penggabung lebar-nol pada level keempat"
+
+#: ../rules/base.xml.in.h:735
+msgid "azerty"
+msgstr "azerty"
+
+#: ../rules/base.xml.in.h:736
+msgid "azerty/digits"
+msgstr "azerty/angka"
+
+#: ../rules/base.xml.in.h:737
+msgid "digits"
+msgstr "digit"
+
+#: ../rules/base.xml.in.h:738
+msgid "displaced semicolon and quote (obsolete)"
+msgstr "ganti titik koma dan tanda kutip (kuno)"
+
+#: ../rules/base.xml.in.h:739
+msgid "lyx"
+msgstr "lyx"
+
+#: ../rules/base.xml.in.h:740
+msgid "qwerty"
+msgstr "qwerty"
+
+#: ../rules/base.xml.in.h:741
+msgid "qwerty, extended Backslash"
+msgstr "qwerty, ditambah Backslash"
+
+#: ../rules/base.xml.in.h:742
+msgid "qwerty/digits"
+msgstr "qwertz/angka"
+
+#: ../rules/base.xml.in.h:743
+msgid "qwertz"
+msgstr "qwertz"
+
+#: ../rules/base.extras.xml.in.h:1
+msgid "APL"
+msgstr "APL"
+
+#: ../rules/base.extras.xml.in.h:2
+msgid "Atsina"
+msgstr "Atsina"
+
+#: ../rules/base.extras.xml.in.h:3
+msgid "Combining accents instead of dead keys"
+msgstr "Menggabungkan aksen ketimbang tombol mati"
+
+#: ../rules/base.extras.xml.in.h:4
+msgid "Couer D'alene Salish"
+msgstr "Couer D'alene Salish"
+
+#: ../rules/base.extras.xml.in.h:5
+msgid "International (AltGr Unicode combining)"
+msgstr "Internasional (AltGr menggabungkan Unicode)"
+
+#: ../rules/base.extras.xml.in.h:6
+msgid "International (AltGr Unicode combining, alternative)"
+msgstr "Internasional (AltGr menggabungkan Unicode, alternatif)"
+
+#~ msgid "ACPI Standard"
+#~ msgstr "ACPI Standard"
+
+#~ msgid "Bhu"
+#~ msgstr "Bhu"
+
+#~ msgid "Caps Lock"
+#~ msgstr "Caps Lock"
+
+#~ msgid "DRC"
+#~ msgstr "DRC"
+
+#~ msgid "Dvorak international"
+#~ msgstr "Dvorak international"
+
+#~ msgid "Evdev-managed keyboard"
+#~ msgstr "Evdev-managed keyboard"
+
+#~ msgid "Gre"
+#~ msgstr "Gre"
+
+#~ msgid "Gui"
+#~ msgstr "Gui"
+
+#~ msgid "Lav"
+#~ msgstr "Lav"
+
+#~ msgid "Nep"
+#~ msgstr "Nep"
+
+#~ msgid "Scroll Lock"
+#~ msgstr "Scroll Lock"
+
+#~ msgid "SrL"
+#~ msgstr "Srl"
+
+#~ msgid "Baltic+"
+#~ msgstr "Baltic+"
+
+#~ msgid "IBM ThinkPad 560Z/600/600E/A22E, Intl"
+#~ msgstr "IBM ThinkPad 560Z/600/600E/A22E, Intl"
+
+#~ msgid "Pro"
+#~ msgstr "Pro"
+
+#~ msgid "Pro Keypad"
+#~ msgstr "Pro Keypad"
+
+#~ msgid "Standard Phonetic"
+#~ msgstr "Fonetik Standar"
+
+#~ msgid "Brazilian ABNT2"
+#~ msgstr "Brazilian ABNT2"
+
+#~ msgid "Japanese 106-key"
+#~ msgstr "Japanese 106-key"
+
+#~ msgid "Kir"
+#~ msgstr "Kir"
+
+#~ msgid "Korean 106-key"
+#~ msgstr "Korean 106-key"
+
+#~ msgid "Super is mapped to Win keys"
+#~ msgstr "Super dipetakan ke tombol Win"
+
+#~ msgid "US keyboard with Slovenian digraphs"
+#~ msgstr "Keyboard Amerika dengan Slovenia digraph"
+
+#~ msgid "Unicode"
+#~ msgstr "Unicode"
+
+#~ msgid "Use Slovenian digraphs"
+#~ msgstr "Gunakan diagraph Slovenia "
+
+#~ msgid "Add the EuroSign to the 2 key."
+#~ msgstr "Tambah tanda Euro ke tombol 2"
+
+#~ msgid "Add the EuroSign to the 4 key."
+#~ msgstr "Tambah tanda Euro ke tombol 4"
+
+#~ msgid "Add the EuroSign to the 5 key."
+#~ msgstr "Tambah tanda Euro ke tombol 5"
+
+#~ msgid "Add the EuroSign to the E key."
+#~ msgstr "Tambah tanda Euro ke tombol E"
+
+#~ msgid "Alt+Ctrl change layout."
+#~ msgstr "Alt+Ctrl mengubah layout."
+
+#~ msgid "Alt+Shift change layout."
+#~ msgstr "Alt+Shift mengubah layout."
+
+#~ msgid "CapsLock LED shows alternative layout."
+#~ msgstr "CapsLock LED menunjukkan layout alternatif."
+
+#~ msgid "CapsLock just locks the Shift modifier."
+#~ msgstr "CapsLock hanya mengunci modifier Shift."
+
+#~ msgid "CapsLock key changes layout."
+#~ msgstr "Tombol CapsLock mengubah layout."
+
+#~ msgid "Ctrl+Shift change layout."
+#~ msgstr "Ctrl+Shift mengubah layout."
+
+#~ msgid "Hewlett-Packard Internet Keyboard 5181"
+#~ msgstr "Hewlett-Packard Internet Keyboard 5181"
+
+#~ msgid "Hewlett-Packard Internet Keyboard 5185"
+#~ msgstr "Hewlett-Packard Internet Keyboard 5185"
+
+#~ msgid "Hewlett-Packard SK-2505 Internet Keyboard"
+#~ msgstr "Hewlett-Packard SK-2505 Internet Keyboard"
+
+#~ msgid "IBM Rapid Access II (alternate option)"
+#~ msgstr "IBM Rapid Access II (pilihan alternatif)"
+
+#~ msgid "LCtrl+LShift change layout."
+#~ msgstr "LCtrl+LShift mengubah layout."
+
+#~ msgid "Layout switching"
+#~ msgstr "Layout switching"
+
+#~ msgid "Left Alt key changes layout."
+#~ msgstr "Alt Kiri mengubah layout."
+
+#~ msgid "Left Ctrl key changes layout."
+#~ msgstr "Ctrl Kiri mengubah layout."
+
+#~ msgid "Left Shift key changes layout."
+#~ msgstr "Shift Kiri mengubah layout."
+
+#~ msgid "Left Win-key changes layout."
+#~ msgstr "Tombol Win Kiri mengubah layout."
+
+#~ msgid "Left Win-key is Compose."
+#~ msgstr "Tombol Win Kiri adaalah Compose."
+
+#~ msgid "Legacy keypad"
+#~ msgstr "Legacy keypad"
+
+#~ msgid "Menu is Compose."
+#~ msgstr "Menu adalah Compose"
+
+#~ msgid "Neostyle"
+#~ msgstr "Neostyle"
+
+#~ msgid "NumLock LED shows alternative layout."
+#~ msgstr "NumLock LED menunjukkan layout alternatif."
+
+#~ msgid "Press Left Alt key to choose 3rd level."
+#~ msgstr "Tekan Alt Kiri untuk memilih level 3."
+
+#~ msgid "Press Left Win-key to choose 3rd level."
+#~ msgstr "Tekan tombol Win Kiri untuk memilih level 3."
+
+#~ msgid "Press Right Alt key to choose 3rd level."
+#~ msgstr "Tekan Alt Kanan untuk memilih level 3."
+
+#~ msgid "Press Right Ctrl to choose 3rd level."
+#~ msgstr "Tekan Ctrl Kanan untuk memilih level 3."
+
+#~ msgid "Press Right Win-key to choose 3rd level."
+#~ msgstr "Tekan tombol Win Kanan untuk memilih level 3."
+
+#~ msgid "Press any of Alt keys to choose 3rd level."
+#~ msgstr "Tekan tombol Alt manasaja untuk memilih level 3."
+
+#~ msgid "Press any of Win-keys to choose 3rd level."
+#~ msgstr "Tekan tombol Win manasaja untuk memilih level 3."
+
+#~ msgid "Right Alt is Compose."
+#~ msgstr "Alt Kanan adalah Compose"
+
+#~ msgid "Right Alt key changes layout."
+#~ msgstr "Alt Kanan mengubah layout."
+
+#~ msgid "Right Ctrl key changes layout."
+#~ msgstr "Ctrl Kanan mengubah layout."
+
+#~ msgid "Right Shift key changes layout."
+#~ msgstr "Shift Kanan mengubah layout."
+
+#~ msgid "Right Win-key changes layout."
+#~ msgstr "Tombol Win Kanan mengubah layout."
+
+#~ msgid "Right Win-key is Compose."
+#~ msgstr "Tombol Win Kanan adalah Compose."
+
+#~ msgid "ScrollLock LED shows alternative layout."
+#~ msgstr "ScrollLock LED menunjukkan layout alternatif."
+
+#~ msgid "Shift+CapsLock changes layout."
+#~ msgstr "Shift+CapsLock mengubah layout."
+
+#~ msgid "Swap keycodes of two keys when Mac keyboards are misdetected by kernel."
+#~ msgstr "Tukar keycode dari 2 tombol ketika keyboard Mac salah terdeteksi oleh kernel."
+
+#~ msgid "Third level choosers"
+#~ msgstr "Pilihan level 3"
+
+#~ msgid "Urdu"
+#~ msgstr "Urdu"
diff --git a/xorg-server/xkeyboard-config/po/it.po b/xorg-server/xkeyboard-config/po/it.po
index e4601c000..7250b1033 100644
--- a/xorg-server/xkeyboard-config/po/it.po
+++ b/xorg-server/xkeyboard-config/po/it.po
@@ -33,10 +33,10 @@
# Luca Ferretti <elle.uca@infinito.it>, 2005, 2006, 2007, 2008, 2009, 2010.
msgid ""
msgstr ""
-"Project-Id-Version: xkeyboard-config 1.9\n"
+"Project-Id-Version: xkeyboard-config 2.0\n"
"Report-Msgid-Bugs-To: svu@users.sourceforge.net\n"
-"POT-Creation-Date: 2010-05-11 21:34+0100\n"
-"PO-Revision-Date: 2010-05-12 19:26+0200\n"
+"POT-Creation-Date: 2010-09-15 21:57+0100\n"
+"PO-Revision-Date: 2010-09-16 13:22+0200\n"
"Last-Translator: Luca Ferretti <elle.uca@infinito.it>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"MIME-Version: 1.0\n"
@@ -240,7 +240,7 @@ msgid "Alt is mapped to Right Win, Super to Menu"
msgstr "Alt è applicato al tasto Win destro, Super al tasto Menu"
#: ../rules/base.xml.in.h:47
-msgid "Alt+CapsLock"
+msgid "Alt+Caps Lock"
msgstr "Alt+BlocMaiusc"
#: ../rules/base.xml.in.h:48
@@ -336,7 +336,7 @@ msgid "Apple Aluminium Keyboard (JIS)"
msgstr "Apple Keyboard alluminio (JIS)"
#: ../rules/base.xml.in.h:70
-msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll_Lock, Pause, NumLock)"
+msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num Lock)"
msgstr "Apple Keyboard alluminio: emula tasti PC (Stamp, BlocScorr, Pausa, BlocNum)"
#: ../rules/base.xml.in.h:71
@@ -380,516 +380,526 @@ msgstr "In basso a sinistra"
msgid "At left of 'A'"
msgstr "A sinistra di \"A\""
-# variante per tastiera ghana
+# UE
#: ../rules/base.xml.in.h:80
+msgid "Austria"
+msgstr "Austria"
+
+# ISO per austria
+#: ../rules/base.xml.in.h:81
+msgid "Aut"
+msgstr "AUT"
+
+# variante per tastiera ghana
+#: ../rules/base.xml.in.h:82
msgid "Avatime"
msgstr "Avatime"
-#: ../rules/base.xml.in.h:81
+#: ../rules/base.xml.in.h:83
msgid "Aze"
msgstr "AZE"
# UE
-#: ../rules/base.xml.in.h:82
+#: ../rules/base.xml.in.h:84
msgid "Azerbaijan"
msgstr "Azerbaigian"
-#: ../rules/base.xml.in.h:83
+#: ../rules/base.xml.in.h:85
msgid "Azona RF2300 wireless Internet Keyboard"
msgstr "Azona RF2300 wireless Internet Keyboard"
-#: ../rules/base.xml.in.h:84
+#: ../rules/base.xml.in.h:86
msgid "BTC 5090"
msgstr "BTC 5090"
-#: ../rules/base.xml.in.h:85
+#: ../rules/base.xml.in.h:87
msgid "BTC 5113RF Multimedia"
msgstr "BTC 5113RF Multimedia"
-#: ../rules/base.xml.in.h:86
+#: ../rules/base.xml.in.h:88
msgid "BTC 5126T"
msgstr "BTC 5126T"
-#: ../rules/base.xml.in.h:87
+#: ../rules/base.xml.in.h:89
msgid "BTC 6301URF"
msgstr "BTC 6301URF"
-#: ../rules/base.xml.in.h:88
+#: ../rules/base.xml.in.h:90
msgid "BTC 9000"
msgstr "BTC 9000"
-#: ../rules/base.xml.in.h:89
+#: ../rules/base.xml.in.h:91
msgid "BTC 9000A"
msgstr "BTC 9000A"
-#: ../rules/base.xml.in.h:90
+#: ../rules/base.xml.in.h:92
msgid "BTC 9001AH"
msgstr "BTC 9001AH"
-#: ../rules/base.xml.in.h:91
+#: ../rules/base.xml.in.h:93
msgid "BTC 9019U"
msgstr "BTC 9019U"
-#: ../rules/base.xml.in.h:92
+#: ../rules/base.xml.in.h:94
msgid "BTC 9116U Mini Wireless Internet and Gaming"
msgstr "BTC 9116U Mini Wireless Internet and Gaming"
-#: ../rules/base.xml.in.h:93
+#: ../rules/base.xml.in.h:95
msgid "Backslash"
msgstr "Backslash"
# UE
-#: ../rules/base.xml.in.h:94
+#: ../rules/base.xml.in.h:96
msgid "Bangladesh"
msgstr "Bangladesh"
# Variante russa http://it.wikipedia.org/wiki/Baschiri
-#: ../rules/base.xml.in.h:95
+#: ../rules/base.xml.in.h:97
msgid "Bashkirian"
msgstr "Baschira"
# codice tre lettere per belgio
-#: ../rules/base.xml.in.h:96
+#: ../rules/base.xml.in.h:98
msgid "Bel"
msgstr "BEL"
# UE
-#: ../rules/base.xml.in.h:97
+#: ../rules/base.xml.in.h:99
msgid "Belarus"
msgstr "Bielorussia"
# UE
-#: ../rules/base.xml.in.h:98
+#: ../rules/base.xml.in.h:100
msgid "Belgium"
msgstr "Belgio"
-#: ../rules/base.xml.in.h:99
+#: ../rules/base.xml.in.h:101
msgid "BenQ X-Touch"
msgstr "BenQ X-Touch"
-#: ../rules/base.xml.in.h:100
+#: ../rules/base.xml.in.h:102
msgid "BenQ X-Touch 730"
msgstr "BenQ X-Touch 730"
-#: ../rules/base.xml.in.h:101
+#: ../rules/base.xml.in.h:103
msgid "BenQ X-Touch 800"
msgstr "BenQ X-Touch 800"
# variante per india
-#: ../rules/base.xml.in.h:102
+#: ../rules/base.xml.in.h:104
msgid "Bengali"
msgstr "Bengali"
# variante per bengali, credo sia fonetico (crf www.bengalinux.org)
-#: ../rules/base.xml.in.h:103
+#: ../rules/base.xml.in.h:105
msgid "Bengali Probhat"
msgstr "Bengali probhat"
# variante francese
-#: ../rules/base.xml.in.h:104
+#: ../rules/base.xml.in.h:106
msgid "Bepo, ergonomic, Dvorak way"
msgstr "Bepo, ergonomica, tipo Dvorak"
# variante francese
-#: ../rules/base.xml.in.h:105
+#: ../rules/base.xml.in.h:107
msgid "Bepo, ergonomic, Dvorak way, latin-9 only"
msgstr "Bepo, ergonomica, tipo Dvorak, solo latin-9"
# codice tre lettere per bangladesh
-#: ../rules/base.xml.in.h:106
+#: ../rules/base.xml.in.h:108
msgid "Bgd"
msgstr "BGD"
# codice tre lettere per bulgaria
-#: ../rules/base.xml.in.h:107
+#: ../rules/base.xml.in.h:109
msgid "Bgr"
msgstr "BGR"
# UE
-#: ../rules/base.xml.in.h:108
+#: ../rules/base.xml.in.h:110
msgid "Bhutan"
msgstr "Bhutan"
-#: ../rules/base.xml.in.h:109
+#: ../rules/base.xml.in.h:111
msgid "Biblical Hebrew (Tiro)"
msgstr "Ebreo biblico (Tiro)"
# codice tre lettere per bosnia-erz
-#: ../rules/base.xml.in.h:110
+#: ../rules/base.xml.in.h:112
msgid "Bih"
msgstr "BIH"
# codice tre lettere per bielorussia
-#: ../rules/base.xml.in.h:111
+#: ../rules/base.xml.in.h:113
msgid "Blr"
msgstr "BLR"
# UE
-#: ../rules/base.xml.in.h:112
+#: ../rules/base.xml.in.h:114
msgid "Bosnia and Herzegovina"
msgstr "Bosnia-Erzegovina"
-#: ../rules/base.xml.in.h:113
+#: ../rules/base.xml.in.h:115
msgid "Both Alt keys together"
msgstr "Entrambi i tasti Alt insieme"
-#: ../rules/base.xml.in.h:114
+#: ../rules/base.xml.in.h:116
msgid "Both Ctrl keys together"
msgstr "Entrambi i tasti Ctrl insieme"
-#: ../rules/base.xml.in.h:115
+#: ../rules/base.xml.in.h:117
msgid "Both Shift keys together"
msgstr "Entrambi i tasti Maiusc insieme"
-#: ../rules/base.xml.in.h:116
-msgid "Both Shift-Keys together toggle CapsLock"
+#: ../rules/base.xml.in.h:118
+msgid "Both Shift-Keys together toggle Caps Lock"
msgstr "Entrambi i tasti Maiusc insieme commutano BloccaMaiusc"
# UE
-#: ../rules/base.xml.in.h:117
+#: ../rules/base.xml.in.h:119
msgid "Botswana"
msgstr "Botswana"
-#: ../rules/base.xml.in.h:118
+#: ../rules/base.xml.in.h:120
msgid "Bra"
msgstr "BRA"
-#: ../rules/base.xml.in.h:119
+#: ../rules/base.xml.in.h:121
msgid "Braille"
msgstr "Braille"
# UE
-#: ../rules/base.xml.in.h:120
+#: ../rules/base.xml.in.h:122
msgid "Brazil"
msgstr "Brasile"
# bre in iso639
-#: ../rules/base.xml.in.h:121
+#: ../rules/base.xml.in.h:123
msgid "Breton"
msgstr "Bretone"
# Braille, shortDesc
-#: ../rules/base.xml.in.h:122
+#: ../rules/base.xml.in.h:124
msgid "Brl"
msgstr "Brl"
-#: ../rules/base.xml.in.h:123
+#: ../rules/base.xml.in.h:125
msgid "Brother Internet Keyboard"
msgstr "Brother Internet Keyboard"
# codice 3 lettere per bhutan
-#: ../rules/base.xml.in.h:124
+#: ../rules/base.xml.in.h:126
msgid "Btn"
msgstr "BTN"
# variante araba
-#: ../rules/base.xml.in.h:125
+#: ../rules/base.xml.in.h:127
msgid "Buckwalter"
msgstr "Buckwalter"
# UE
-#: ../rules/base.xml.in.h:126
+#: ../rules/base.xml.in.h:128
msgid "Bulgaria"
msgstr "Bulgaria"
# codice 3 lettere per botswana
-#: ../rules/base.xml.in.h:127
+#: ../rules/base.xml.in.h:129
msgid "Bwa"
msgstr "BWA"
# codice tre lettere per congo
-#: ../rules/base.xml.in.h:128
+#: ../rules/base.xml.in.h:130
msgid "COD"
msgstr "COD"
# variante pakistana
-#: ../rules/base.xml.in.h:129
+#: ../rules/base.xml.in.h:131
msgid "CRULP"
msgstr "CRULP"
-#: ../rules/base.xml.in.h:130
+#: ../rules/base.xml.in.h:132
msgid "Cambodia"
msgstr "Cambogia"
-#: ../rules/base.xml.in.h:131
+#: ../rules/base.xml.in.h:133
msgid "Can"
msgstr "CAN"
# UE
-#: ../rules/base.xml.in.h:132
+#: ../rules/base.xml.in.h:134
msgid "Canada"
msgstr "Canada"
-#: ../rules/base.xml.in.h:133
-msgid "CapsLock"
+#: ../rules/base.xml.in.h:135
+msgid "Caps Lock"
msgstr "BlocMaiusc"
# per come appare, tradurre il "to" è superfluo
-#: ../rules/base.xml.in.h:134
-msgid "CapsLock (to first layout), Shift+CapsLock (to last layout)"
+#: ../rules/base.xml.in.h:136
+msgid "Caps Lock (to first layout), Shift+Caps Lock (to last layout)"
msgstr "BlocMaiusc (prima disposizione), Maiusc+BlocMaiusc (ultima disposizione)"
-#: ../rules/base.xml.in.h:135
-msgid "CapsLock (while pressed), Alt+CapsLock does the original capslock action"
+#: ../rules/base.xml.in.h:137
+msgid "Caps Lock (while pressed), Alt+Caps Lock does the original capslock action"
msgstr "BlocMaiusc (mentre è premuto), Alt+BlocMaiusc esegue l'azione blocca maiuscole originale"
-#: ../rules/base.xml.in.h:136
-msgid "CapsLock acts as Shift with locking. Shift \"pauses\" CapsLock"
+#: ../rules/base.xml.in.h:138
+msgid "Caps Lock acts as Shift with locking. Shift \"pauses\" Caps Lock"
msgstr "BlocMaiusc agisce come Maiusc con il blocco. Maiusc \"mette in pausa\" BlocMaiusc"
-#: ../rules/base.xml.in.h:137
-msgid "CapsLock acts as Shift with locking. Shift doesn't affect CapsLock"
+#: ../rules/base.xml.in.h:139
+msgid "Caps Lock acts as Shift with locking. Shift doesn't affect Caps Lock"
msgstr "BlocMaiusc agisce come Maiusc con il blocco. Maiusc non ha effetto su BlocMaiusc"
-#: ../rules/base.xml.in.h:138
-msgid "CapsLock is disabled"
+#: ../rules/base.xml.in.h:140
+msgid "Caps Lock is disabled"
msgstr "BlocMaiusc è disabilitato"
# optionList: caps
# descrizione: CapsLock tweaks. "Internal" capitalization means capitalization
# using some internal tables. Otherwise "as Shift" - means using next group
-#: ../rules/base.xml.in.h:139
-msgid "CapsLock key behavior"
+#: ../rules/base.xml.in.h:141
+msgid "Caps Lock key behavior"
msgstr "Comportamento tasto BlocMaiusc"
-#: ../rules/base.xml.in.h:140
-msgid "CapsLock toggles Shift so all keys are affected"
+#: ../rules/base.xml.in.h:142
+msgid "Caps Lock toggles Shift so all keys are affected"
msgstr "BlocMaiusc commuta Maiusc così da avere effetto su tutti i tasti"
-#: ../rules/base.xml.in.h:141
-msgid "CapsLock toggles normal capitalization of alphabetic characters"
+#: ../rules/base.xml.in.h:143
+msgid "Caps Lock toggles normal capitalization of alphabetic characters"
msgstr "BlocMaiusc commuta l'uso normale delle lettere maiuscole dei caratteri alfabetici"
# "Internal" capitalization means capitalization using some internal tables.
# Otherwise "as Shift" - means using next group.
-#: ../rules/base.xml.in.h:142
-msgid "CapsLock uses internal capitalization. Shift \"pauses\" CapsLock"
+#: ../rules/base.xml.in.h:144
+msgid "Caps Lock uses internal capitalization. Shift \"pauses\" Caps Lock"
msgstr "BlocMaiusc fa uso interno delle lettere maiuscole. Maiusc \"mette in pausa\" BlocMaiusc"
-#: ../rules/base.xml.in.h:143
-msgid "CapsLock uses internal capitalization. Shift doesn't affect CapsLock"
+#: ../rules/base.xml.in.h:145
+msgid "Caps Lock uses internal capitalization. Shift doesn't affect Caps Lock"
msgstr "BlocMaiusc fa uso interno delle lettere maiuscole. Maiusc non ha effetto su BlocMaiusc"
# FIXME... trovare traduzione middle-dot
-#: ../rules/base.xml.in.h:144
+#: ../rules/base.xml.in.h:146
msgid "Catalan variant with middle-dot L"
msgstr "Variante catalano con L middle-dot"
# variante romena (wikipedia mette la gl)
-#: ../rules/base.xml.in.h:145
+#: ../rules/base.xml.in.h:147
msgid "Cedilla"
msgstr "Cediglia"
# codice tre lettere per la svizzera
-#: ../rules/base.xml.in.h:146
+#: ../rules/base.xml.in.h:148
msgid "Che"
msgstr "CHE"
# variante USA
-#: ../rules/base.xml.in.h:147
+#: ../rules/base.xml.in.h:149
msgid "Cherokee"
msgstr "Cherokee"
-#: ../rules/base.xml.in.h:148
+#: ../rules/base.xml.in.h:150
msgid "Cherry B.UNLIMITED"
msgstr "Cherry B.UNLIMITED"
-#: ../rules/base.xml.in.h:149
+#: ../rules/base.xml.in.h:151
msgid "Cherry Blue Line CyBo@rd"
msgstr "Cherry Blue Line CyBo@rd"
-#: ../rules/base.xml.in.h:150
+#: ../rules/base.xml.in.h:152
msgid "Cherry Blue Line CyBo@rd (alternate option)"
msgstr "Cherry Blue Line CyBo@rd (opzione alternativa)"
-#: ../rules/base.xml.in.h:151
+#: ../rules/base.xml.in.h:153
msgid "Cherry CyBo@rd USB-Hub"
msgstr "Cherry CyBo@rd USB-Hub"
-#: ../rules/base.xml.in.h:152
+#: ../rules/base.xml.in.h:154
msgid "Cherry CyMotion Expert"
msgstr "Cherry CyMotion Expert"
-#: ../rules/base.xml.in.h:153
+#: ../rules/base.xml.in.h:155
msgid "Cherry CyMotion Master Linux"
msgstr "Cherry CyMotion Master Linux"
-#: ../rules/base.xml.in.h:154
+#: ../rules/base.xml.in.h:156
msgid "Cherry CyMotion Master XPress"
msgstr "Cherry CyMotion Master XPress"
-#: ../rules/base.xml.in.h:155
+#: ../rules/base.xml.in.h:157
msgid "Chicony Internet Keyboard"
msgstr "Chicony Internet Keyboard"
-#: ../rules/base.xml.in.h:156
+#: ../rules/base.xml.in.h:158
msgid "Chicony KB-9885"
msgstr "Chicony KB-9885"
-#: ../rules/base.xml.in.h:157
+#: ../rules/base.xml.in.h:159
msgid "Chicony KU-0108"
msgstr "Chicony KU-0108"
-#: ../rules/base.xml.in.h:158
+#: ../rules/base.xml.in.h:160
msgid "Chicony KU-0420"
msgstr "Chicony KU-0420"
# UE
-#: ../rules/base.xml.in.h:159
+#: ../rules/base.xml.in.h:161
msgid "China"
msgstr "Cina"
# codice tre lettere per cina
-#: ../rules/base.xml.in.h:160
+#: ../rules/base.xml.in.h:162
msgid "Chn"
msgstr "CHN"
# variante russa
-#: ../rules/base.xml.in.h:161
+#: ../rules/base.xml.in.h:163
msgid "Chuvash"
msgstr "Chuvash"
# variante russa
-#: ../rules/base.xml.in.h:162
+#: ../rules/base.xml.in.h:164
msgid "Chuvash Latin"
msgstr "Chuvash latin"
-#: ../rules/base.xml.in.h:163
+#: ../rules/base.xml.in.h:165
msgid "Classic"
msgstr "Classica"
-#: ../rules/base.xml.in.h:164
+#: ../rules/base.xml.in.h:166
msgid "Classic Dvorak"
msgstr "Dvorak classica"
-#: ../rules/base.xml.in.h:165
+#: ../rules/base.xml.in.h:167
msgid "Classic, eliminate dead keys"
msgstr "Classica, tasti muti rimossi"
-#: ../rules/base.xml.in.h:166
+#: ../rules/base.xml.in.h:168
msgid "Classmate PC"
msgstr "Classmate PC"
-#: ../rules/base.xml.in.h:167
+#: ../rules/base.xml.in.h:169
msgid "CloGaelach"
msgstr "CloGaelach"
# variante USA
-#: ../rules/base.xml.in.h:168
+#: ../rules/base.xml.in.h:170
msgid "Colemak"
msgstr "Colemak"
-#: ../rules/base.xml.in.h:169
+#: ../rules/base.xml.in.h:171
msgid "Compaq Easy Access Keyboard"
msgstr "Compaq tastiera Easy Access"
-#: ../rules/base.xml.in.h:170
+#: ../rules/base.xml.in.h:172
msgid "Compaq Internet Keyboard (13 keys)"
msgstr "Compaq Internet Keyboard (13 tasti)"
-#: ../rules/base.xml.in.h:171
+#: ../rules/base.xml.in.h:173
msgid "Compaq Internet Keyboard (18 keys)"
msgstr "Compaq Internet Keyboard (18 tasti)"
-#: ../rules/base.xml.in.h:172
+#: ../rules/base.xml.in.h:174
msgid "Compaq Internet Keyboard (7 keys)"
msgstr "Compaq Internet Keyboard (7 tasti)"
-#: ../rules/base.xml.in.h:173
+#: ../rules/base.xml.in.h:175
msgid "Compaq iPaq Keyboard"
msgstr "Compaq tastiera iPaq"
# optionList: compose
# descrizione: Tweaking the position of the "Compose" key: mapping to
# existing PC keys
-#: ../rules/base.xml.in.h:174
+#: ../rules/base.xml.in.h:176
msgid "Compose key position"
msgstr "Posizione tasto Compose"
-#: ../rules/base.xml.in.h:175
+#: ../rules/base.xml.in.h:177
msgid "Congo, Democratic Republic of the"
msgstr "Congo, Repubblica Democratica del"
-#: ../rules/base.xml.in.h:176
+#: ../rules/base.xml.in.h:178
msgid "Control + Alt + Backspace"
msgstr "Control + Alt + Backspace"
-#: ../rules/base.xml.in.h:177
+#: ../rules/base.xml.in.h:179
msgid "Control is mapped to Alt keys, Alt is mapped to Win keys"
msgstr "Control è applicato ai tasti Alt, Alt è applicato ai tasti Win"
-#: ../rules/base.xml.in.h:178
+#: ../rules/base.xml.in.h:180
msgid "Control is mapped to Win keys (and the usual Ctrl keys)"
msgstr "Control è applicato ai tasti Win (e ai soliti tasti Ctrl)"
-#: ../rules/base.xml.in.h:179
+#: ../rules/base.xml.in.h:181
msgid "Creative Desktop Wireless 7000"
msgstr "Creative Desktop Wireless 7000"
# variante rumena
-#: ../rules/base.xml.in.h:180
+#: ../rules/base.xml.in.h:182
msgid "Crimean Tatar (Dobruca-1 Q)"
msgstr "Tatar crimea (Dobruca-1 Q)"
-#: ../rules/base.xml.in.h:181
+#: ../rules/base.xml.in.h:183
msgid "Crimean Tatar (Dobruca-2 Q)"
msgstr "Tatar crimea (Dobruca-2 Q)"
-#: ../rules/base.xml.in.h:182
+#: ../rules/base.xml.in.h:184
msgid "Crimean Tatar (Turkish Alt-Q)"
msgstr "Tatar crimea (turca Alt-Q)"
-#: ../rules/base.xml.in.h:183
+#: ../rules/base.xml.in.h:185
msgid "Crimean Tatar (Turkish F)"
msgstr "Tatar crimea (turca F)"
-#: ../rules/base.xml.in.h:184
+#: ../rules/base.xml.in.h:186
msgid "Crimean Tatar (Turkish Q)"
msgstr "Tatar crimea (turca Q)"
# UE
-#: ../rules/base.xml.in.h:185
+#: ../rules/base.xml.in.h:187
msgid "Croatia"
msgstr "Croazia"
# optionList: ctrl
# descrizione: Tweaking the position of the "Ctrl" key
-#: ../rules/base.xml.in.h:186
+#: ../rules/base.xml.in.h:188
msgid "Ctrl key position"
msgstr "Posizione tasto Ctrl"
-#: ../rules/base.xml.in.h:187
+#: ../rules/base.xml.in.h:189
msgid "Ctrl+Shift"
msgstr "Ctrl+Maiusc"
# UE
-#: ../rules/base.xml.in.h:188
+#: ../rules/base.xml.in.h:190
msgid "Cyrillic"
msgstr "Cirillico"
-#: ../rules/base.xml.in.h:189
+#: ../rules/base.xml.in.h:191
msgid "Cyrillic with guillemets"
msgstr "Cirillico con caporali («»)"
-#: ../rules/base.xml.in.h:190
+#: ../rules/base.xml.in.h:192
msgid "Cyrillic, Z and ZHE swapped"
msgstr "Cirillico, Z e ZHE scambiati"
-#: ../rules/base.xml.in.h:191
+#: ../rules/base.xml.in.h:193
msgid "Cze"
msgstr "CZE"
# UE
-#: ../rules/base.xml.in.h:192
+#: ../rules/base.xml.in.h:194
msgid "Czechia"
msgstr "Repubblica Ceca"
# variante per lingua Kalmyk
-#: ../rules/base.xml.in.h:193
+#: ../rules/base.xml.in.h:195
msgid "DOS"
msgstr "DOS"
-#: ../rules/base.xml.in.h:194
+#: ../rules/base.xml.in.h:196
msgid "DTK2000"
msgstr "DTK2000"
@@ -898,7 +908,7 @@ msgstr "DTK2000"
# rispetto alla tedesca normale cambiano due caratteri, ` e ^
# ah, le tastiere tedesche non hanno le lettere accentate, per cui
# probabilemente 'sta cosa è importate per il Compose
-#: ../rules/base.xml.in.h:195
+#: ../rules/base.xml.in.h:197
msgid "Dead acute"
msgstr "Acuto muto"
@@ -907,660 +917,660 @@ msgstr "Acuto muto"
# rispetto alla tedesca normale cambia un carattere, ^
# ah, le tastiere tedesche non hanno le lettere accentate, per cui
# probabilemente 'sta cosa è importate per il Compose
-#: ../rules/base.xml.in.h:196
+#: ../rules/base.xml.in.h:198
msgid "Dead grave acute"
msgstr "Acuto grave muto"
-#: ../rules/base.xml.in.h:197
+#: ../rules/base.xml.in.h:199
msgid "Default numeric keypad keys"
msgstr "Tasti predefiniti nel tastierino numerico"
-#: ../rules/base.xml.in.h:198
+#: ../rules/base.xml.in.h:200
msgid "Dell"
msgstr "Dell"
-#: ../rules/base.xml.in.h:199
+#: ../rules/base.xml.in.h:201
msgid "Dell 101-key PC"
msgstr "Dell 101 tasti PC"
-#: ../rules/base.xml.in.h:200
+#: ../rules/base.xml.in.h:202
msgid "Dell Laptop/notebook Inspiron 6xxx/8xxx"
msgstr "Dell portatile Inspiron 6xxx/8xxx"
-#: ../rules/base.xml.in.h:201
+#: ../rules/base.xml.in.h:203
msgid "Dell Laptop/notebook Precision M series"
msgstr "Dell portatile serie Precision M"
-#: ../rules/base.xml.in.h:202
+#: ../rules/base.xml.in.h:204
msgid "Dell Latitude series laptop"
msgstr "Dell portatile serie Latitude"
-#: ../rules/base.xml.in.h:203
+#: ../rules/base.xml.in.h:205
msgid "Dell Precision M65"
msgstr "Dell Precision M65"
-#: ../rules/base.xml.in.h:204
+#: ../rules/base.xml.in.h:206
msgid "Dell SK-8125"
msgstr "Dell SK-8125"
-#: ../rules/base.xml.in.h:205
+#: ../rules/base.xml.in.h:207
msgid "Dell SK-8135"
msgstr "Dell SK-8135"
-#: ../rules/base.xml.in.h:206
+#: ../rules/base.xml.in.h:208
msgid "Dell USB Multimedia Keyboard"
msgstr "Dell tastiera USB multimediale"
# UE
-#: ../rules/base.xml.in.h:207
+#: ../rules/base.xml.in.h:209
msgid "Denmark"
msgstr "Danimarca"
# codice tre lettere per germania<
-#: ../rules/base.xml.in.h:208
+#: ../rules/base.xml.in.h:210
msgid "Deu"
msgstr "DEU"
-#: ../rules/base.xml.in.h:209
+#: ../rules/base.xml.in.h:211
msgid "Dexxa Wireless Desktop Keyboard"
msgstr "Dexxa tastiera Wireless Desktop"
-#: ../rules/base.xml.in.h:210
+#: ../rules/base.xml.in.h:212
msgid "Diamond 9801 / 9802 series"
msgstr "Diamond serie 9801/9802"
# codice tre lettere per Danimarca
-#: ../rules/base.xml.in.h:211
+#: ../rules/base.xml.in.h:213
msgid "Dnk"
msgstr "DNK"
-#: ../rules/base.xml.in.h:212
+#: ../rules/base.xml.in.h:214
msgid "Dvorak"
msgstr "Dvorak"
-#: ../rules/base.xml.in.h:213
+#: ../rules/base.xml.in.h:215
msgid "Dvorak (UK Punctuation)"
msgstr "Dvorak (punteggiatura UK)"
-#: ../rules/base.xml.in.h:214
+#: ../rules/base.xml.in.h:216
msgid "Dvorak alternative international (no dead keys)"
msgstr "Dvorak internazionale alternativa (senza tasti muti)"
-#: ../rules/base.xml.in.h:215
+#: ../rules/base.xml.in.h:217
msgid "Dvorak international (with dead keys)"
msgstr "Dvorak internazionale (con tasti muti)"
# variante polacca
-#: ../rules/base.xml.in.h:216
+#: ../rules/base.xml.in.h:218
msgid "Dvorak, Polish quotes on key 1"
msgstr "Dvorak, virgolette polacche sul tasto 1"
# da controllare..
-#: ../rules/base.xml.in.h:217
+#: ../rules/base.xml.in.h:219
msgid "Dvorak, Polish quotes on quotemark key"
msgstr "Dvorak, virgolette polacche sul tasto quotemark"
-#: ../rules/base.xml.in.h:218
+#: ../rules/base.xml.in.h:220
msgid "E"
msgstr "E"
-#: ../rules/base.xml.in.h:219
+#: ../rules/base.xml.in.h:221
msgid "Eastern"
msgstr "Orientale"
-#: ../rules/base.xml.in.h:220
+#: ../rules/base.xml.in.h:222
msgid "Eliminate dead keys"
msgstr "Tasti muti esclusi"
-#: ../rules/base.xml.in.h:221
+#: ../rules/base.xml.in.h:223
msgid "Enable extra typographic characters"
msgstr "Abilitare caratteri tipografici aggiuntivi"
# variante canadese
-#: ../rules/base.xml.in.h:222
+#: ../rules/base.xml.in.h:224
msgid "English"
msgstr "Inglese"
-#: ../rules/base.xml.in.h:223
+#: ../rules/base.xml.in.h:225
msgid "English (USA International)"
msgstr "Inglese (internazionale USA)"
-#: ../rules/base.xml.in.h:224
+#: ../rules/base.xml.in.h:226
msgid "English (USA Macintosh)"
msgstr "Inglese (Macintosh USA)"
-#: ../rules/base.xml.in.h:225
+#: ../rules/base.xml.in.h:227
msgid "Ennyah DKB-1008"
msgstr "Ennyah DKB-1008"
# lasciato enter, come nome di segnale
# sono due uno è enter, l'altro return
-#: ../rules/base.xml.in.h:226
+#: ../rules/base.xml.in.h:228
msgid "Enter on keypad"
msgstr "Enter sul tastierino numerico"
# descrizione breve per Esperanto, usato codice iso639 tre lettere
-#: ../rules/base.xml.in.h:227
+#: ../rules/base.xml.in.h:229
msgid "Epo"
msgstr "EPO"
-#: ../rules/base.xml.in.h:228
+#: ../rules/base.xml.in.h:230
msgid "Ergonomic"
msgstr "Ergonomica"
# codice tre lettere per spagna
-#: ../rules/base.xml.in.h:229
+#: ../rules/base.xml.in.h:231
msgid "Esp"
msgstr "ESP"
-#: ../rules/base.xml.in.h:230
+#: ../rules/base.xml.in.h:232
msgid "Esperanto"
msgstr "Esperanto"
# codice tre lettere per estonia
-#: ../rules/base.xml.in.h:231
+#: ../rules/base.xml.in.h:233
msgid "Est"
msgstr "EST"
# UE
-#: ../rules/base.xml.in.h:232
+#: ../rules/base.xml.in.h:234
msgid "Estonia"
msgstr "Estonia"
# codice tre lettere per etiopia
-#: ../rules/base.xml.in.h:233
+#: ../rules/base.xml.in.h:235
msgid "Eth"
msgstr "ETH"
# UE
-#: ../rules/base.xml.in.h:234
+#: ../rules/base.xml.in.h:236
msgid "Ethiopia"
msgstr "Etiopia"
-#: ../rules/base.xml.in.h:235
+#: ../rules/base.xml.in.h:237
msgid "Everex STEPnote"
msgstr "Everex STEPnote"
# Ewe: variante del Ghana
-#: ../rules/base.xml.in.h:236
+#: ../rules/base.xml.in.h:238
msgid "Ewe"
msgstr "Ewe"
-#: ../rules/base.xml.in.h:237
+#: ../rules/base.xml.in.h:239
msgid "Extended"
msgstr "Estesa"
-#: ../rules/base.xml.in.h:238
+#: ../rules/base.xml.in.h:240
msgid "Extended - Winkeys"
msgstr "Estesa - tasti Win"
-#: ../rules/base.xml.in.h:239
+#: ../rules/base.xml.in.h:241
msgid "Extended Backslash"
msgstr "Backslash esteso"
-#: ../rules/base.xml.in.h:240
+#: ../rules/base.xml.in.h:242
msgid "F-letter (F) variant"
msgstr "Variante lettera-F (F)"
-#: ../rules/base.xml.in.h:241
+#: ../rules/base.xml.in.h:243
msgid "FL90"
msgstr "FL90"
-#: ../rules/base.xml.in.h:242
+#: ../rules/base.xml.in.h:244
msgid "Faroe Islands"
msgstr "Isole Fær Øer"
-#: ../rules/base.xml.in.h:243
+#: ../rules/base.xml.in.h:245
msgid "Fin"
msgstr "FIN"
# UE
-#: ../rules/base.xml.in.h:244
+#: ../rules/base.xml.in.h:246
msgid "Finland"
msgstr "Finlandia"
#. This assumes the KP_ abstract symbols are actually useful for some apps
#. The description needs to be rewritten
-#: ../rules/base.xml.in.h:247
+#: ../rules/base.xml.in.h:249
msgid "Four-level key with abstract separators"
msgstr "Tasto di quarto livello con separatori astratti"
-#: ../rules/base.xml.in.h:248
+#: ../rules/base.xml.in.h:250
msgid "Four-level key with comma"
msgstr "Tasto di quarto livello con virgola"
-#: ../rules/base.xml.in.h:249
+#: ../rules/base.xml.in.h:251
msgid "Four-level key with dot"
msgstr "Tasto di quarto livello con punto"
-#: ../rules/base.xml.in.h:250
+#: ../rules/base.xml.in.h:252
msgid "Four-level key with dot, latin-9 restriction"
msgstr "Tasto di quarto livello con punto, restrizione latin-9"
# http://en.wikipedia.org/wiki/Momayyez
-#: ../rules/base.xml.in.h:251
+#: ../rules/base.xml.in.h:253
msgid "Four-level key with momayyez"
msgstr "Tasto di quarto livello con momayyez"
-#: ../rules/base.xml.in.h:252
+#: ../rules/base.xml.in.h:254
msgid "Fra"
msgstr "FRA"
# UE
-#: ../rules/base.xml.in.h:253
+#: ../rules/base.xml.in.h:255
msgid "France"
msgstr "Francia"
# lasciata la forma francese, magari ha un senso particolare
# variante del mali
-#: ../rules/base.xml.in.h:254
+#: ../rules/base.xml.in.h:256
msgid "Français (France Alternative)"
msgstr "Français (alternativa Francia)"
-#: ../rules/base.xml.in.h:255
+#: ../rules/base.xml.in.h:257
msgid "French"
msgstr "Francese"
-#: ../rules/base.xml.in.h:256
+#: ../rules/base.xml.in.h:258
msgid "French (Macintosh)"
msgstr "Francese (Macintosh)"
-#: ../rules/base.xml.in.h:257
+#: ../rules/base.xml.in.h:259
msgid "French (legacy)"
msgstr "Francese (vecchia maniera)"
-#: ../rules/base.xml.in.h:258
+#: ../rules/base.xml.in.h:260
msgid "French Dvorak"
msgstr "Francese Dvorak"
-#: ../rules/base.xml.in.h:259
+#: ../rules/base.xml.in.h:261
msgid "French, Sun dead keys"
msgstr "Francese, tasti muti Sun"
-#: ../rules/base.xml.in.h:260
+#: ../rules/base.xml.in.h:262
msgid "French, eliminate dead keys"
msgstr "Francese, tasti muti rimossi"
# codice tre lettere per Isole Fær Øer
-#: ../rules/base.xml.in.h:261
+#: ../rules/base.xml.in.h:263
msgid "Fro"
msgstr "FRO"
-#: ../rules/base.xml.in.h:262
+#: ../rules/base.xml.in.h:264
msgid "Fujitsu-Siemens Computers AMILO laptop"
msgstr "Portatile AMILO Fujitsu-Siemens Computers"
# Fula: variante del Ghana
-#: ../rules/base.xml.in.h:263
+#: ../rules/base.xml.in.h:265
msgid "Fula"
msgstr "Fula"
# Codice tre lettere per U.K.
-#: ../rules/base.xml.in.h:264
+#: ../rules/base.xml.in.h:266
msgid "GBr"
msgstr "GBR"
# variante per tastiera ghana
-#: ../rules/base.xml.in.h:265
+#: ../rules/base.xml.in.h:267
msgid "GILLBT"
msgstr "GILLBT"
# Ga: variante del ghana
-#: ../rules/base.xml.in.h:266
+#: ../rules/base.xml.in.h:268
msgid "Ga"
msgstr "Ga"
-#: ../rules/base.xml.in.h:267
+#: ../rules/base.xml.in.h:269
msgid "Generic 101-key PC"
msgstr "Generica 101 tasti PC"
-#: ../rules/base.xml.in.h:268
+#: ../rules/base.xml.in.h:270
msgid "Generic 102-key (Intl) PC"
msgstr "Generica 102 tasti (Intl) PC"
-#: ../rules/base.xml.in.h:269
+#: ../rules/base.xml.in.h:271
msgid "Generic 104-key PC"
msgstr "Generica 104 tasti PC"
-#: ../rules/base.xml.in.h:270
+#: ../rules/base.xml.in.h:272
msgid "Generic 105-key (Intl) PC"
msgstr "Generica 105 tasti (Intl) PC"
-#: ../rules/base.xml.in.h:271
+#: ../rules/base.xml.in.h:273
msgid "Genius Comfy KB-12e"
msgstr "Genius Comfy KB-12e"
-#: ../rules/base.xml.in.h:272
+#: ../rules/base.xml.in.h:274
msgid "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
msgstr "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
-#: ../rules/base.xml.in.h:273
+#: ../rules/base.xml.in.h:275
msgid "Genius Comfy KB-21e-Scroll"
msgstr "Genius Comfy KB-21e-Scroll"
-#: ../rules/base.xml.in.h:274
+#: ../rules/base.xml.in.h:276
msgid "Genius KB-19e NB"
msgstr "Genius KB-19e NB"
-#: ../rules/base.xml.in.h:275
+#: ../rules/base.xml.in.h:277
msgid "Genius KKB-2050HS"
msgstr "Genius KKB-2050HS"
-#: ../rules/base.xml.in.h:276
+#: ../rules/base.xml.in.h:278
msgid "Geo"
msgstr "GEO"
# UE
-#: ../rules/base.xml.in.h:277
+#: ../rules/base.xml.in.h:279
msgid "Georgia"
msgstr "Georgia"
# Curiosamente è una variante delle tastiere italiane...
-#: ../rules/base.xml.in.h:278
+#: ../rules/base.xml.in.h:280
msgid "Georgian"
msgstr "Georgiana"
# Questa invece variante delle tastiere francesi
-#: ../rules/base.xml.in.h:279
+#: ../rules/base.xml.in.h:281
msgid "Georgian AZERTY Tskapo"
msgstr "Georgiana AZERTY Tskapo"
-#: ../rules/base.xml.in.h:280
+#: ../rules/base.xml.in.h:282
msgid "German (Macintosh)"
msgstr "Tedesca (Macintosh)"
-#: ../rules/base.xml.in.h:281
+#: ../rules/base.xml.in.h:283
msgid "German, Sun dead keys"
msgstr "Tedesca, tasti muti Sun"
-#: ../rules/base.xml.in.h:282
+#: ../rules/base.xml.in.h:284
msgid "German, eliminate dead keys"
msgstr "Tedesca, tasti muti rimossi"
# UE
-#: ../rules/base.xml.in.h:283
+#: ../rules/base.xml.in.h:285
msgid "Germany"
msgstr "Germania"
# shortDesc per Ghana, usato codice ISO
-#: ../rules/base.xml.in.h:284
+#: ../rules/base.xml.in.h:286
msgid "Gha"
msgstr "GHA"
-#: ../rules/base.xml.in.h:285
+#: ../rules/base.xml.in.h:287
msgid "Ghana"
msgstr "Ghana"
# codice tre lettere per guinea
-#: ../rules/base.xml.in.h:286
+#: ../rules/base.xml.in.h:288
msgid "Gin"
msgstr "GIN"
# codice tre lettere per grecia
-#: ../rules/base.xml.in.h:287
+#: ../rules/base.xml.in.h:289
msgid "Grc"
msgstr "GRC"
# UE
-#: ../rules/base.xml.in.h:288
+#: ../rules/base.xml.in.h:290
msgid "Greece"
msgstr "Grecia"
-#: ../rules/base.xml.in.h:289
+#: ../rules/base.xml.in.h:291
msgid "Guinea"
msgstr "Guinea"
# Gujarati: variante india
-#: ../rules/base.xml.in.h:290
+#: ../rules/base.xml.in.h:292
msgid "Gujarati"
msgstr "Gujarati"
# Gurmukhi: variante india
-#: ../rules/base.xml.in.h:291
+#: ../rules/base.xml.in.h:293
msgid "Gurmukhi"
msgstr "Gurmukhi"
# Gurmukhi: variante india
-#: ../rules/base.xml.in.h:292
+#: ../rules/base.xml.in.h:294
msgid "Gurmukhi Jhelum"
msgstr "Gurmukhi Jhelum"
-#: ../rules/base.xml.in.h:293
+#: ../rules/base.xml.in.h:295
msgid "Gyration"
msgstr "Gyration"
-#: ../rules/base.xml.in.h:294
+#: ../rules/base.xml.in.h:296
msgid "Happy Hacking Keyboard"
msgstr "Happy Hacking Keyboard"
-#: ../rules/base.xml.in.h:295
+#: ../rules/base.xml.in.h:297
msgid "Happy Hacking Keyboard for Mac"
msgstr "Happy Hacking Keyboard per Mac"
# Hausa: variante Ghana
-#: ../rules/base.xml.in.h:296
+#: ../rules/base.xml.in.h:298
msgid "Hausa"
msgstr "Hausa"
-#: ../rules/base.xml.in.h:297
+#: ../rules/base.xml.in.h:299
msgid "Hewlett-Packard Internet Keyboard"
msgstr "Hewlett-Packard Internet Keyboard"
# omesso Notebook
-#: ../rules/base.xml.in.h:298
+#: ../rules/base.xml.in.h:300
msgid "Hewlett-Packard Mini 110 Notebook"
msgstr "Hewlett-Packard Mini 110"
-#: ../rules/base.xml.in.h:299
+#: ../rules/base.xml.in.h:301
msgid "Hewlett-Packard Omnibook 500 FA"
msgstr "Hewlett-Packard Omnibook 500 FA"
-#: ../rules/base.xml.in.h:300
+#: ../rules/base.xml.in.h:302
msgid "Hewlett-Packard Omnibook 5xx"
msgstr "Hewlett-Packard Omnibook 5xx"
-#: ../rules/base.xml.in.h:301
+#: ../rules/base.xml.in.h:303
msgid "Hewlett-Packard Omnibook 6000/6100"
msgstr "Hewlett-Packard Omnibook 6000/6100"
-#: ../rules/base.xml.in.h:302
+#: ../rules/base.xml.in.h:304
msgid "Hewlett-Packard Omnibook XE3 GC"
msgstr "Hewlett-Packard Omnibook XE3 GC"
-#: ../rules/base.xml.in.h:303
+#: ../rules/base.xml.in.h:305
msgid "Hewlett-Packard Omnibook XE3 GF"
msgstr "Hewlett-Packard Omnibook XE3 GF"
-#: ../rules/base.xml.in.h:304
+#: ../rules/base.xml.in.h:306
msgid "Hewlett-Packard Omnibook XT1000"
msgstr "Hewlett-Packard Omnibook XT1000"
-#: ../rules/base.xml.in.h:305
+#: ../rules/base.xml.in.h:307
msgid "Hewlett-Packard Pavilion ZT11xx"
msgstr "Hewlett-Packard Pavillion ZT11xx"
-#: ../rules/base.xml.in.h:306
+#: ../rules/base.xml.in.h:308
msgid "Hewlett-Packard Pavilion dv5"
msgstr "Hewlett-Packard Pavillion dv5"
-#: ../rules/base.xml.in.h:307
+#: ../rules/base.xml.in.h:309
msgid "Hewlett-Packard SK-250x Multimedia Keyboard"
msgstr "Hewlett-Packard Multimedia Keyboard SK-250x"
-#: ../rules/base.xml.in.h:308
+#: ../rules/base.xml.in.h:310
msgid "Hewlett-Packard nx9020"
msgstr "Hewlett-Packard nx9020"
-#: ../rules/base.xml.in.h:309
+#: ../rules/base.xml.in.h:311
msgid "Hexadecimal"
msgstr "Esadecimale"
# Hindi Bolnagri: variante India
-#: ../rules/base.xml.in.h:310
+#: ../rules/base.xml.in.h:312
msgid "Hindi Bolnagri"
msgstr "Hindi Bolnagri"
# variante indiana
-#: ../rules/base.xml.in.h:311
+#: ../rules/base.xml.in.h:313
msgid "Hindi Wx"
msgstr "Hindi Wx"
# variante ukraina
-#: ../rules/base.xml.in.h:312
+#: ../rules/base.xml.in.h:314
msgid "Homophonic"
msgstr "Omofonica"
-#: ../rules/base.xml.in.h:313
+#: ../rules/base.xml.in.h:315
msgid "Honeywell Euroboard"
msgstr "Honeywell Euroboard"
# codice tre lettere per croazia
-#: ../rules/base.xml.in.h:314
+#: ../rules/base.xml.in.h:316
msgid "Hrv"
msgstr "HRV"
-#: ../rules/base.xml.in.h:315
+#: ../rules/base.xml.in.h:317
msgid "Hun"
msgstr "HUN"
# UE
-#: ../rules/base.xml.in.h:316
+#: ../rules/base.xml.in.h:318
msgid "Hungary"
msgstr "Ungheria"
-#: ../rules/base.xml.in.h:317
+#: ../rules/base.xml.in.h:319
msgid "Hyper is mapped to Win-keys"
msgstr "Hyper è applicato ai tasti Win"
-#: ../rules/base.xml.in.h:318
+#: ../rules/base.xml.in.h:320
msgid "IBM (LST 1205-92)"
msgstr "IBM (LST 1205-92)"
-#: ../rules/base.xml.in.h:319
+#: ../rules/base.xml.in.h:321
msgid "IBM Rapid Access"
msgstr "IBM Rapid Access"
-#: ../rules/base.xml.in.h:320
+#: ../rules/base.xml.in.h:322
msgid "IBM Rapid Access II"
msgstr "IBM Rapid Access II"
-#: ../rules/base.xml.in.h:321
+#: ../rules/base.xml.in.h:323
msgid "IBM Space Saver"
msgstr "IBM Space Saver"
-#: ../rules/base.xml.in.h:322
+#: ../rules/base.xml.in.h:324
msgid "IBM ThinkPad 560Z/600/600E/A22E"
msgstr "IBM ThinkPad 560Z/600/600E/A22E"
-#: ../rules/base.xml.in.h:323
+#: ../rules/base.xml.in.h:325
msgid "IBM ThinkPad R60/T60/R61/T61"
msgstr "IBM ThinkPad R60/T60/R61/T61"
-#: ../rules/base.xml.in.h:324
+#: ../rules/base.xml.in.h:326
msgid "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
msgstr "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
-#: ../rules/base.xml.in.h:325
+#: ../rules/base.xml.in.h:327
msgid "ISO Alternate"
msgstr "ISO alternativa"
# UE
-#: ../rules/base.xml.in.h:326
+#: ../rules/base.xml.in.h:328
msgid "Iceland"
msgstr "Islanda"
# Igbo: variante Nigeria
-#: ../rules/base.xml.in.h:327
+#: ../rules/base.xml.in.h:329
msgid "Igbo"
msgstr "Igbo"
# variante LatAm
-#: ../rules/base.xml.in.h:328
+#: ../rules/base.xml.in.h:330
msgid "Include dead tilde"
msgstr "Tilde muta inclusa"
-#: ../rules/base.xml.in.h:329
+#: ../rules/base.xml.in.h:331
msgid "Ind"
msgstr "IND"
# UE
-#: ../rules/base.xml.in.h:330
+#: ../rules/base.xml.in.h:332
msgid "India"
msgstr "India"
-#: ../rules/base.xml.in.h:331
+#: ../rules/base.xml.in.h:333
msgid "International (AltGr dead keys)"
msgstr "Internazionale (tasti muti AltGr)"
-#: ../rules/base.xml.in.h:332
+#: ../rules/base.xml.in.h:334
msgid "International (with dead keys)"
msgstr "Internazionale (con tasti muti)"
# Inuktitut: variante canadese
-#: ../rules/base.xml.in.h:333
+#: ../rules/base.xml.in.h:335
msgid "Inuktitut"
msgstr "Inuktitut"
# UE
-#: ../rules/base.xml.in.h:334
+#: ../rules/base.xml.in.h:336 ../rules/base.extras.xml.in.h:8
msgid "Iran"
msgstr "Iran"
# UE
-#: ../rules/base.xml.in.h:335
+#: ../rules/base.xml.in.h:337
msgid "Iraq"
msgstr "Iraq"
# UE
-#: ../rules/base.xml.in.h:336
+#: ../rules/base.xml.in.h:338
msgid "Ireland"
msgstr "Irlanda"
# codice tre lettere per irlanda
-#: ../rules/base.xml.in.h:337
+#: ../rules/base.xml.in.h:339
msgid "Irl"
msgstr "IRL"
# codice tre lettere per Iran
-#: ../rules/base.xml.in.h:338
+#: ../rules/base.xml.in.h:340
msgid "Irn"
msgstr "IRN"
# codice tre lettere per iraq
-#: ../rules/base.xml.in.h:339
+#: ../rules/base.xml.in.h:341
msgid "Irq"
msgstr "IRQ"
# Codice tre lettere per islanda<
-#: ../rules/base.xml.in.h:340
+#: ../rules/base.xml.in.h:342
msgid "Isl"
msgstr "ISL"
# codice tre lettere per israele<
-#: ../rules/base.xml.in.h:341
+#: ../rules/base.xml.in.h:343
msgid "Isr"
msgstr "ISR"
# UE
-#: ../rules/base.xml.in.h:342
+#: ../rules/base.xml.in.h:344
msgid "Israel"
msgstr "Israele"
-#: ../rules/base.xml.in.h:343
+#: ../rules/base.xml.in.h:345
msgid "Ita"
msgstr "ITA"
# UE
-#: ../rules/base.xml.in.h:344
+#: ../rules/base.xml.in.h:346
msgid "Italy"
msgstr "Italia"
# UE
-#: ../rules/base.xml.in.h:345
+#: ../rules/base.xml.in.h:347
msgid "Japan"
msgstr "Giappone"
-#: ../rules/base.xml.in.h:346
+#: ../rules/base.xml.in.h:348
msgid "Japan (PC-98xx Series)"
msgstr "Giappone (Serie PC-98xx)"
@@ -1570,1682 +1580,1696 @@ msgstr "Giappone (Serie PC-98xx)"
# <b>Japanese keyboard options</b>
# [*] Kana Lock key is locking
# [ ] NICOLA-F style Backspace
-#: ../rules/base.xml.in.h:347
+#: ../rules/base.xml.in.h:349
msgid "Japanese keyboard options"
msgstr "Opzioni tastiera giapponese"
-#: ../rules/base.xml.in.h:348
+#: ../rules/base.xml.in.h:350
msgid "Jpn"
msgstr "JPN"
# variante russa, in iso639 è XAL
-#: ../rules/base.xml.in.h:349
+#: ../rules/base.xml.in.h:351
msgid "Kalmyk"
msgstr "Kalmyk"
# Kana: variante giappone
-#: ../rules/base.xml.in.h:350
+#: ../rules/base.xml.in.h:352
msgid "Kana"
msgstr "Kana"
-#: ../rules/base.xml.in.h:351
+#: ../rules/base.xml.in.h:353
msgid "Kana Lock key is locking"
msgstr "Il tasto Kana Lock sta bloccando"
# variante india
-#: ../rules/base.xml.in.h:352
+#: ../rules/base.xml.in.h:354
msgid "Kannada"
msgstr "Kannada"
# Kashubian: variante polonia
-#: ../rules/base.xml.in.h:353
+#: ../rules/base.xml.in.h:355
msgid "Kashubian"
msgstr "Kashubian"
# shortDesc per Kazakistan
-#: ../rules/base.xml.in.h:354
+#: ../rules/base.xml.in.h:356
msgid "Kaz"
msgstr "KAZ"
-#: ../rules/base.xml.in.h:355
+#: ../rules/base.xml.in.h:357
msgid "Kazakh with Russian"
msgstr "Kazaka con russo"
-#: ../rules/base.xml.in.h:356
+#: ../rules/base.xml.in.h:358
msgid "Kazakhstan"
msgstr "Kazakistan"
# codice tre lettere per Kenia
-#: ../rules/base.xml.in.h:357
+#: ../rules/base.xml.in.h:359
msgid "Ken"
msgstr "KEN"
-#: ../rules/base.xml.in.h:358
+#: ../rules/base.xml.in.h:360
msgid "Kenya"
msgstr "Kenya"
-#: ../rules/base.xml.in.h:359
+#: ../rules/base.xml.in.h:361
msgid "Key sequence to kill the X server"
msgstr "Sequenza di tasti per terminare il server X"
# optionList: lv3
# descrizione: The key combination used to choose the 3rd (and 4th, together
# with Shift) level of symbols
-#: ../rules/base.xml.in.h:360
+#: ../rules/base.xml.in.h:362
msgid "Key to choose 3rd level"
msgstr "Tasto per scegliere il terzo livello"
-#: ../rules/base.xml.in.h:361
+#: ../rules/base.xml.in.h:363
msgid "Key to choose 5th level"
msgstr "Tasto per scegliere il quinto livello"
# optionList: grp
# descrizione: The key combination used to switch between groups
-#: ../rules/base.xml.in.h:362
+#: ../rules/base.xml.in.h:364
msgid "Key(s) to change layout"
msgstr "Tasto o tasti per cambiare disposizione"
-#: ../rules/base.xml.in.h:363
+#: ../rules/base.xml.in.h:365
msgid "Keytronic FlexPro"
msgstr "Keytronic FlexPro"
# shortDesc per Kyrgyzstan
-#: ../rules/base.xml.in.h:364
+#: ../rules/base.xml.in.h:366
msgid "Kgz"
msgstr "KGZ"
# shortDesc per Cambogia, usato codide ISO
-#: ../rules/base.xml.in.h:365
+#: ../rules/base.xml.in.h:367
msgid "Khm"
msgstr "KHM"
# variante tastiera kenya
-#: ../rules/base.xml.in.h:366
+#: ../rules/base.xml.in.h:368
msgid "Kikuyu"
msgstr "Kikuyu"
+# nome di modello
+#: ../rules/base.xml.in.h:369
+msgid "Kinesis"
+msgstr "Kinesis"
+
# Komi: variante russa
-#: ../rules/base.xml.in.h:367
+#: ../rules/base.xml.in.h:370
msgid "Komi"
msgstr "Komi"
# shortDesc per corea del sud, usato codice iso
-#: ../rules/base.xml.in.h:368
+#: ../rules/base.xml.in.h:371
msgid "Kor"
msgstr "KOR"
-#: ../rules/base.xml.in.h:369
+#: ../rules/base.xml.in.h:372
msgid "Korea, Republic of"
msgstr "Corea, Repubblica di"
# variante canadese
-#: ../rules/base.xml.in.h:370
+#: ../rules/base.xml.in.h:373
msgid "Ktunaxa"
msgstr "Ktunaxa"
-#: ../rules/base.xml.in.h:371
+#: ../rules/base.xml.in.h:374
msgid "Kurdish, (F)"
msgstr "Curda, (F)"
-#: ../rules/base.xml.in.h:372
+#: ../rules/base.xml.in.h:375
msgid "Kurdish, Arabic-Latin"
msgstr "Curda, arabo-latina"
-#: ../rules/base.xml.in.h:373
+#: ../rules/base.xml.in.h:376
msgid "Kurdish, Latin Alt-Q"
msgstr "Curda, latina Alt-Q"
-#: ../rules/base.xml.in.h:374
+#: ../rules/base.xml.in.h:377
msgid "Kurdish, Latin Q"
msgstr "Curda, latina Q"
# UE
-#: ../rules/base.xml.in.h:375
+#: ../rules/base.xml.in.h:378
msgid "Kyrgyzstan"
msgstr "Kirghizistan"
# Short description per Latin American
# include una lunga serie di nazioni: AR, Bo, CL, CO, CR, CU, DO...
#
-#: ../rules/base.xml.in.h:376
+#: ../rules/base.xml.in.h:379
msgid "LAm"
msgstr "LAm"
# variante lituana
-#: ../rules/base.xml.in.h:377
+#: ../rules/base.xml.in.h:380
msgid "LEKP"
msgstr "LEKP"
# variante lituana
-#: ../rules/base.xml.in.h:378
+#: ../rules/base.xml.in.h:381
msgid "LEKPa"
msgstr "LEKPa"
-#: ../rules/base.xml.in.h:379
+#: ../rules/base.xml.in.h:382
msgid "Lao"
msgstr "LAO"
# UE
-#: ../rules/base.xml.in.h:380
+#: ../rules/base.xml.in.h:383
msgid "Laos"
msgstr "Laos"
-#: ../rules/base.xml.in.h:381
+#: ../rules/base.xml.in.h:384
msgid "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard"
msgstr "Compaq Laptop tastiera per portatile (es. Armada)"
-#: ../rules/base.xml.in.h:382
+#: ../rules/base.xml.in.h:385
msgid "Laptop/notebook Compaq (eg. Presario) Internet Keyboard"
msgstr "Compaq Internet Keyboard per portatile (es. Presario)"
-#: ../rules/base.xml.in.h:383
+#: ../rules/base.xml.in.h:386
msgid "Laptop/notebook eMachines m68xx"
msgstr "Portatile eMachines m68xx"
-#: ../rules/base.xml.in.h:384
+#: ../rules/base.xml.in.h:387
msgid "Latin"
msgstr "Latino"
-#: ../rules/base.xml.in.h:385
+#: ../rules/base.xml.in.h:388
msgid "Latin American"
msgstr "Latino americano"
-#: ../rules/base.xml.in.h:386
+#: ../rules/base.xml.in.h:389
msgid "Latin Unicode"
msgstr "Latino Unicode"
-#: ../rules/base.xml.in.h:387
+#: ../rules/base.xml.in.h:390
msgid "Latin Unicode qwerty"
msgstr "Latino Unicode qwerty"
-#: ../rules/base.xml.in.h:388
+#: ../rules/base.xml.in.h:391
msgid "Latin qwerty"
msgstr "Latino qwerty"
-#: ../rules/base.xml.in.h:389
+#: ../rules/base.xml.in.h:392
msgid "Latin unicode"
msgstr "Latino unicode"
-#: ../rules/base.xml.in.h:390
+#: ../rules/base.xml.in.h:393
msgid "Latin unicode qwerty"
msgstr "Latino unicode qwerty"
-#: ../rules/base.xml.in.h:391
+#: ../rules/base.xml.in.h:394
msgid "Latin with guillemets"
msgstr "Latino con caporali («»)"
# UE
-#: ../rules/base.xml.in.h:392
+#: ../rules/base.xml.in.h:395
msgid "Latvia"
msgstr "Lettonia"
-#: ../rules/base.xml.in.h:393
+#: ../rules/base.xml.in.h:396
msgid "Layout toggle on multiply/divide key"
msgstr "Commuta disposizione sul tasto moltiplica/dividi"
-#: ../rules/base.xml.in.h:394
+#: ../rules/base.xml.in.h:397
msgid "Left Alt"
msgstr "Alt sinistro"
-#: ../rules/base.xml.in.h:395
+#: ../rules/base.xml.in.h:398
msgid "Left Alt (while pressed)"
msgstr "Alt sinistro (mentre è premuto)"
-#: ../rules/base.xml.in.h:396
+#: ../rules/base.xml.in.h:399
msgid "Left Alt is swapped with Left Win"
msgstr "Alt sinistro è scambiato con Win sinistro"
-#: ../rules/base.xml.in.h:397
+#: ../rules/base.xml.in.h:400
msgid "Left Ctrl"
msgstr "Ctrl sinistro"
-#: ../rules/base.xml.in.h:398
+#: ../rules/base.xml.in.h:401
msgid "Left Ctrl (to first layout), Right Ctrl (to last layout)"
msgstr "Ctrl sinistro (per prima disposizione), Ctrl destro (per ultima disposizione)"
-#: ../rules/base.xml.in.h:399
+#: ../rules/base.xml.in.h:402
msgid "Left Ctrl+Left Shift"
msgstr "Ctrl sinistro+Maiusc sinistro"
-#: ../rules/base.xml.in.h:400
+#: ../rules/base.xml.in.h:403
msgid "Left Shift"
msgstr "Maiusc sinistro"
-#: ../rules/base.xml.in.h:401
+#: ../rules/base.xml.in.h:404
msgid "Left Win"
msgstr "Win sinistro"
-#: ../rules/base.xml.in.h:402
+#: ../rules/base.xml.in.h:405
msgid "Left Win (to first layout), Right Win/Menu (to last layout)"
msgstr "Win sinistro (prima disposizione), Win/Menu destro (ultima disposizione)"
-#: ../rules/base.xml.in.h:403
+#: ../rules/base.xml.in.h:406
msgid "Left Win (while pressed)"
msgstr "Win sinistro (mentre è premuto)"
# tasto per scegliere il quinto livello: |...|
-#: ../rules/base.xml.in.h:404
+#: ../rules/base.xml.in.h:407
msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "Win sinistro sceglie il quinto livello, blocca quando premuto assieme a un altro selettore del quinto livello"
# tasto per scegliere il quinto livello: |...|
-#: ../rules/base.xml.in.h:405
+#: ../rules/base.xml.in.h:408
msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "Win sinistro sceglie il quinto livello, blocca quando premuto assieme a un altro selettore del quinto livello, una pressione rilascia il blocco"
-#: ../rules/base.xml.in.h:406
+#: ../rules/base.xml.in.h:409
msgid "Left hand"
msgstr "Mano sinistra"
-#: ../rules/base.xml.in.h:407
+#: ../rules/base.xml.in.h:410
msgid "Left handed Dvorak"
msgstr "Dvorak mancina"
-#: ../rules/base.xml.in.h:408
+#: ../rules/base.xml.in.h:411
msgid "Legacy"
msgstr "Vecchia maniera"
-#: ../rules/base.xml.in.h:409
+#: ../rules/base.xml.in.h:412
msgid "Legacy Wang 724"
msgstr "Wang 724 vecchia maniera"
#. Actually, with KP_SEPARATOR, as the old keypad(comma)
-#: ../rules/base.xml.in.h:411
+#: ../rules/base.xml.in.h:414
msgid "Legacy key with comma"
msgstr "Tasto vecchia maniera con virgola"
-#: ../rules/base.xml.in.h:412
+#: ../rules/base.xml.in.h:415
msgid "Legacy key with dot"
msgstr "Tasto vecchia maniera con punto"
# UE
-#: ../rules/base.xml.in.h:413
+#: ../rules/base.xml.in.h:416
msgid "Lithuania"
msgstr "Lituania"
# codice tre lettere per sri lanka
-#: ../rules/base.xml.in.h:414
+#: ../rules/base.xml.in.h:417
msgid "Lka"
msgstr "LKA"
-#: ../rules/base.xml.in.h:415
+#: ../rules/base.xml.in.h:418
msgid "Logitech Access Keyboard"
msgstr "Logitech Access Keyboard"
-#: ../rules/base.xml.in.h:416
+#: ../rules/base.xml.in.h:419
msgid "Logitech Cordless Desktop"
msgstr "Logitech Cordless Desktop"
-#: ../rules/base.xml.in.h:417
+#: ../rules/base.xml.in.h:420
msgid "Logitech Cordless Desktop (alternate option)"
msgstr "Logitech Cordless Desktop (opzione alternativa)"
-#: ../rules/base.xml.in.h:418
+#: ../rules/base.xml.in.h:421
msgid "Logitech Cordless Desktop EX110"
msgstr "Logitech Cordless Desktop EX110"
-#: ../rules/base.xml.in.h:419
+#: ../rules/base.xml.in.h:422
msgid "Logitech Cordless Desktop LX-300"
msgstr "Logitech Cordless Desktop LX-300"
-#: ../rules/base.xml.in.h:420
+#: ../rules/base.xml.in.h:423
msgid "Logitech Cordless Desktop Navigator"
msgstr "Logitech Cordless Desktop Navigator"
-#: ../rules/base.xml.in.h:421
+#: ../rules/base.xml.in.h:424
msgid "Logitech Cordless Desktop Optical"
msgstr "Logitech Cordless Desktop Optical"
-#: ../rules/base.xml.in.h:422
+#: ../rules/base.xml.in.h:425
msgid "Logitech Cordless Desktop Pro (alternate option 2)"
msgstr "Logitech Cordless Desktop Pro (opzione alternativa 2)"
-#: ../rules/base.xml.in.h:423
+#: ../rules/base.xml.in.h:426
msgid "Logitech Cordless Desktop iTouch"
msgstr "Logitech Cordless Desktop iTouch"
-#: ../rules/base.xml.in.h:424
+#: ../rules/base.xml.in.h:427
msgid "Logitech Cordless Freedom/Desktop Navigator"
msgstr "Logitech Cordless Freedom/Desktop Navigator"
-#: ../rules/base.xml.in.h:425
+#: ../rules/base.xml.in.h:428
msgid "Logitech G15 extra keys via G15daemon"
msgstr "Tasti aggiuntivi Logitech attraverso G15daemon"
-#: ../rules/base.xml.in.h:426
+#: ../rules/base.xml.in.h:429
msgid "Logitech Generic Keyboard"
msgstr "Logitech tastiera generica"
-#: ../rules/base.xml.in.h:427
+#: ../rules/base.xml.in.h:430
msgid "Logitech Internet 350 Keyboard"
msgstr "Logitech Internet 350 Keyboard"
-#: ../rules/base.xml.in.h:428
+#: ../rules/base.xml.in.h:431
msgid "Logitech Internet Keyboard"
msgstr "Logitech Internet Keyboard"
-#: ../rules/base.xml.in.h:429
+#: ../rules/base.xml.in.h:432
msgid "Logitech Internet Navigator Keyboard"
msgstr "Logitech Internet Navigator Keyboard"
-#: ../rules/base.xml.in.h:430
+#: ../rules/base.xml.in.h:433
msgid "Logitech Media Elite Keyboard"
msgstr "Logitech Media Elite Keyboard"
-#: ../rules/base.xml.in.h:431
+#: ../rules/base.xml.in.h:434
msgid "Logitech Ultra-X Cordless Media Desktop Keyboard"
msgstr "Logitech Ultra-X Cordless Media Desktop Keyboard"
-#: ../rules/base.xml.in.h:432
+#: ../rules/base.xml.in.h:435
msgid "Logitech Ultra-X Keyboard"
msgstr "Logitech Ultra-X Keyboard"
-#: ../rules/base.xml.in.h:433
+#: ../rules/base.xml.in.h:436
msgid "Logitech diNovo Edge Keyboard"
msgstr "Logitech diNovo Edge Keyboard"
-#: ../rules/base.xml.in.h:434
+#: ../rules/base.xml.in.h:437
msgid "Logitech diNovo Keyboard"
msgstr "Logitech diNovo Keyboard"
-#: ../rules/base.xml.in.h:435
+#: ../rules/base.xml.in.h:438
msgid "Logitech iTouch"
msgstr "Logitech iTouch"
-#: ../rules/base.xml.in.h:436
+#: ../rules/base.xml.in.h:439
msgid "Logitech iTouch Cordless Keyboard (model Y-RB6)"
msgstr "Logitech iTouch Cordless Keyboard (modello Y-RB6)"
-#: ../rules/base.xml.in.h:437
+#: ../rules/base.xml.in.h:440
msgid "Logitech iTouch Internet Navigator Keyboard SE"
msgstr "Logitech iTouch Internet Navigator Keyboard SE"
-#: ../rules/base.xml.in.h:438
+#: ../rules/base.xml.in.h:441
msgid "Logitech iTouch Internet Navigator Keyboard SE (USB)"
msgstr "Logitech iTouch Internet Navigator Keyboard SE (USB)"
# codice iso639: dsb
# FIXME tradotto come in iso-codes, ma inferiore nun se po' vede...
-#: ../rules/base.xml.in.h:439
+#: ../rules/base.xml.in.h:442
msgid "Lower Sorbian"
msgstr "Sorabo inferiore"
# FIXME tradotto come in iso-codes, ma inferiore nun se po' vede...
-#: ../rules/base.xml.in.h:440
+#: ../rules/base.xml.in.h:443
msgid "Lower Sorbian (qwertz)"
msgstr "Sorabo inferiore (qwertz)"
# codice tre lettere per lituania
-#: ../rules/base.xml.in.h:441
+#: ../rules/base.xml.in.h:444
msgid "Ltu"
msgstr "LTU"
# codice tre lettere per lettonia
-#: ../rules/base.xml.in.h:442
+#: ../rules/base.xml.in.h:445
msgid "Lva"
msgstr "LVA"
# variante della Georgia
-#: ../rules/base.xml.in.h:443
+#: ../rules/base.xml.in.h:446
msgid "MESS"
msgstr "MESS"
# shortDesc per Montenegro, usato ISO
-#: ../rules/base.xml.in.h:444
+#: ../rules/base.xml.in.h:447
msgid "MNE"
msgstr "MNE"
-#: ../rules/base.xml.in.h:445
+#: ../rules/base.xml.in.h:448
msgid "MacBook/MacBook Pro"
msgstr "MacBook/MacBook Pro"
-#: ../rules/base.xml.in.h:446
+#: ../rules/base.xml.in.h:449
msgid "MacBook/MacBook Pro (Intl)"
msgstr "MacBook/MacBook Pro (Intl)"
-#: ../rules/base.xml.in.h:447
+#: ../rules/base.xml.in.h:450
msgid "Macedonia"
msgstr "Macedonia"
-#: ../rules/base.xml.in.h:448
+#: ../rules/base.xml.in.h:451
msgid "Macintosh"
msgstr "Macintosh"
-#: ../rules/base.xml.in.h:449
+#: ../rules/base.xml.in.h:452
+msgid "Macintosh (International)"
+msgstr "Macintosh (internazionale)"
+
+#: ../rules/base.xml.in.h:453
msgid "Macintosh Old"
msgstr "Macintosh Old"
-#: ../rules/base.xml.in.h:450
+#: ../rules/base.xml.in.h:454
msgid "Macintosh, Sun dead keys"
msgstr "Macintosh, tasti muti Sun"
-#: ../rules/base.xml.in.h:451
+#: ../rules/base.xml.in.h:455
msgid "Macintosh, eliminate dead keys"
msgstr "Macintosh, tasti muti rimossi"
-#: ../rules/base.xml.in.h:452
-msgid "Make CapsLock an additional Backspace"
+#: ../rules/base.xml.in.h:456
+msgid "Make Caps Lock an additional Backspace"
msgstr "Rendere BlocMaiusc un Backspace aggiuntivo"
-#: ../rules/base.xml.in.h:453
-msgid "Make CapsLock an additional Ctrl"
+#: ../rules/base.xml.in.h:457
+msgid "Make Caps Lock an additional Ctrl"
msgstr "Rendere BlocMaiusc un Ctrl aggiuntivo"
-#: ../rules/base.xml.in.h:454
-msgid "Make CapsLock an additional ESC"
+#: ../rules/base.xml.in.h:458
+msgid "Make Caps Lock an additional ESC"
msgstr "Rendere BlocMaiusc un ESC aggiuntivo"
-#: ../rules/base.xml.in.h:455
-msgid "Make CapsLock an additional Hyper"
+#: ../rules/base.xml.in.h:459
+msgid "Make Caps Lock an additional Hyper"
msgstr "Rendere BlocMaiusc un Hyper aggiuntivo"
-#: ../rules/base.xml.in.h:456
-msgid "Make CapsLock an additional NumLock"
+#: ../rules/base.xml.in.h:460
+msgid "Make Caps Lock an additional Num Lock"
msgstr "Rendere BlocMaiusc un BlocNum aggiuntivo"
-#: ../rules/base.xml.in.h:457
-msgid "Make CapsLock an additional Super"
+#: ../rules/base.xml.in.h:461
+msgid "Make Caps Lock an additional Super"
msgstr "Rendere BlocMaiusc un Super aggiuntivo"
-#: ../rules/base.xml.in.h:458
+#: ../rules/base.xml.in.h:462
msgid "Malayalam"
msgstr "Malayalam"
-#: ../rules/base.xml.in.h:459
+#: ../rules/base.xml.in.h:463
msgid "Malayalam Lalitha"
msgstr "Malayalam Lalitha"
# UE
-#: ../rules/base.xml.in.h:460
+#: ../rules/base.xml.in.h:464
msgid "Maldives"
msgstr "Maldive"
-#: ../rules/base.xml.in.h:461
+#: ../rules/base.xml.in.h:465
msgid "Mali"
msgstr "Mali"
# UE
-#: ../rules/base.xml.in.h:462
+#: ../rules/base.xml.in.h:466
msgid "Malta"
msgstr "Malta"
-#: ../rules/base.xml.in.h:463
+#: ../rules/base.xml.in.h:467
msgid "Maltese keyboard with US layout"
msgstr "Tastiera maltese con disposizione US"
-#: ../rules/base.xml.in.h:464
+#: ../rules/base.xml.in.h:468
msgid "Mao"
msgstr "Mao"
-#: ../rules/base.xml.in.h:465
+#: ../rules/base.xml.in.h:469
msgid "Maori"
msgstr "Maori"
# codice tre lettere per maldive
-#: ../rules/base.xml.in.h:466
+#: ../rules/base.xml.in.h:470
msgid "Mdv"
msgstr "MKV"
-#: ../rules/base.xml.in.h:467
+#: ../rules/base.xml.in.h:471
msgid "Memorex MX1998"
msgstr "Memorex MX1998"
-#: ../rules/base.xml.in.h:468
+#: ../rules/base.xml.in.h:472
msgid "Memorex MX2500 EZ-Access Keyboard"
msgstr "Memorex MX2500 EZ-Access Keyboard"
-#: ../rules/base.xml.in.h:469
+#: ../rules/base.xml.in.h:473
msgid "Memorex MX2750"
msgstr "Memorex MX2750"
# il tasto Menu
-#: ../rules/base.xml.in.h:470
+#: ../rules/base.xml.in.h:474
msgid "Menu"
msgstr "Menu"
-#: ../rules/base.xml.in.h:471
+#: ../rules/base.xml.in.h:475
msgid "Meta is mapped to Left Win"
msgstr "Meta è applicato al tasto Win sinistro"
-#: ../rules/base.xml.in.h:472
+#: ../rules/base.xml.in.h:476
msgid "Meta is mapped to Win keys"
msgstr "Meta è applicato ai tasti Win"
-#: ../rules/base.xml.in.h:473
+#: ../rules/base.xml.in.h:477
msgid "Microsoft Comfort Curve Keyboard 2000"
msgstr "Microsoft Comfort Curve Keyboard 2000"
-#: ../rules/base.xml.in.h:474
+#: ../rules/base.xml.in.h:478
msgid "Microsoft Internet Keyboard"
msgstr "Microsoft Internet Keyboard"
-#: ../rules/base.xml.in.h:475
+#: ../rules/base.xml.in.h:479
msgid "Microsoft Internet Keyboard Pro, Swedish"
msgstr "Microsoft Internet Keyboard Pro, svedese"
-#: ../rules/base.xml.in.h:476
+#: ../rules/base.xml.in.h:480
msgid "Microsoft Natural"
msgstr "Microsoft Natural"
-#: ../rules/base.xml.in.h:477
+#: ../rules/base.xml.in.h:481
msgid "Microsoft Natural Keyboard Elite"
msgstr "Microsoft Natural Keyboard Elite"
-#: ../rules/base.xml.in.h:478
+#: ../rules/base.xml.in.h:482
msgid "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
msgstr "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
-#: ../rules/base.xml.in.h:479
+#: ../rules/base.xml.in.h:483
msgid "Microsoft Natural Keyboard Pro OEM"
msgstr "Microsoft Natural Keyboard Pro OEM"
-#: ../rules/base.xml.in.h:480
+#: ../rules/base.xml.in.h:484
msgid "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
msgstr "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
-#: ../rules/base.xml.in.h:481
+#: ../rules/base.xml.in.h:485
msgid "Microsoft Natural Wireless Ergonomic Keyboard 7000"
msgstr "Microsoft Natural Wireless Ergonomic Keyboard 7000"
-#: ../rules/base.xml.in.h:482
+#: ../rules/base.xml.in.h:486
msgid "Microsoft Office Keyboard"
msgstr "Microsoft Office Keyboard"
-#: ../rules/base.xml.in.h:483
+#: ../rules/base.xml.in.h:487
msgid "Microsoft Wireless Multimedia Keyboard 1.0A"
msgstr "Microsoft Wireless Multimedia Keyboard 1.0A"
# optionList: (vari)
# descrizione: (nessuna)
-#: ../rules/base.xml.in.h:484
+#: ../rules/base.xml.in.h:488
msgid "Miscellaneous compatibility options"
msgstr "Opzioni varie di compatibilità"
# codice tre lettere per macedonia
-#: ../rules/base.xml.in.h:485
+#: ../rules/base.xml.in.h:489
msgid "Mkd"
msgstr "MKD"
-#: ../rules/base.xml.in.h:486
+#: ../rules/base.xml.in.h:490
msgid "Mli"
msgstr "MLI"
# codice tre lettere per malta
-#: ../rules/base.xml.in.h:487
+#: ../rules/base.xml.in.h:491
msgid "Mlt"
msgstr "MLT"
# codice tre lettere per birmania
-#: ../rules/base.xml.in.h:488
+#: ../rules/base.xml.in.h:492
msgid "Mmr"
msgstr "MMR"
# codice tre lettere per mongolia
-#: ../rules/base.xml.in.h:489
+#: ../rules/base.xml.in.h:493
msgid "Mng"
msgstr "MNG"
-#: ../rules/base.xml.in.h:490
+#: ../rules/base.xml.in.h:494
msgid "Mongolia"
msgstr "Mongolia"
-#: ../rules/base.xml.in.h:491
+#: ../rules/base.xml.in.h:495
msgid "Montenegro"
msgstr "Montenegro"
-#: ../rules/base.xml.in.h:492
+#: ../rules/base.xml.in.h:496
msgid "Morocco"
msgstr "Marocco"
-#: ../rules/base.xml.in.h:493
+#: ../rules/base.xml.in.h:497
msgid "Multilingual"
msgstr "Multilingue"
-#: ../rules/base.xml.in.h:494
+#: ../rules/base.xml.in.h:498
msgid "Multilingual, first part"
msgstr "Multilingue, prima parte"
-#: ../rules/base.xml.in.h:495
+#: ../rules/base.xml.in.h:499
msgid "Multilingual, second part"
msgstr "Multilingue, seconda parte"
# UE
-#: ../rules/base.xml.in.h:496
+#: ../rules/base.xml.in.h:500
msgid "Myanmar"
msgstr "Birmania"
-#: ../rules/base.xml.in.h:497
+#: ../rules/base.xml.in.h:501
msgid "NICOLA-F style Backspace"
msgstr "Backspace stile NICOLA-F"
# variante pakistana
-#: ../rules/base.xml.in.h:498
+#: ../rules/base.xml.in.h:502
msgid "NLA"
msgstr "NLA"
# variante brasiliana
-#: ../rules/base.xml.in.h:499
+#: ../rules/base.xml.in.h:503
msgid "Nativo"
msgstr "Nativo"
# variante brasiliana
-#: ../rules/base.xml.in.h:500
+#: ../rules/base.xml.in.h:504
msgid "Nativo for Esperanto"
msgstr "Nativo per Esperanto"
# variante brasiliana
-#: ../rules/base.xml.in.h:501
+#: ../rules/base.xml.in.h:505
msgid "Nativo for USA keyboards"
msgstr "Nativo per tastiere USA"
# variante tetheska.... ehm tedesca
-#: ../rules/base.xml.in.h:502
+#: ../rules/base.xml.in.h:506
msgid "Neo 2"
msgstr "Neo 2"
-#: ../rules/base.xml.in.h:503
+#: ../rules/base.xml.in.h:507
msgid "Nepal"
msgstr "Nepal"
# UE
-#: ../rules/base.xml.in.h:504
+#: ../rules/base.xml.in.h:508
msgid "Netherlands"
msgstr "Paesi Bassi"
# variante bulgare
-#: ../rules/base.xml.in.h:505
+#: ../rules/base.xml.in.h:509
msgid "New phonetic"
msgstr "Fonetica nuova"
# codice tre lettere per Nigeria
-#: ../rules/base.xml.in.h:506
+#: ../rules/base.xml.in.h:510
msgid "Nga"
msgstr "NGA"
-#: ../rules/base.xml.in.h:507
+#: ../rules/base.xml.in.h:511
msgid "Nigeria"
msgstr "Nigeria"
# codice tre lettere per paesi bassi
-#: ../rules/base.xml.in.h:508
+#: ../rules/base.xml.in.h:512
msgid "Nld"
msgstr "NLD"
-#: ../rules/base.xml.in.h:509
+#: ../rules/base.xml.in.h:513
msgid "Non-breakable space character at fourth level"
msgstr "Carattere Spazio non-interrompibile al quarto livello"
-#: ../rules/base.xml.in.h:510
+#: ../rules/base.xml.in.h:514
msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level"
msgstr "Carattere Spazio non-interrompibile al quarto livello, carattere Spazio sottile non-interrompibile al sesto livello"
-#: ../rules/base.xml.in.h:511
+#: ../rules/base.xml.in.h:515
msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)"
msgstr "Carattere Spazio non-interrompibile al quarto livello, carattere Spazio sottile non-interrompibile al sesto livello (attraverso Ctrl+Maiusc)"
-#: ../rules/base.xml.in.h:512
+#: ../rules/base.xml.in.h:516
msgid "Non-breakable space character at second level"
msgstr "Carattere Spazio non-interrompibile al secondo livello"
-#: ../rules/base.xml.in.h:513
+#: ../rules/base.xml.in.h:517
msgid "Non-breakable space character at third level"
msgstr "Carattere Spazio non-interrompibile al terzo livello"
-#: ../rules/base.xml.in.h:514
+#: ../rules/base.xml.in.h:518
msgid "Non-breakable space character at third level, nothing at fourth level"
msgstr "Carattere Spazio non-interrompibile al terzo livello, niente al quarto livello"
-#: ../rules/base.xml.in.h:515
+#: ../rules/base.xml.in.h:519
msgid "Non-breakable space character at third level, thin non-breakable space character at fourth level"
msgstr "Carattere Spazio non-interrompibile al terzo livello, carattere Spazio sottile non-interrompibile al quarto livello"
# codice tre lettere per norvegia
-#: ../rules/base.xml.in.h:516
+#: ../rules/base.xml.in.h:520
msgid "Nor"
msgstr "NOR"
-#: ../rules/base.xml.in.h:517
+#: ../rules/base.xml.in.h:521
msgid "Northern Saami"
msgstr "Saami settentrinale"
-#: ../rules/base.xml.in.h:518
+#: ../rules/base.xml.in.h:522
msgid "Northern Saami, eliminate dead keys"
msgstr "Saami settentrionale, tasti muti rimossi"
-#: ../rules/base.xml.in.h:519
+#: ../rules/base.xml.in.h:523
msgid "Northgate OmniKey 101"
msgstr "Northgate OmniKey 101"
# UE
-#: ../rules/base.xml.in.h:520
+#: ../rules/base.xml.in.h:524
msgid "Norway"
msgstr "Norvegia"
# codice tre lettere per nepal
-#: ../rules/base.xml.in.h:521
+#: ../rules/base.xml.in.h:525
msgid "Npl"
msgstr "NPL"
-#: ../rules/base.xml.in.h:522
-msgid "NumLock"
+#: ../rules/base.xml.in.h:526
+msgid "Num Lock"
msgstr "BlocNum"
# optionList: kpdl
# descrizione: Select a keypad KPDL key variant
-#: ../rules/base.xml.in.h:523
+#: ../rules/base.xml.in.h:527
msgid "Numeric keypad delete key behaviour"
msgstr "Comportamento tasto Canc su tastierino numerico"
-#: ../rules/base.xml.in.h:524
+#: ../rules/base.xml.in.h:528
msgid "Numeric keypad keys work as with Mac"
msgstr "I tasti del tastierino numerico operano come nei Mac"
# optionList: keypad
# descrizione: Select a keypad type
-#: ../rules/base.xml.in.h:525
+#: ../rules/base.xml.in.h:529
msgid "Numeric keypad layout selection"
msgstr "Selezione disposizione tastierino numerico"
-#: ../rules/base.xml.in.h:526
+#: ../rules/base.xml.in.h:530
msgid "OADG 109A"
msgstr "OADG 109A"
-#: ../rules/base.xml.in.h:527
+#: ../rules/base.xml.in.h:531
msgid "OLPC"
msgstr "OLPC"
-#: ../rules/base.xml.in.h:528
+#: ../rules/base.xml.in.h:532
msgid "OLPC Dari"
msgstr "OLPC Dari"
-#: ../rules/base.xml.in.h:529
+#: ../rules/base.xml.in.h:533
msgid "OLPC Pashto"
msgstr "OLPC Pashto"
-#: ../rules/base.xml.in.h:530
+#: ../rules/base.xml.in.h:534
msgid "OLPC Southern Uzbek"
msgstr "OLPC Uzbeco meridionale"
# variante francese
-#: ../rules/base.xml.in.h:531
+#: ../rules/base.xml.in.h:535
msgid "Occitan"
msgstr "Occitana"
# Variante irlandese
-#: ../rules/base.xml.in.h:532
+#: ../rules/base.xml.in.h:536
msgid "Ogham"
msgstr "Ogham"
-#: ../rules/base.xml.in.h:533
+#: ../rules/base.xml.in.h:537
msgid "Ogham IS434"
msgstr "Ogham IS434"
# variante bangladesh
-#: ../rules/base.xml.in.h:534
+#: ../rules/base.xml.in.h:538
msgid "Oriya"
msgstr "Oriya"
-#: ../rules/base.xml.in.h:535
+#: ../rules/base.xml.in.h:539
msgid "Ortek MCK-800 MM/Internet keyboard"
msgstr "Ortek MCK-800 MM/Internet keyboard"
-#: ../rules/base.xml.in.h:536
+#: ../rules/base.xml.in.h:540
msgid "Ossetian"
msgstr "Osseta"
-#: ../rules/base.xml.in.h:537
+#: ../rules/base.xml.in.h:541
msgid "Ossetian, Winkeys"
msgstr "Osseta, Winkeys"
-#: ../rules/base.xml.in.h:538
+#: ../rules/base.xml.in.h:542
msgid "Ossetian, legacy"
msgstr "Osseta, vecchia maniera"
-#: ../rules/base.xml.in.h:539
+#: ../rules/base.xml.in.h:543
msgid "PC-98xx Series"
msgstr "Serie PC-98xx"
-#: ../rules/base.xml.in.h:540
+#: ../rules/base.xml.in.h:544
msgid "Pak"
msgstr "PAK"
# UE
-#: ../rules/base.xml.in.h:541
+#: ../rules/base.xml.in.h:545
msgid "Pakistan"
msgstr "Pakistan"
# http://it.wikipedia.org/wiki/Lingua_rutena
-#: ../rules/base.xml.in.h:542
+#: ../rules/base.xml.in.h:546
msgid "Pannonian Rusyn Homophonic"
msgstr "Rutena pannonica omofonica"
-#: ../rules/base.xml.in.h:543
+#: ../rules/base.xml.in.h:547
msgid "Pashto"
msgstr "Pashto"
# Variante tailandese
-#: ../rules/base.xml.in.h:544
+#: ../rules/base.xml.in.h:548
msgid "Pattachote"
msgstr "Pattachote"
# posizione del tasto compose: |...|Pause
-#: ../rules/base.xml.in.h:545
+#: ../rules/base.xml.in.h:549
msgid "Pause"
msgstr "Pausa"
-#: ../rules/base.xml.in.h:546
+#: ../rules/base.xml.in.h:550
msgid "Persian, with Persian Keypad"
msgstr "Persiana, con tastierino numerico persiano"
-#: ../rules/base.xml.in.h:547
+#: ../rules/base.xml.in.h:551
msgid "Phonetic"
msgstr "Fonetico"
# variante russa
-#: ../rules/base.xml.in.h:548
+#: ../rules/base.xml.in.h:552
msgid "Phonetic Winkeys"
msgstr "Fonetica tasti Win"
# codice tre lettere per Polonia
-#: ../rules/base.xml.in.h:549
+#: ../rules/base.xml.in.h:553
msgid "Pol"
msgstr "POL"
# UE
-#: ../rules/base.xml.in.h:550
+#: ../rules/base.xml.in.h:554
msgid "Poland"
msgstr "Polonia"
# Variante greca
-#: ../rules/base.xml.in.h:551
+#: ../rules/base.xml.in.h:555
msgid "Polytonic"
msgstr "Politonica"
# UE
-#: ../rules/base.xml.in.h:552
+#: ../rules/base.xml.in.h:556
msgid "Portugal"
msgstr "Portogallo"
-#: ../rules/base.xml.in.h:553
+#: ../rules/base.xml.in.h:557
msgid "Probhat"
msgstr "Probhat"
-#: ../rules/base.xml.in.h:554
+#: ../rules/base.xml.in.h:558
msgid "Programmer Dvorak"
msgstr "Dvorak per programmatori"
-#: ../rules/base.xml.in.h:555
+#: ../rules/base.xml.in.h:559
msgid "Propeller Voyager (KTEZ-1000)"
msgstr "Propeller Voyager (KTEZ-1000)"
# codice tre lettere per portogallo
-#: ../rules/base.xml.in.h:556
+#: ../rules/base.xml.in.h:560
msgid "Prt"
msgstr "PRT"
# Posizione del tasto compose: |...|
# nelle tastiere italiane è Stamp
-#: ../rules/base.xml.in.h:557
+#: ../rules/base.xml.in.h:561
msgid "PrtSc"
msgstr "Stamp"
-#: ../rules/base.xml.in.h:558
+#: ../rules/base.xml.in.h:562
msgid "QTronix Scorpius 98N+"
msgstr "QTronix Scorpius 98N+"
-#: ../rules/base.xml.in.h:559
+#: ../rules/base.xml.in.h:563
msgid "Right Alt"
msgstr "Alt destro"
-#: ../rules/base.xml.in.h:560
+#: ../rules/base.xml.in.h:564
msgid "Right Alt (while pressed)"
msgstr "Alt destro (mentre è premuto)"
# tasto per scegliere il quinto livello: |...|
-#: ../rules/base.xml.in.h:561
+#: ../rules/base.xml.in.h:565
msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "Alt destro sceglie il quinto livello, blocca quando premuto assieme a un altro selettore del quinto livello"
# tasto per scegliere il quinto livello: |...|
-#: ../rules/base.xml.in.h:562
+#: ../rules/base.xml.in.h:566
msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "Alt destro sceglie il quinto livello, blocca quando premuto assieme a un altro selettore del quinto livello, una pressione rilascia il blocco"
-#: ../rules/base.xml.in.h:563
+#: ../rules/base.xml.in.h:567
msgid "Right Alt key never chooses 3rd level"
msgstr "Il tasto Alt destro non sceglie mai il terzo livello"
-#: ../rules/base.xml.in.h:564
+#: ../rules/base.xml.in.h:568
msgid "Right Alt, Shift+Right Alt key is Multi_Key"
msgstr "Alt destro, il tasto Maiusc+Alt destro è Multi_Key"
-#: ../rules/base.xml.in.h:565
+#: ../rules/base.xml.in.h:569
msgid "Right Ctrl"
msgstr "Ctrl destro"
-#: ../rules/base.xml.in.h:566
+#: ../rules/base.xml.in.h:570
msgid "Right Ctrl (while pressed)"
msgstr "Ctrl destro (mentre è premuto)"
-#: ../rules/base.xml.in.h:567
+#: ../rules/base.xml.in.h:571
msgid "Right Ctrl as Right Alt"
msgstr "Ctrl destro come Alt destro"
-#: ../rules/base.xml.in.h:568
+#: ../rules/base.xml.in.h:572
msgid "Right Ctrl+Right Shift"
msgstr "Ctrl destro + Maiusc destro"
-#: ../rules/base.xml.in.h:569
+#: ../rules/base.xml.in.h:573
msgid "Right Shift"
msgstr "Maiusc destro"
-#: ../rules/base.xml.in.h:570
+#: ../rules/base.xml.in.h:574
msgid "Right Win"
msgstr "Win destro"
-#: ../rules/base.xml.in.h:571
+#: ../rules/base.xml.in.h:575
msgid "Right Win (while pressed)"
msgstr "Win destro (mentre è premuto)"
# tasto per scegliere il quinto livello: |...|<
-#: ../rules/base.xml.in.h:572
+#: ../rules/base.xml.in.h:576
msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "Win destro sceglie il quinto livello, blocca quando premuto assieme a un altro selettore del quinto livello"
# tasto per scegliere il quinto livello: |...|
-#: ../rules/base.xml.in.h:573
+#: ../rules/base.xml.in.h:577
msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "Win destro sceglie il quinto livello, blocca quando premuto assieme a un altro selettore del quinto livello, una pressione rilascia il blocco"
-#: ../rules/base.xml.in.h:574
+#: ../rules/base.xml.in.h:578
msgid "Right hand"
msgstr "Mano destra"
-#: ../rules/base.xml.in.h:575
+#: ../rules/base.xml.in.h:579
msgid "Right handed Dvorak"
msgstr "Dvorak destrorsa"
# UE
-#: ../rules/base.xml.in.h:576
+#: ../rules/base.xml.in.h:580
msgid "Romania"
msgstr "Romania"
-#: ../rules/base.xml.in.h:577
+#: ../rules/base.xml.in.h:581
msgid "Romanian keyboard with German letters"
msgstr "Tastiera rumena con lettere tedesche"
-#: ../rules/base.xml.in.h:578
+#: ../rules/base.xml.in.h:582
msgid "Romanian keyboard with German letters, eliminate dead keys"
msgstr "Tastiera rumena con lettere tedesche, tasti muti rimossi"
# codice tre lettere per romania
-#: ../rules/base.xml.in.h:579
+#: ../rules/base.xml.in.h:583
msgid "Rou"
msgstr "ROU"
# codice tre lettere per russia
-#: ../rules/base.xml.in.h:580
+#: ../rules/base.xml.in.h:584
msgid "Rus"
msgstr "RUS"
# UE
-#: ../rules/base.xml.in.h:581
+#: ../rules/base.xml.in.h:585
msgid "Russia"
msgstr "Russia"
-#: ../rules/base.xml.in.h:582
+#: ../rules/base.xml.in.h:586
msgid "Russian"
msgstr "Russa"
-#: ../rules/base.xml.in.h:583
+#: ../rules/base.xml.in.h:587
msgid "Russian phonetic"
msgstr "Fonetica russa"
-#: ../rules/base.xml.in.h:584
+#: ../rules/base.xml.in.h:588
msgid "Russian phonetic Dvorak"
msgstr "Dvorak fonetica russa"
-#: ../rules/base.xml.in.h:585
+#: ../rules/base.xml.in.h:589
msgid "Russian phonetic, eliminate dead keys"
msgstr "Fonetica russa, tasti muti rimossi"
-#: ../rules/base.xml.in.h:586
+#: ../rules/base.xml.in.h:590
msgid "Russian with Kazakh"
msgstr "Russa con kazaca"
-#: ../rules/base.xml.in.h:587
+#: ../rules/base.xml.in.h:591
msgid "SILVERCREST Multimedia Wireless Keyboard"
msgstr "SILVERCREST Multimedia Wireless Keyboard"
-#: ../rules/base.xml.in.h:588
+#: ../rules/base.xml.in.h:592
msgid "SK-1300"
msgstr "SK-1300"
-#: ../rules/base.xml.in.h:589
+#: ../rules/base.xml.in.h:593
msgid "SK-2500"
msgstr "SK-2500"
-#: ../rules/base.xml.in.h:590
+#: ../rules/base.xml.in.h:594
msgid "SK-6200"
msgstr "SK-6200"
-#: ../rules/base.xml.in.h:591
+#: ../rules/base.xml.in.h:595
msgid "SK-7100"
msgstr "SK-7100"
# codice per serbia
-#: ../rules/base.xml.in.h:592 ../rules/base.extras.xml.in.h:7
+#: ../rules/base.xml.in.h:596 ../rules/base.extras.xml.in.h:9
msgid "SRB"
msgstr "SRB"
-#: ../rules/base.xml.in.h:593
+#: ../rules/base.xml.in.h:597
msgid "SVEN Ergonomic 2500"
msgstr "SVEN Ergonomic 2500"
-#: ../rules/base.xml.in.h:594
+#: ../rules/base.xml.in.h:598
msgid "SVEN Slim 303"
msgstr "SVEN Slim 303"
-#: ../rules/base.xml.in.h:595
+#: ../rules/base.xml.in.h:599
msgid "Samsung SDM 4500P"
msgstr "Samsung SDM 4500P"
-#: ../rules/base.xml.in.h:596
+#: ../rules/base.xml.in.h:600
msgid "Samsung SDM 4510P"
msgstr "Samsung SDM 4510P"
-#: ../rules/base.xml.in.h:597
-msgid "ScrollLock"
+#: ../rules/base.xml.in.h:601
+msgid "Scroll Lock"
msgstr "BlocScorr"
# variante canadese
# No ISO code in ISO639-2, only draft ISO693-3
-#: ../rules/base.xml.in.h:598
+#: ../rules/base.xml.in.h:602
msgid "Secwepemctsin"
msgstr "Secwepemctsin"
# parte di Numeric keypad delete key behaviour
# vedi descrizione compelta in altro commento
-#: ../rules/base.xml.in.h:599
+#: ../rules/base.xml.in.h:603
msgid "Semi-colon on third level"
msgstr "Punto e virgola sul terzo livello"
-#: ../rules/base.xml.in.h:600
+#: ../rules/base.xml.in.h:604
msgid "Sen"
msgstr "SEN"
-#: ../rules/base.xml.in.h:601
+#: ../rules/base.xml.in.h:605
msgid "Senegal"
msgstr "Senegal"
-#: ../rules/base.xml.in.h:602 ../rules/base.extras.xml.in.h:8
+#: ../rules/base.xml.in.h:606 ../rules/base.extras.xml.in.h:10
msgid "Serbia"
msgstr "Serbia"
-#: ../rules/base.xml.in.h:603
+#: ../rules/base.xml.in.h:607
msgid "Serbian"
msgstr "Serba"
-#: ../rules/base.xml.in.h:604
-msgid "Shift cancels CapsLock"
+#: ../rules/base.xml.in.h:608
+msgid "Shift cancels Caps Lock"
msgstr "Maiusc annulla BlocMaiusc"
-#: ../rules/base.xml.in.h:605
-msgid "Shift does not cancel NumLock, chooses 3rd level instead"
+#: ../rules/base.xml.in.h:609
+msgid "Shift does not cancel Num Lock, chooses 3rd level instead"
msgstr "Maiusc non annulla BlocNum, invece sceglie il terzo livello"
-#: ../rules/base.xml.in.h:606
+#: ../rules/base.xml.in.h:610
msgid "Shift with numeric keypad keys works as in MS Windows"
msgstr "Maiusc con i tasti del tastierino numerico opera come in MS Windows"
-#: ../rules/base.xml.in.h:607
-msgid "Shift+CapsLock"
+#: ../rules/base.xml.in.h:611
+msgid "Shift+Caps Lock"
msgstr "Maiusc+BlocMaiusc"
# variante greca
-#: ../rules/base.xml.in.h:608
+#: ../rules/base.xml.in.h:612
msgid "Simple"
msgstr "Semplice"
+# variante pakistana
+#: ../rules/base.xml.in.h:613
+msgid "Sindhi"
+msgstr "Sindhi"
+
# UE
-#: ../rules/base.xml.in.h:609
+#: ../rules/base.xml.in.h:614
msgid "Slovakia"
msgstr "Slovacchia"
# UE
-#: ../rules/base.xml.in.h:610
+#: ../rules/base.xml.in.h:615
msgid "Slovenia"
msgstr "Slovenia"
-#: ../rules/base.xml.in.h:611
+#: ../rules/base.xml.in.h:616
msgid "South Africa"
msgstr "Sud Africa"
-#: ../rules/base.xml.in.h:612
+#: ../rules/base.xml.in.h:617
msgid "Southern Uzbek"
msgstr "Uzbeko meridionale"
# UE
-#: ../rules/base.xml.in.h:613
+#: ../rules/base.xml.in.h:618
msgid "Spain"
msgstr "Spagna"
-#: ../rules/base.xml.in.h:614
+#: ../rules/base.xml.in.h:619
msgid "Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server"
msgstr "Tasti speciali (Ctrl+Alt+&lt;tasto&gt;) gestiti in un server"
-#: ../rules/base.xml.in.h:615
+#: ../rules/base.xml.in.h:620
msgid "Sri Lanka"
msgstr "Sri Lanka"
-#: ../rules/base.xml.in.h:616
+#: ../rules/base.xml.in.h:621
msgid "Standard"
msgstr "Standard"
-#: ../rules/base.xml.in.h:617
+#: ../rules/base.xml.in.h:622
msgid "Standard (Cedilla)"
msgstr "Standard (cediglia)"
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:619
+#: ../rules/base.xml.in.h:624
msgid "Standard RSTU"
msgstr "RSTU standard"
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:621
+#: ../rules/base.xml.in.h:626
msgid "Standard RSTU on Russian layout"
msgstr "RSTU standard su disposizione russa"
-#: ../rules/base.xml.in.h:622
+#: ../rules/base.xml.in.h:627
msgid "Sun Type 5/6"
msgstr "Sun Type 5/6"
-#: ../rules/base.xml.in.h:623
+#: ../rules/base.xml.in.h:628
msgid "Sun dead keys"
msgstr "Tasti muti Sun"
-#: ../rules/base.xml.in.h:624
+#: ../rules/base.xml.in.h:629
msgid "Super Power Multimedia Keyboard"
msgstr "Super Power Multimedia Keyboard"
-#: ../rules/base.xml.in.h:625
+#: ../rules/base.xml.in.h:630
msgid "Svdvorak"
msgstr "Svdvorak"
# codice tre lettere per repubblica slovacca
-#: ../rules/base.xml.in.h:626
+#: ../rules/base.xml.in.h:631
msgid "Svk"
msgstr "SVK"
# codice tre lettere per slovenia
-#: ../rules/base.xml.in.h:627
+#: ../rules/base.xml.in.h:632
msgid "Svn"
msgstr "SVN"
-#: ../rules/base.xml.in.h:628
-msgid "Swap Ctrl and CapsLock"
+#: ../rules/base.xml.in.h:633
+msgid "Swap Ctrl and Caps Lock"
msgstr "Scambiare Ctrl e BlocMaiusc"
-#: ../rules/base.xml.in.h:629
-msgid "Swap ESC and CapsLock"
+#: ../rules/base.xml.in.h:634
+msgid "Swap ESC and Caps Lock"
msgstr "Scambiare ESC e BlocMaiusc"
-#: ../rules/base.xml.in.h:630
+#: ../rules/base.xml.in.h:635
msgid "Swe"
msgstr "SWE"
# UE
-#: ../rules/base.xml.in.h:631
+#: ../rules/base.xml.in.h:636
msgid "Sweden"
msgstr "Svezia"
# UE
-#: ../rules/base.xml.in.h:632
+#: ../rules/base.xml.in.h:637
msgid "Switzerland"
msgstr "Svizzera"
-#: ../rules/base.xml.in.h:633
+#: ../rules/base.xml.in.h:638
msgid "Symplon PaceBook (tablet PC)"
msgstr "Symplon PaceBook (tablet PC)"
-#: ../rules/base.xml.in.h:634
+#: ../rules/base.xml.in.h:639
msgid "Syr"
msgstr "SYR"
# UE
-#: ../rules/base.xml.in.h:635
+#: ../rules/base.xml.in.h:640
msgid "Syria"
msgstr "Siria"
# L'aggettivo per Siria in iglese EU sarebbe Syrian
#
-#: ../rules/base.xml.in.h:636
+#: ../rules/base.xml.in.h:641
msgid "Syriac"
msgstr "Siriano"
-#: ../rules/base.xml.in.h:637
+#: ../rules/base.xml.in.h:642
msgid "Syriac phonetic"
msgstr "Siriano fonetico"
-#: ../rules/base.xml.in.h:638
+#: ../rules/base.xml.in.h:643
msgid "TIS-820.2538"
msgstr "TIS-820.2538"
# UE
-#: ../rules/base.xml.in.h:639
+#: ../rules/base.xml.in.h:644
msgid "Tajikistan"
msgstr "Tagikistan"
-#: ../rules/base.xml.in.h:640
+#: ../rules/base.xml.in.h:645
msgid "Tamil"
msgstr "Tamil"
-#: ../rules/base.xml.in.h:641
+#: ../rules/base.xml.in.h:646
msgid "Tamil Keyboard with Numerals"
msgstr "Tastiera tamil con numeri"
-#: ../rules/base.xml.in.h:642
+#: ../rules/base.xml.in.h:647
msgid "Tamil TAB Typewriter"
msgstr "Tamil TAB macchina per scrivere"
-#: ../rules/base.xml.in.h:643
+#: ../rules/base.xml.in.h:648
msgid "Tamil TSCII Typewriter"
msgstr "Tamil TSCII macchina per scrivere"
-#: ../rules/base.xml.in.h:644
+#: ../rules/base.xml.in.h:649
msgid "Tamil Unicode"
msgstr "Tamil Unicode"
-#: ../rules/base.xml.in.h:645
+#: ../rules/base.xml.in.h:650
msgid "Tanzania"
msgstr "Tanzania"
-#: ../rules/base.xml.in.h:646
+#: ../rules/base.xml.in.h:651
msgid "Targa Visionary 811"
msgstr "Targa Visionary 811"
# variante russa, come lingua stado a iso639 sarebbe tatarico
-#: ../rules/base.xml.in.h:647
+#: ../rules/base.xml.in.h:652
msgid "Tatar"
msgstr "Tatar"
-#: ../rules/base.xml.in.h:648
+#: ../rules/base.xml.in.h:653
msgid "Telugu"
msgstr "Telegu"
-#: ../rules/base.xml.in.h:649
+#: ../rules/base.xml.in.h:654
msgid "Tha"
msgstr "THA"
# UE
-#: ../rules/base.xml.in.h:650
+#: ../rules/base.xml.in.h:655
msgid "Thailand"
msgstr "Thailandia"
-#: ../rules/base.xml.in.h:651
+#: ../rules/base.xml.in.h:656
msgid "Tibetan"
msgstr "Tibetana"
-#: ../rules/base.xml.in.h:652
+#: ../rules/base.xml.in.h:657
msgid "Tibetan (with ASCII numerals)"
msgstr "Tibetana (con numeri ASCII)"
# variante marocchina, corrispondente al codice iso639 BER (berbero)
-#: ../rules/base.xml.in.h:653
+#: ../rules/base.xml.in.h:658
msgid "Tifinagh"
msgstr "Tifinagh"
# variante marocchina
-#: ../rules/base.xml.in.h:654
-msgid "Tifinagh Alternative"
+#: ../rules/base.xml.in.h:659
+msgid "Tifinagh alternative"
msgstr "Tifinagh alternativa"
# variante marocchina
-#: ../rules/base.xml.in.h:655
-msgid "Tifinagh Alternative Phonetic"
+#: ../rules/base.xml.in.h:660
+msgid "Tifinagh alternative phonetic"
msgstr "Tifinagh alternativa fonetica"
# variante marocchina
-#: ../rules/base.xml.in.h:656
-msgid "Tifinagh Extended"
+#: ../rules/base.xml.in.h:661
+msgid "Tifinagh extended"
msgstr "Tifinagh estesa"
# variante marocchina
-#: ../rules/base.xml.in.h:657
-msgid "Tifinagh Extended Phonetic"
+#: ../rules/base.xml.in.h:662
+msgid "Tifinagh extended phonetic"
msgstr "Tifinagh estesa fonetica"
# variante marocchina
-#: ../rules/base.xml.in.h:658
-msgid "Tifinagh Phonetic"
+#: ../rules/base.xml.in.h:663
+msgid "Tifinagh phonetic"
msgstr "Tifinagh fonetica"
-#: ../rules/base.xml.in.h:659
+#: ../rules/base.xml.in.h:664
msgid "Tilde (~) variant"
msgstr "Variante tilde (~)"
# codice tre lettere per tajikistan
-#: ../rules/base.xml.in.h:660
+#: ../rules/base.xml.in.h:665
msgid "Tjk"
msgstr "TJK"
-#: ../rules/base.xml.in.h:661
+#: ../rules/base.xml.in.h:666
msgid "Tkm"
msgstr "TKM"
-#: ../rules/base.xml.in.h:662
+#: ../rules/base.xml.in.h:667
msgid "To the corresponding key in a Dvorak keyboard."
msgstr "Al tasto corrispondente in una tastiera Dvorak."
-#: ../rules/base.xml.in.h:663
+#: ../rules/base.xml.in.h:668
msgid "To the corresponding key in a Qwerty keyboard."
msgstr "Al tasto corrispondente in una tastiera Qwerty."
-#: ../rules/base.xml.in.h:664
+#: ../rules/base.xml.in.h:669
msgid "Toshiba Satellite S3000"
msgstr "Toshiba Satellite S3000"
# variante bulgara
-#: ../rules/base.xml.in.h:665
+#: ../rules/base.xml.in.h:670
msgid "Traditional phonetic"
msgstr "Fonetica tradizionale"
-#: ../rules/base.xml.in.h:666
+#: ../rules/base.xml.in.h:671
msgid "Trust Direct Access Keyboard"
msgstr "Trust Direct Access Keyboard"
-#: ../rules/base.xml.in.h:667
+#: ../rules/base.xml.in.h:672
msgid "Trust Slimline"
msgstr "Trust Slimline"
-#: ../rules/base.xml.in.h:668
+#: ../rules/base.xml.in.h:673
msgid "Trust Wireless Keyboard Classic"
msgstr "Trust Wireless Keyboard Classic"
-#: ../rules/base.xml.in.h:669
+#: ../rules/base.xml.in.h:674
msgid "Tur"
msgstr "TUR"
-#: ../rules/base.xml.in.h:670
+#: ../rules/base.xml.in.h:675
msgid "Turkey"
msgstr "Turca"
# non controllato su UE
-#: ../rules/base.xml.in.h:671
+#: ../rules/base.xml.in.h:676
msgid "Turkmenistan"
msgstr "Turkmenistan"
-#: ../rules/base.xml.in.h:672
+#: ../rules/base.xml.in.h:677
msgid "TypeMatrix EZ-Reach 2020"
msgstr "TypeMatrix EZ-Reach 2020"
-#: ../rules/base.xml.in.h:673
+#: ../rules/base.xml.in.h:678
msgid "TypeMatrix EZ-Reach 2030 PS2"
msgstr "TypeMatrix EZ-Reach 2030 PS2"
-#: ../rules/base.xml.in.h:674
+#: ../rules/base.xml.in.h:679
msgid "TypeMatrix EZ-Reach 2030 USB"
msgstr "TypeMatrix EZ-Reach 2030 USB"
-#: ../rules/base.xml.in.h:675
+#: ../rules/base.xml.in.h:680
msgid "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)"
msgstr "TypeMatrix EZ-Reach 2030 USB (modalità 102/105:EU)"
-#: ../rules/base.xml.in.h:676
+#: ../rules/base.xml.in.h:681
msgid "TypeMatrix EZ-Reach 2030 USB (106:JP mode)"
msgstr "TypeMatrix EZ-Reach 2030 USB (modalità 106:JP)"
# Non sono sicuro vada tradotto
-#: ../rules/base.xml.in.h:677
+#: ../rules/base.xml.in.h:682
msgid "Typewriter"
msgstr "Macchina per scrivere"
-#: ../rules/base.xml.in.h:678
+#: ../rules/base.xml.in.h:683
msgid "Typewriter, legacy"
msgstr "Macchina per scrivere, vecchia maniera"
-#: ../rules/base.xml.in.h:679
+#: ../rules/base.xml.in.h:684
msgid "Tza"
msgstr "TZA"
-#: ../rules/base.xml.in.h:680
+#: ../rules/base.xml.in.h:685
msgid "UCW layout (accented letters only)"
msgstr "Disposizione UCW (solo lettere accentate)"
-#: ../rules/base.xml.in.h:681
+#: ../rules/base.xml.in.h:686
msgid "US Dvorak with CZ UCW support"
msgstr "Dvorak US con supporto UCW CZ"
-#: ../rules/base.xml.in.h:682
+#: ../rules/base.xml.in.h:687
msgid "US keyboard with Bosnian digraphs"
msgstr "Tastiera USA con digrammi bosniaci"
-#: ../rules/base.xml.in.h:683
+#: ../rules/base.xml.in.h:688
msgid "US keyboard with Bosnian letters"
msgstr "Tastiera USA con lettere bosniache"
-#: ../rules/base.xml.in.h:684
+#: ../rules/base.xml.in.h:689
msgid "US keyboard with Croatian digraphs"
msgstr "Tastiera USA con digrammi croati"
-#: ../rules/base.xml.in.h:685
+#: ../rules/base.xml.in.h:690
msgid "US keyboard with Croatian letters"
msgstr "Tastiera USA con lettere croate"
-#: ../rules/base.xml.in.h:686
+#: ../rules/base.xml.in.h:691
msgid "US keyboard with Estonian letters"
msgstr "Tastiera USA con lettere estoni"
-#: ../rules/base.xml.in.h:687
+#: ../rules/base.xml.in.h:692
msgid "US keyboard with Italian letters"
msgstr "Tastiera USA con lettere italiane"
-#: ../rules/base.xml.in.h:688
+#: ../rules/base.xml.in.h:693
msgid "US keyboard with Lithuanian letters"
msgstr "Tastiera USA con lettere lituane"
-#: ../rules/base.xml.in.h:689
+#: ../rules/base.xml.in.h:694
msgid "US keyboard with Slovenian letters"
msgstr "Tastiera USA con lettere slovene"
-#: ../rules/base.xml.in.h:690 ../rules/base.extras.xml.in.h:9
+#: ../rules/base.xml.in.h:695 ../rules/base.extras.xml.in.h:11
msgid "USA"
msgstr "USA"
# variante russa
-#: ../rules/base.xml.in.h:691
+#: ../rules/base.xml.in.h:696
msgid "Udmurt"
msgstr "Udmurt"
-#: ../rules/base.xml.in.h:692
+#: ../rules/base.xml.in.h:697
msgid "Ukr"
msgstr "UKR"
# UE
-#: ../rules/base.xml.in.h:693
+#: ../rules/base.xml.in.h:698
msgid "Ukraine"
msgstr "Ucraina"
-#: ../rules/base.xml.in.h:694
+#: ../rules/base.xml.in.h:699
msgid "Unicode additions (arrows and math operators)"
msgstr "Aggiunte unicode (frecce e operatori matematici)"
-#: ../rules/base.xml.in.h:695
+#: ../rules/base.xml.in.h:700
msgid "Unicode additions (arrows and math operators). Math operators on default level"
msgstr "Aggiunte unicode (frecce e operatori matematici). Operatori matematici sul livello predefinito"
# Sarà da tradurre? -Luca
-#: ../rules/base.xml.in.h:696
+#: ../rules/base.xml.in.h:701
msgid "UnicodeExpert"
msgstr "UnicodeEsperto"
# UE
-#: ../rules/base.xml.in.h:697
+#: ../rules/base.xml.in.h:702
msgid "United Kingdom"
msgstr "Regno Unito"
-#: ../rules/base.xml.in.h:698
+#: ../rules/base.xml.in.h:703
msgid "Unitek KB-1925"
msgstr "Unitek KB-1925"
-#: ../rules/base.xml.in.h:699
+#: ../rules/base.xml.in.h:704
msgid "Urdu, Alternative phonetic"
msgstr "Urdu, alternativa fonetica"
-#: ../rules/base.xml.in.h:700
+#: ../rules/base.xml.in.h:705
msgid "Urdu, Phonetic"
msgstr "Urdu, fonetica"
-#: ../rules/base.xml.in.h:701
+#: ../rules/base.xml.in.h:706
msgid "Urdu, Winkeys"
msgstr "Urdu, tasti Win"
-#: ../rules/base.xml.in.h:702
+#: ../rules/base.xml.in.h:707
msgid "Use Bosnian digraphs"
msgstr "Usa digrammi bosniaci"
-#: ../rules/base.xml.in.h:703
+#: ../rules/base.xml.in.h:708
msgid "Use Croatian digraphs"
msgstr "Usa digrammi croati"
-#: ../rules/base.xml.in.h:704
+#: ../rules/base.xml.in.h:709
msgid "Use guillemets for quotes"
msgstr "Usa caporali per virgolette"
-#: ../rules/base.xml.in.h:705
+#: ../rules/base.xml.in.h:710
msgid "Use keyboard LED to show alternative layout"
msgstr "Usare i LED della tastiera per mostrare il gruppo alternativo"
-#: ../rules/base.xml.in.h:706
+#: ../rules/base.xml.in.h:711
msgid "Using space key to input non-breakable space character"
msgstr "Uso del tasto Spazio per inserire carattere di spazio non-interrompibile"
-#: ../rules/base.xml.in.h:707
+#: ../rules/base.xml.in.h:712
msgid "Usual space at any level"
msgstr "Solito Spazio a ogni livello"
-#: ../rules/base.xml.in.h:708
+#: ../rules/base.xml.in.h:713
msgid "Uzb"
msgstr "UZB"
# UE
-#: ../rules/base.xml.in.h:709
+#: ../rules/base.xml.in.h:714
msgid "Uzbekistan"
msgstr "Uzbekistan"
# UE
-#: ../rules/base.xml.in.h:710
+#: ../rules/base.xml.in.h:715
msgid "Vietnam"
msgstr "Vietnam"
-#: ../rules/base.xml.in.h:711
+#: ../rules/base.xml.in.h:716
msgid "ViewSonic KU-306 Internet Keyboard"
msgstr "ViewSonic KU-306 Internet Keyboard"
-#: ../rules/base.xml.in.h:712
+#: ../rules/base.xml.in.h:717
msgid "Vnm"
msgstr "VNK"
-#: ../rules/base.xml.in.h:713
+#: ../rules/base.xml.in.h:718
msgid "Wang 724 keypad with unicode additions (arrows and math operators)"
msgstr "Tastierino Wang 724 con aggiunte unicode (frecce e operatori matematici)"
-#: ../rules/base.xml.in.h:714
+#: ../rules/base.xml.in.h:719
msgid "Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level"
msgstr "Tastierino Wang 724 con aggiunte unicode (frecce e operatori matematici). Operatori matematici sul livello predefinito"
# variante belga
-#: ../rules/base.xml.in.h:715
+#: ../rules/base.xml.in.h:720
msgid "Wang model 724 azerty"
msgstr "Wang modello 724 azerty"
-#: ../rules/base.xml.in.h:716
+#: ../rules/base.xml.in.h:721
msgid "Western"
msgstr "Occidentale"
-#: ../rules/base.xml.in.h:717
+#: ../rules/base.xml.in.h:722
msgid "Winbook Model XP5"
msgstr "Winbook Model XP5"
# variante bielorussa
-#: ../rules/base.xml.in.h:718
+#: ../rules/base.xml.in.h:723
msgid "Winkeys"
msgstr "Tasti Win"
-#: ../rules/base.xml.in.h:719
+#: ../rules/base.xml.in.h:724
msgid "With &lt;\\|&gt; key"
msgstr "Con tasti &lt;\\|&gt;"
-#: ../rules/base.xml.in.h:720
+#: ../rules/base.xml.in.h:725
msgid "With EuroSign on 5"
msgstr "Con simbolo € sul 5"
-#: ../rules/base.xml.in.h:721
+#: ../rules/base.xml.in.h:726
msgid "With guillemets"
msgstr "Con caporali"
-#: ../rules/base.xml.in.h:722
+#: ../rules/base.xml.in.h:727
msgid "Yahoo! Internet Keyboard"
msgstr "Yahoo! Internet Keyboard"
-#: ../rules/base.xml.in.h:723
+#: ../rules/base.xml.in.h:728
msgid "Yakut"
msgstr "Yakut"
-#: ../rules/base.xml.in.h:724
+#: ../rules/base.xml.in.h:729
msgid "Yoruba"
msgstr "Yoruba"
-#: ../rules/base.xml.in.h:725
+#: ../rules/base.xml.in.h:730
msgid "Z and ZHE swapped"
msgstr "Z e ZHE scambiati"
# codice per sudafrica
-#: ../rules/base.xml.in.h:726
+#: ../rules/base.xml.in.h:731
msgid "Zaf"
msgstr "ZAF"
-#: ../rules/base.xml.in.h:727
+#: ../rules/base.xml.in.h:732
msgid "Zero-width non-joiner character at second level"
msgstr "Spazio non di unione a larghezza nulla al secondo livello"
-#: ../rules/base.xml.in.h:728
+#: ../rules/base.xml.in.h:733
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level"
msgstr "Spazio non di unione a larghezza nulla al secondo livello, Spazio non-interrompibile al terzo livello"
-#: ../rules/base.xml.in.h:729
+#: ../rules/base.xml.in.h:734
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level"
msgstr "Spazio non di unione a larghezza nulla al secondo livello, Spazio non-interrompibile al terzo livello, niente al quarto livello"
-#: ../rules/base.xml.in.h:730
+#: ../rules/base.xml.in.h:735
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level"
msgstr "Spazio non di unione a larghezza nulla al secondo livello, Spazio non-interrompibile al terzo livello, Spazio sottile non-interrompibile al quarto livello"
-#: ../rules/base.xml.in.h:731
+#: ../rules/base.xml.in.h:736
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level"
msgstr "Spazio non di unione a larghezza nulla al secondo livello, Spazio non-interrompibile al terzo livello, Spazio di unione a larghezza nulla al quarto livello"
-#: ../rules/base.xml.in.h:732
+#: ../rules/base.xml.in.h:737
msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level"
msgstr "Spazio non di unione a larghezza nulla al secondo livello, Spazio di unione a larghezza nulla al terzo livello"
-#: ../rules/base.xml.in.h:733
+#: ../rules/base.xml.in.h:738
msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level"
msgstr "Spazio non di unione a larghezza nulla al secondo livello, Spazio di unione a larghezza nulla al terzo livello, Spazio non-interrompibile al quarto livello"
-#: ../rules/base.xml.in.h:734
+#: ../rules/base.xml.in.h:739
msgid "Zero-width non-joiner character at third level, zero-width joiner at fourth level"
msgstr "Spazio non di unione a larghezza nulla al terzo livello, Spazio di unione a larghezza nulla al quarto livello"
-#: ../rules/base.xml.in.h:735
+#: ../rules/base.xml.in.h:740
msgid "azerty"
msgstr "azerty"
-#: ../rules/base.xml.in.h:736
+#: ../rules/base.xml.in.h:741
msgid "azerty/digits"
msgstr "azerty/cifre"
-#: ../rules/base.xml.in.h:737
+#: ../rules/base.xml.in.h:742
msgid "digits"
msgstr "cifre"
@@ -3256,27 +3280,27 @@ msgstr "cifre"
# 3) soppiantare
#
# sarà corretto spostate???
-#: ../rules/base.xml.in.h:738
+#: ../rules/base.xml.in.h:743
msgid "displaced semicolon and quote (obsolete)"
msgstr "Punto e virgola e virgolette spostate (obsoleta)"
-#: ../rules/base.xml.in.h:739
+#: ../rules/base.xml.in.h:744
msgid "lyx"
msgstr "lyx"
-#: ../rules/base.xml.in.h:740
+#: ../rules/base.xml.in.h:745
msgid "qwerty"
msgstr "qwerty"
-#: ../rules/base.xml.in.h:741
+#: ../rules/base.xml.in.h:746
msgid "qwerty, extended Backslash"
msgstr "qwerty, backslash esteso"
-#: ../rules/base.xml.in.h:742
+#: ../rules/base.xml.in.h:747
msgid "qwerty/digits"
msgstr "querty/cifre"
-#: ../rules/base.xml.in.h:743
+#: ../rules/base.xml.in.h:748
msgid "qwertz"
msgstr "qwertz"
@@ -3292,20 +3316,26 @@ msgstr "APL"
msgid "Atsina"
msgstr "Atsina"
-# variante serba
+# lingua iran nord orientale
+# http://it.wikipedia.org/wiki/Lingua_avestica
#: ../rules/base.extras.xml.in.h:3
+msgid "Avestan"
+msgstr "Avestico"
+
+# variante serba
+#: ../rules/base.extras.xml.in.h:4
msgid "Combining accents instead of dead keys"
msgstr "Combinazione di accenti invece di tasti muti"
# http://en.wikipedia.org/wiki/Interior_Salish_languages
-#: ../rules/base.extras.xml.in.h:4
+#: ../rules/base.extras.xml.in.h:5
msgid "Couer D'alene Salish"
msgstr "Couer D'alene Salish"
-#: ../rules/base.extras.xml.in.h:5
+#: ../rules/base.extras.xml.in.h:6
msgid "International (AltGr Unicode combining)"
msgstr "Internazionale (combinazione Unicode AltGr)"
-#: ../rules/base.extras.xml.in.h:6
+#: ../rules/base.extras.xml.in.h:7
msgid "International (AltGr Unicode combining, alternative)"
msgstr "Internazionale (combinazione Unicode AltGr, alternativa)"
diff --git a/xorg-server/xkeyboard-config/po/ko.po b/xorg-server/xkeyboard-config/po/ko.po
index 1c70b3f2d..2eb2a3e89 100644
--- a/xorg-server/xkeyboard-config/po/ko.po
+++ b/xorg-server/xkeyboard-config/po/ko.po
@@ -1,13 +1,13 @@
# xkeyboard-config Korean translation
# This file is distributed under the same license as the xkeyboard-config package.
-# Changwoo Ryu <cwryu@ddebian.org>, 2007, 2008, 2009, 2010.
+# Changwoo Ryu <cwryu@debian.org>, 2007, 2008, 2009, 2010.
#
msgid ""
msgstr ""
-"Project-Id-Version: xkeyboard-config 1.9\n"
+"Project-Id-Version: xkeyboard-config 2.0\n"
"Report-Msgid-Bugs-To: svu@users.sourceforge.net\n"
-"POT-Creation-Date: 2010-05-11 21:34+0100\n"
-"PO-Revision-Date: 2010-05-16 00:21+0900\n"
+"POT-Creation-Date: 2010-09-15 21:57+0100\n"
+"PO-Revision-Date: 2010-09-17 11:21+0900\n"
"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
"Language-Team: Korean <translation-team-ko@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
@@ -20,11 +20,11 @@ msgstr "&lt;</>&gt;"
#: ../rules/base.xml.in.h:2
msgid "&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser"
-msgstr "&lt;</>&gt; 5번째 단계 선택, 다른 5번째 레벨 선택 키와 같이 누르면 고정"
+msgstr "&lt;</>&gt; 5번째 단계 선택, 다른 5번째 단계 선택 키와 같이 누르면 고정"
#: ../rules/base.xml.in.h:3
msgid "&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
-msgstr "&lt;</>&gt; 5번째 단계 선택, 다른 5번째 레벨 선택 키와 같이 누르면 고정, 한 번 누르면 고정 해제"
+msgstr "&lt;</>&gt; 5번째 단계 선택, 다른 5번째 단계 선택 키와 같이 누르면 고정, 한 번 누르면 고정 해제"
#: ../rules/base.xml.in.h:4
msgid "(F)"
@@ -199,8 +199,8 @@ msgid "Alt is mapped to Right Win, Super to Menu"
msgstr "Alt 키를 오른쪽 윈도우 키로 매핑, Super 키를 메뉴 키로 매핑"
#: ../rules/base.xml.in.h:47
-msgid "Alt+CapsLock"
-msgstr "Alt+CapsLock"
+msgid "Alt+Caps Lock"
+msgstr "Alt+Caps Lock"
#: ../rules/base.xml.in.h:48
msgid "Alt+Ctrl"
@@ -291,8 +291,8 @@ msgid "Apple Aluminium Keyboard (JIS)"
msgstr "Apple Aluminium Keyboard (JIS)"
#: ../rules/base.xml.in.h:70
-msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll_Lock, Pause, NumLock)"
-msgstr "Apple Aluminium Keyboard: PC 키 에뮬레이션 (Print, Scroll_Lock, Pause, NumLock)"
+msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num Lock)"
+msgstr "Apple Aluminium Keyboard: PC 키 에뮬레이션 (Print, Scroll_Lock, Pause, Num Lock)"
#: ../rules/base.xml.in.h:71
msgid "Apple Laptop"
@@ -331,2717 +331,2738 @@ msgid "At left of 'A'"
msgstr "'A' 왼쪽에"
#: ../rules/base.xml.in.h:80
+msgid "Austria"
+msgstr "오스트리아"
+
+#: ../rules/base.xml.in.h:81
+msgid "Aut"
+msgstr "오스트리아"
+
+#: ../rules/base.xml.in.h:82
msgid "Avatime"
msgstr "Avatime"
-#: ../rules/base.xml.in.h:81
+#: ../rules/base.xml.in.h:83
msgid "Aze"
msgstr "아제르바이잔"
-#: ../rules/base.xml.in.h:82
+#: ../rules/base.xml.in.h:84
msgid "Azerbaijan"
msgstr "아제르바이잔"
-#: ../rules/base.xml.in.h:83
+#: ../rules/base.xml.in.h:85
msgid "Azona RF2300 wireless Internet Keyboard"
msgstr "Azona RF2300 무선 인터넷 키보드"
-#: ../rules/base.xml.in.h:84
+#: ../rules/base.xml.in.h:86
msgid "BTC 5090"
msgstr "BTC 5090"
-#: ../rules/base.xml.in.h:85
+#: ../rules/base.xml.in.h:87
msgid "BTC 5113RF Multimedia"
msgstr "BTC 5113RF 멀티미디어"
-#: ../rules/base.xml.in.h:86
+#: ../rules/base.xml.in.h:88
msgid "BTC 5126T"
msgstr "BTC 5126T"
-#: ../rules/base.xml.in.h:87
+#: ../rules/base.xml.in.h:89
msgid "BTC 6301URF"
msgstr "BTC 6301URF"
-#: ../rules/base.xml.in.h:88
+#: ../rules/base.xml.in.h:90
msgid "BTC 9000"
msgstr "BTC 9000"
-#: ../rules/base.xml.in.h:89
+#: ../rules/base.xml.in.h:91
msgid "BTC 9000A"
msgstr "BTC 9000A"
-#: ../rules/base.xml.in.h:90
+#: ../rules/base.xml.in.h:92
msgid "BTC 9001AH"
msgstr "BTC 9001AH"
-#: ../rules/base.xml.in.h:91
+#: ../rules/base.xml.in.h:93
msgid "BTC 9019U"
msgstr "BTC 9019U"
-#: ../rules/base.xml.in.h:92
+#: ../rules/base.xml.in.h:94
msgid "BTC 9116U Mini Wireless Internet and Gaming"
msgstr "BTC 9116U 미니 무선 인터넷/게임 키보드"
-#: ../rules/base.xml.in.h:93
+#: ../rules/base.xml.in.h:95
msgid "Backslash"
msgstr "백슬래시"
-#: ../rules/base.xml.in.h:94
+#: ../rules/base.xml.in.h:96
msgid "Bangladesh"
msgstr "방글라데시"
# FIXME: 브랜드?
-#: ../rules/base.xml.in.h:95
+#: ../rules/base.xml.in.h:97
msgid "Bashkirian"
msgstr "Bashkirian"
-#: ../rules/base.xml.in.h:96
+#: ../rules/base.xml.in.h:98
msgid "Bel"
msgstr "벨기에"
-#: ../rules/base.xml.in.h:97
+#: ../rules/base.xml.in.h:99
msgid "Belarus"
msgstr "벨라루스"
-#: ../rules/base.xml.in.h:98
+#: ../rules/base.xml.in.h:100
msgid "Belgium"
msgstr "벨기에"
-#: ../rules/base.xml.in.h:99
+#: ../rules/base.xml.in.h:101
msgid "BenQ X-Touch"
msgstr "벤큐 X-Touch"
-#: ../rules/base.xml.in.h:100
+#: ../rules/base.xml.in.h:102
msgid "BenQ X-Touch 730"
msgstr "벤큐 X-Touch 730"
-#: ../rules/base.xml.in.h:101
+#: ../rules/base.xml.in.h:103
msgid "BenQ X-Touch 800"
msgstr "벤큐 X-Touch 800"
-#: ../rules/base.xml.in.h:102
+#: ../rules/base.xml.in.h:104
msgid "Bengali"
msgstr "벵골어"
-#: ../rules/base.xml.in.h:103
+#: ../rules/base.xml.in.h:105
msgid "Bengali Probhat"
msgstr "벵골어 프롭햇"
-#: ../rules/base.xml.in.h:104
+#: ../rules/base.xml.in.h:106
msgid "Bepo, ergonomic, Dvorak way"
msgstr "Bepo, ergonomic, 드보락 방식"
-#: ../rules/base.xml.in.h:105
+#: ../rules/base.xml.in.h:107
msgid "Bepo, ergonomic, Dvorak way, latin-9 only"
msgstr "Bepo, ergonomic, 드보락 방식, latin-9 전용"
-#: ../rules/base.xml.in.h:106
+#: ../rules/base.xml.in.h:108
msgid "Bgd"
msgstr "방글라데시"
-#: ../rules/base.xml.in.h:107
+#: ../rules/base.xml.in.h:109
msgid "Bgr"
msgstr "불가리아"
-#: ../rules/base.xml.in.h:108
+#: ../rules/base.xml.in.h:110
msgid "Bhutan"
msgstr "부탄"
-#: ../rules/base.xml.in.h:109
+#: ../rules/base.xml.in.h:111
msgid "Biblical Hebrew (Tiro)"
msgstr "성서 히브리어 (Tiro)"
-#: ../rules/base.xml.in.h:110
+#: ../rules/base.xml.in.h:112
msgid "Bih"
msgstr "보스니아 헤르체고비나"
-#: ../rules/base.xml.in.h:111
+#: ../rules/base.xml.in.h:113
msgid "Blr"
msgstr "벨라루스"
-#: ../rules/base.xml.in.h:112
+#: ../rules/base.xml.in.h:114
msgid "Bosnia and Herzegovina"
msgstr "보스니아 헤르체고비나"
-#: ../rules/base.xml.in.h:113
+#: ../rules/base.xml.in.h:115
msgid "Both Alt keys together"
msgstr "Alt 키 2개 동시 누름"
-#: ../rules/base.xml.in.h:114
+#: ../rules/base.xml.in.h:116
msgid "Both Ctrl keys together"
msgstr "Ctrl 키 2개 동시 누름"
-#: ../rules/base.xml.in.h:115
+#: ../rules/base.xml.in.h:117
msgid "Both Shift keys together"
msgstr "Shift 키 2개 동시 누름"
-#: ../rules/base.xml.in.h:116
-msgid "Both Shift-Keys together toggle CapsLock"
-msgstr "Shift 키 두 개로 CapsLock 토글"
+#: ../rules/base.xml.in.h:118
+msgid "Both Shift-Keys together toggle Caps Lock"
+msgstr "Shift 키 두 개로 Caps Lock 토글"
-#: ../rules/base.xml.in.h:117
+#: ../rules/base.xml.in.h:119
msgid "Botswana"
msgstr "보츠와나"
-#: ../rules/base.xml.in.h:118
+#: ../rules/base.xml.in.h:120
msgid "Bra"
msgstr "브라질"
-#: ../rules/base.xml.in.h:119
+#: ../rules/base.xml.in.h:121
msgid "Braille"
msgstr "점자"
-#: ../rules/base.xml.in.h:120
+#: ../rules/base.xml.in.h:122
msgid "Brazil"
msgstr "브라질"
# http://ko.wikipedia.org/wiki/브르타뉴어
-#: ../rules/base.xml.in.h:121
+#: ../rules/base.xml.in.h:123
msgid "Breton"
msgstr "브르타뉴어"
# Braille
-#: ../rules/base.xml.in.h:122
+#: ../rules/base.xml.in.h:124
msgid "Brl"
msgstr "점자"
-#: ../rules/base.xml.in.h:123
+#: ../rules/base.xml.in.h:125
msgid "Brother Internet Keyboard"
msgstr "브라더 인터넷 키보드"
-#: ../rules/base.xml.in.h:124
+#: ../rules/base.xml.in.h:126
msgid "Btn"
msgstr "부탄"
# 아랍어 음역 방법 http://en.wikipedia.org/wiki/Buckwalter_transliteration
-#: ../rules/base.xml.in.h:125
+#: ../rules/base.xml.in.h:127
msgid "Buckwalter"
msgstr "버크월터"
-#: ../rules/base.xml.in.h:126
+#: ../rules/base.xml.in.h:128
msgid "Bulgaria"
msgstr "불가리아"
-#: ../rules/base.xml.in.h:127
+#: ../rules/base.xml.in.h:129
msgid "Bwa"
msgstr "보츠나와"
-#: ../rules/base.xml.in.h:128
+#: ../rules/base.xml.in.h:130
msgid "COD"
msgstr "COD"
# 우르드어 관련 http://www.crulp.org/
-#: ../rules/base.xml.in.h:129
+#: ../rules/base.xml.in.h:131
msgid "CRULP"
msgstr "CRULP"
-#: ../rules/base.xml.in.h:130
+#: ../rules/base.xml.in.h:132
msgid "Cambodia"
msgstr "캄보디아"
-#: ../rules/base.xml.in.h:131
+#: ../rules/base.xml.in.h:133
msgid "Can"
msgstr "캐나다"
-#: ../rules/base.xml.in.h:132
+#: ../rules/base.xml.in.h:134
msgid "Canada"
msgstr "캐나다"
-#: ../rules/base.xml.in.h:133
-msgid "CapsLock"
-msgstr "CapsLock"
-
-#: ../rules/base.xml.in.h:134
-msgid "CapsLock (to first layout), Shift+CapsLock (to last layout)"
-msgstr "CapsLock (1번으로), Shift+CapsLock (마지막으로)"
-
#: ../rules/base.xml.in.h:135
-msgid "CapsLock (while pressed), Alt+CapsLock does the original capslock action"
-msgstr "CapsLock (누르고 있는 동안), Alt+CapsLock을 누르면 원래 CapsLock 기능"
+msgid "Caps Lock"
+msgstr "Caps Lock"
#: ../rules/base.xml.in.h:136
-msgid "CapsLock acts as Shift with locking. Shift \"pauses\" CapsLock"
-msgstr "CapsLock이 Shift처럼 동작하고 상태 고정, Shift가 CapsLock을 \"일시 중지\""
+msgid "Caps Lock (to first layout), Shift+Caps Lock (to last layout)"
+msgstr "Caps Lock (1번으로), Shift+Caps Lock (마지막으로)"
#: ../rules/base.xml.in.h:137
-msgid "CapsLock acts as Shift with locking. Shift doesn't affect CapsLock"
-msgstr "CapsLock이 Shift처럼 동작하고 상태 고정, Shift가 CapsLock 상태에 영향 없음"
+msgid "Caps Lock (while pressed), Alt+Caps Lock does the original capslock action"
+msgstr "Caps Lock (누르고 있는 동안), Alt+Caps Lock을 누르면 원래 Caps Lock 기능"
#: ../rules/base.xml.in.h:138
-msgid "CapsLock is disabled"
-msgstr "CapsLock 사용 안 함"
+msgid "Caps Lock acts as Shift with locking. Shift \"pauses\" Caps Lock"
+msgstr "Caps Lock이 Shift처럼 동작하고 상태 고정, Shift가 Caps Lock을 \"일시 중지\""
#: ../rules/base.xml.in.h:139
-msgid "CapsLock key behavior"
-msgstr "CapsLock 키 동작"
+msgid "Caps Lock acts as Shift with locking. Shift doesn't affect Caps Lock"
+msgstr "Caps Lock이 Shift처럼 동작하고 상태 고정, Shift가 Caps Lock 상태에 영향 없음"
#: ../rules/base.xml.in.h:140
-msgid "CapsLock toggles Shift so all keys are affected"
-msgstr "CapsLock이 Shift 상태를 토글, 즉 모든 키가 영향을 받음"
+msgid "Caps Lock is disabled"
+msgstr "Caps Lock 사용 안 함"
#: ../rules/base.xml.in.h:141
-msgid "CapsLock toggles normal capitalization of alphabetic characters"
-msgstr "CapsLock이 일반적인 알파벳 대문자 상태를 토글"
+msgid "Caps Lock key behavior"
+msgstr "Caps Lock 키 동작"
#: ../rules/base.xml.in.h:142
-msgid "CapsLock uses internal capitalization. Shift \"pauses\" CapsLock"
-msgstr "CapsLock이 내부 대문자 기능 사용. Shift가 CapsLock을 \"일시 중지\""
+msgid "Caps Lock toggles Shift so all keys are affected"
+msgstr "Caps Lock이 Shift 상태를 토글, 즉 모든 키가 영향을 받음"
#: ../rules/base.xml.in.h:143
-msgid "CapsLock uses internal capitalization. Shift doesn't affect CapsLock"
-msgstr "CapsLock이 내부 대문자 기능 사용. Shift가 CapsLock 상태에 영향 없음"
+msgid "Caps Lock toggles normal capitalization of alphabetic characters"
+msgstr "Caps Lock이 일반적인 알파벳 대문자 상태를 토글"
#: ../rules/base.xml.in.h:144
+msgid "Caps Lock uses internal capitalization. Shift \"pauses\" Caps Lock"
+msgstr "Caps Lock이 내부 대문자 기능 사용. Shift가 Caps Lock을 \"일시 중지\""
+
+#: ../rules/base.xml.in.h:145
+msgid "Caps Lock uses internal capitalization. Shift doesn't affect Caps Lock"
+msgstr "Caps Lock이 내부 대문자 기능 사용. Shift가 Caps Lock 상태에 영향 없음"
+
+#: ../rules/base.xml.in.h:146
msgid "Catalan variant with middle-dot L"
msgstr "카탈로니아어 변형, 가운데점 L 포함"
-#: ../rules/base.xml.in.h:145
+#: ../rules/base.xml.in.h:147
msgid "Cedilla"
msgstr "세디유"
-#: ../rules/base.xml.in.h:146
+#: ../rules/base.xml.in.h:148
msgid "Che"
msgstr "스위스"
# 체로키어 - 아메리카 원주민 부족
-#: ../rules/base.xml.in.h:147
+#: ../rules/base.xml.in.h:149
msgid "Cherokee"
msgstr "체로키어"
-#: ../rules/base.xml.in.h:148
+#: ../rules/base.xml.in.h:150
msgid "Cherry B.UNLIMITED"
msgstr "체리 B.UNLIMITED"
-#: ../rules/base.xml.in.h:149
+#: ../rules/base.xml.in.h:151
msgid "Cherry Blue Line CyBo@rd"
msgstr "체리 Blue Line CyBo@rd"
-#: ../rules/base.xml.in.h:150
+#: ../rules/base.xml.in.h:152
msgid "Cherry Blue Line CyBo@rd (alternate option)"
msgstr "체리 Blue Line CyBo@rd (다른 옵션)"
-#: ../rules/base.xml.in.h:151
+#: ../rules/base.xml.in.h:153
msgid "Cherry CyBo@rd USB-Hub"
msgstr "체리 CyBo@rd USB-Hub"
-#: ../rules/base.xml.in.h:152
+#: ../rules/base.xml.in.h:154
msgid "Cherry CyMotion Expert"
msgstr "체리 CyMotion Expert"
-#: ../rules/base.xml.in.h:153
+#: ../rules/base.xml.in.h:155
msgid "Cherry CyMotion Master Linux"
msgstr "체리 CyMotion Master Linux"
-#: ../rules/base.xml.in.h:154
+#: ../rules/base.xml.in.h:156
msgid "Cherry CyMotion Master XPress"
msgstr "체리 CyMotion Master XPress"
-#: ../rules/base.xml.in.h:155
+#: ../rules/base.xml.in.h:157
msgid "Chicony Internet Keyboard"
msgstr "치코니 인터넷 키보드"
-#: ../rules/base.xml.in.h:156
+#: ../rules/base.xml.in.h:158
msgid "Chicony KB-9885"
msgstr "치코니 KB-9885"
-#: ../rules/base.xml.in.h:157
+#: ../rules/base.xml.in.h:159
msgid "Chicony KU-0108"
msgstr "치코니 KU-0108"
-#: ../rules/base.xml.in.h:158
+#: ../rules/base.xml.in.h:160
msgid "Chicony KU-0420"
msgstr "치코니 KU-0420"
-#: ../rules/base.xml.in.h:159
+#: ../rules/base.xml.in.h:161
msgid "China"
msgstr "중국"
-#: ../rules/base.xml.in.h:160
+#: ../rules/base.xml.in.h:162
msgid "Chn"
msgstr "중국"
# http://ko.wikipedia.org/wiki/%EC%B6%94%EB%B0%94%EC%8B%9C%EC%96%B4
-#: ../rules/base.xml.in.h:161
+#: ../rules/base.xml.in.h:163
msgid "Chuvash"
msgstr "추바시어"
# http://ko.wikipedia.org/wiki/%EC%B6%94%EB%B0%94%EC%8B%9C%EC%96%B4
-#: ../rules/base.xml.in.h:162
+#: ../rules/base.xml.in.h:164
msgid "Chuvash Latin"
msgstr "추바시어 라틴"
-#: ../rules/base.xml.in.h:163
+#: ../rules/base.xml.in.h:165
msgid "Classic"
msgstr "클래식"
-#: ../rules/base.xml.in.h:164
+#: ../rules/base.xml.in.h:166
msgid "Classic Dvorak"
msgstr "클래식 드보락"
-#: ../rules/base.xml.in.h:165
+#: ../rules/base.xml.in.h:167
msgid "Classic, eliminate dead keys"
msgstr "클래식, 데드키 없음"
-#: ../rules/base.xml.in.h:166
+#: ../rules/base.xml.in.h:168
msgid "Classmate PC"
msgstr "클래스메이트 PC"
# 아일랜드 변형
-#: ../rules/base.xml.in.h:167
+#: ../rules/base.xml.in.h:169
msgid "CloGaelach"
msgstr "CloGaelach"
# Colemak: 상표명
-#: ../rules/base.xml.in.h:168
+#: ../rules/base.xml.in.h:170
msgid "Colemak"
msgstr "Colemak"
-#: ../rules/base.xml.in.h:169
+#: ../rules/base.xml.in.h:171
msgid "Compaq Easy Access Keyboard"
msgstr "컴팩 Easy Access 키보드"
-#: ../rules/base.xml.in.h:170
+#: ../rules/base.xml.in.h:172
msgid "Compaq Internet Keyboard (13 keys)"
msgstr "컴팩 인터넷 키보드 (13키)"
-#: ../rules/base.xml.in.h:171
+#: ../rules/base.xml.in.h:173
msgid "Compaq Internet Keyboard (18 keys)"
msgstr "컴팩 인터넷 키보드 (18키)"
-#: ../rules/base.xml.in.h:172
+#: ../rules/base.xml.in.h:174
msgid "Compaq Internet Keyboard (7 keys)"
msgstr "컴팩 인터넷 키보드 (7키)"
-#: ../rules/base.xml.in.h:173
+#: ../rules/base.xml.in.h:175
msgid "Compaq iPaq Keyboard"
msgstr "컴팩 iPaq 키보드"
-#: ../rules/base.xml.in.h:174
+#: ../rules/base.xml.in.h:176
msgid "Compose key position"
msgstr "조합 키 위치"
-#: ../rules/base.xml.in.h:175
+#: ../rules/base.xml.in.h:177
msgid "Congo, Democratic Republic of the"
msgstr "콩고 민주 공화국"
-#: ../rules/base.xml.in.h:176
+#: ../rules/base.xml.in.h:178
msgid "Control + Alt + Backspace"
msgstr "Ctrl + Alt + 백스페이스"
-#: ../rules/base.xml.in.h:177
+#: ../rules/base.xml.in.h:179
msgid "Control is mapped to Alt keys, Alt is mapped to Win keys"
msgstr "Ctrl 키를 윈도우 키로 매핑, Alt 키를 윈도우 키로 매핑"
-#: ../rules/base.xml.in.h:178
+#: ../rules/base.xml.in.h:180
msgid "Control is mapped to Win keys (and the usual Ctrl keys)"
msgstr "Control 키를 윈도우 키로 매핑 (그리고 일반 Ctrl 키로도 동작)"
-#: ../rules/base.xml.in.h:179
+#: ../rules/base.xml.in.h:181
msgid "Creative Desktop Wireless 7000"
msgstr "Creative Desktop Wireless 7000"
-#: ../rules/base.xml.in.h:180
+#: ../rules/base.xml.in.h:182
msgid "Crimean Tatar (Dobruca-1 Q)"
msgstr "Crimean Tatar (Dobruca-1 Q)"
-#: ../rules/base.xml.in.h:181
+#: ../rules/base.xml.in.h:183
msgid "Crimean Tatar (Dobruca-2 Q)"
msgstr "Crimean Tatar (Dobruca-2 Q)"
-#: ../rules/base.xml.in.h:182
+#: ../rules/base.xml.in.h:184
msgid "Crimean Tatar (Turkish Alt-Q)"
msgstr "Crimean Tatar (터키어 Alt-Q)"
-#: ../rules/base.xml.in.h:183
+#: ../rules/base.xml.in.h:185
msgid "Crimean Tatar (Turkish F)"
msgstr "Crimean Tatar (터키어 F)"
-#: ../rules/base.xml.in.h:184
+#: ../rules/base.xml.in.h:186
msgid "Crimean Tatar (Turkish Q)"
msgstr "Crimean Tatar (터키어 Q)"
-#: ../rules/base.xml.in.h:185
+#: ../rules/base.xml.in.h:187
msgid "Croatia"
msgstr "크로아티아"
-#: ../rules/base.xml.in.h:186
+#: ../rules/base.xml.in.h:188
msgid "Ctrl key position"
msgstr "Ctrl 키 위치"
-#: ../rules/base.xml.in.h:187
+#: ../rules/base.xml.in.h:189
msgid "Ctrl+Shift"
msgstr "Ctrl+Shift"
-#: ../rules/base.xml.in.h:188
+#: ../rules/base.xml.in.h:190
msgid "Cyrillic"
msgstr "키릴"
-#: ../rules/base.xml.in.h:189
+#: ../rules/base.xml.in.h:191
msgid "Cyrillic with guillemets"
msgstr "키릴, 각괄호 포함"
-#: ../rules/base.xml.in.h:190
+#: ../rules/base.xml.in.h:192
msgid "Cyrillic, Z and ZHE swapped"
msgstr "키릴, Z와 ZHE 뒤바꾸기"
-#: ../rules/base.xml.in.h:191
+#: ../rules/base.xml.in.h:193
msgid "Cze"
msgstr "체코"
-#: ../rules/base.xml.in.h:192
+#: ../rules/base.xml.in.h:194
msgid "Czechia"
msgstr "체코"
-#: ../rules/base.xml.in.h:193
+#: ../rules/base.xml.in.h:195
msgid "DOS"
msgstr "DOS"
-#: ../rules/base.xml.in.h:194
+#: ../rules/base.xml.in.h:196
msgid "DTK2000"
msgstr "DTK2000"
-#: ../rules/base.xml.in.h:195
+#: ../rules/base.xml.in.h:197
msgid "Dead acute"
msgstr "어큐트 데드키"
-#: ../rules/base.xml.in.h:196
+#: ../rules/base.xml.in.h:198
msgid "Dead grave acute"
msgstr "그레이브 어큐트 데드키"
-#: ../rules/base.xml.in.h:197
+#: ../rules/base.xml.in.h:199
msgid "Default numeric keypad keys"
msgstr "기본 숫자 키패드 키"
-#: ../rules/base.xml.in.h:198
+#: ../rules/base.xml.in.h:200
msgid "Dell"
msgstr "델"
-#: ../rules/base.xml.in.h:199
+#: ../rules/base.xml.in.h:201
msgid "Dell 101-key PC"
msgstr "델 101키 PC"
-#: ../rules/base.xml.in.h:200
+#: ../rules/base.xml.in.h:202
msgid "Dell Laptop/notebook Inspiron 6xxx/8xxx"
msgstr "델 노트북 Inspiron 6xxx/8xxx"
-#: ../rules/base.xml.in.h:201
+#: ../rules/base.xml.in.h:203
msgid "Dell Laptop/notebook Precision M series"
msgstr "델 노트북 Precision M series"
-#: ../rules/base.xml.in.h:202
+#: ../rules/base.xml.in.h:204
msgid "Dell Latitude series laptop"
msgstr "델 Latitude 시리즈 노트북"
-#: ../rules/base.xml.in.h:203
+#: ../rules/base.xml.in.h:205
msgid "Dell Precision M65"
msgstr "델 Precision M65"
-#: ../rules/base.xml.in.h:204
+#: ../rules/base.xml.in.h:206
msgid "Dell SK-8125"
msgstr "델 SK-8125"
-#: ../rules/base.xml.in.h:205
+#: ../rules/base.xml.in.h:207
msgid "Dell SK-8135"
msgstr "델 SK-8135"
-#: ../rules/base.xml.in.h:206
+#: ../rules/base.xml.in.h:208
msgid "Dell USB Multimedia Keyboard"
msgstr "델 USB 멀티미디어 키보드"
-#: ../rules/base.xml.in.h:207
+#: ../rules/base.xml.in.h:209
msgid "Denmark"
msgstr "덴마크"
-#: ../rules/base.xml.in.h:208
+#: ../rules/base.xml.in.h:210
msgid "Deu"
msgstr "독일"
-#: ../rules/base.xml.in.h:209
+#: ../rules/base.xml.in.h:211
msgid "Dexxa Wireless Desktop Keyboard"
msgstr "Dexxa Wireless Desktop 키보드"
-#: ../rules/base.xml.in.h:210
+#: ../rules/base.xml.in.h:212
msgid "Diamond 9801 / 9802 series"
msgstr "다이아몬드 9801 / 9802 시리즈"
-#: ../rules/base.xml.in.h:211
+#: ../rules/base.xml.in.h:213
msgid "Dnk"
msgstr "덴마크"
-#: ../rules/base.xml.in.h:212
+#: ../rules/base.xml.in.h:214
msgid "Dvorak"
msgstr "드보락"
-#: ../rules/base.xml.in.h:213
+#: ../rules/base.xml.in.h:215
msgid "Dvorak (UK Punctuation)"
msgstr "드보락 (영국 문장 부호)"
-#: ../rules/base.xml.in.h:214
+#: ../rules/base.xml.in.h:216
msgid "Dvorak alternative international (no dead keys)"
msgstr "드보락 다른 국제 버전 (데드키 없음)"
-#: ../rules/base.xml.in.h:215
+#: ../rules/base.xml.in.h:217
msgid "Dvorak international (with dead keys)"
msgstr "드보락 국제 버전 (데드키 포함)"
-#: ../rules/base.xml.in.h:216
+#: ../rules/base.xml.in.h:218
msgid "Dvorak, Polish quotes on key 1"
-msgstr "드보락, 1 폴란드어 따옴표"
+msgstr "드보락, 1 키에 폴란드어 따옴표"
-#: ../rules/base.xml.in.h:217
+#: ../rules/base.xml.in.h:219
msgid "Dvorak, Polish quotes on quotemark key"
msgstr "드보락, 따옴표 키에 폴란드어 따옴표"
-#: ../rules/base.xml.in.h:218
+#: ../rules/base.xml.in.h:220
msgid "E"
msgstr "E"
-#: ../rules/base.xml.in.h:219
+#: ../rules/base.xml.in.h:221
msgid "Eastern"
msgstr "동부"
-#: ../rules/base.xml.in.h:220
+#: ../rules/base.xml.in.h:222
msgid "Eliminate dead keys"
msgstr "데드키 없음"
-#: ../rules/base.xml.in.h:221
+#: ../rules/base.xml.in.h:223
msgid "Enable extra typographic characters"
msgstr "추가 타이포그라피 문자 사용"
-#: ../rules/base.xml.in.h:222
+#: ../rules/base.xml.in.h:224
msgid "English"
msgstr "영어"
-#: ../rules/base.xml.in.h:223
+#: ../rules/base.xml.in.h:225
msgid "English (USA International)"
msgstr "영어 (미국 국제 버전)"
-#: ../rules/base.xml.in.h:224
+#: ../rules/base.xml.in.h:226
msgid "English (USA Macintosh)"
msgstr "영어 (미국 매킨토시)"
-#: ../rules/base.xml.in.h:225
+#: ../rules/base.xml.in.h:227
msgid "Ennyah DKB-1008"
msgstr "Ennyah DKB-1008"
-#: ../rules/base.xml.in.h:226
+#: ../rules/base.xml.in.h:228
msgid "Enter on keypad"
msgstr "키패드에 Enter"
-#: ../rules/base.xml.in.h:227
+#: ../rules/base.xml.in.h:229
msgid "Epo"
msgstr "에스페란토"
-#: ../rules/base.xml.in.h:228
+#: ../rules/base.xml.in.h:230
msgid "Ergonomic"
msgstr "어고노믹"
-#: ../rules/base.xml.in.h:229
+#: ../rules/base.xml.in.h:231
msgid "Esp"
msgstr "스페인"
-#: ../rules/base.xml.in.h:230
+#: ../rules/base.xml.in.h:232
msgid "Esperanto"
msgstr "에스페란토"
-#: ../rules/base.xml.in.h:231
+#: ../rules/base.xml.in.h:233
msgid "Est"
msgstr "에스토니아"
-#: ../rules/base.xml.in.h:232
+#: ../rules/base.xml.in.h:234
msgid "Estonia"
msgstr "에스토니아"
-#: ../rules/base.xml.in.h:233
+#: ../rules/base.xml.in.h:235
msgid "Eth"
msgstr "에티오피아"
-#: ../rules/base.xml.in.h:234
+#: ../rules/base.xml.in.h:236
msgid "Ethiopia"
msgstr "에티오피아"
-#: ../rules/base.xml.in.h:235
+#: ../rules/base.xml.in.h:237
msgid "Everex STEPnote"
msgstr "Everex STEPnote"
-#: ../rules/base.xml.in.h:236
+#: ../rules/base.xml.in.h:238
msgid "Ewe"
msgstr "Ewe"
-#: ../rules/base.xml.in.h:237
+#: ../rules/base.xml.in.h:239
msgid "Extended"
msgstr "확장"
-#: ../rules/base.xml.in.h:238
+#: ../rules/base.xml.in.h:240
msgid "Extended - Winkeys"
msgstr "확장 - 윈도우키"
-#: ../rules/base.xml.in.h:239
+#: ../rules/base.xml.in.h:241
msgid "Extended Backslash"
msgstr "확장 백슬래시"
-#: ../rules/base.xml.in.h:240
+#: ../rules/base.xml.in.h:242
msgid "F-letter (F) variant"
msgstr "F 글자 (F) 변형"
-#: ../rules/base.xml.in.h:241
+#: ../rules/base.xml.in.h:243
msgid "FL90"
msgstr "FL90"
-#: ../rules/base.xml.in.h:242
+#: ../rules/base.xml.in.h:244
msgid "Faroe Islands"
msgstr "페로 제도"
-#: ../rules/base.xml.in.h:243
+#: ../rules/base.xml.in.h:245
msgid "Fin"
msgstr "핀란드"
-#: ../rules/base.xml.in.h:244
+#: ../rules/base.xml.in.h:246
msgid "Finland"
msgstr "핀란드"
#. This assumes the KP_ abstract symbols are actually useful for some apps
#. The description needs to be rewritten
-#: ../rules/base.xml.in.h:247
+#: ../rules/base.xml.in.h:249
msgid "Four-level key with abstract separators"
msgstr "네번째 단계, 가상 구분 문자 사용"
-#: ../rules/base.xml.in.h:248
+#: ../rules/base.xml.in.h:250
msgid "Four-level key with comma"
msgstr "네번째 단계, 쉼표 사용"
-#: ../rules/base.xml.in.h:249
+#: ../rules/base.xml.in.h:251
msgid "Four-level key with dot"
msgstr "네번째 단계, 점 사용"
-#: ../rules/base.xml.in.h:250
+#: ../rules/base.xml.in.h:252
msgid "Four-level key with dot, latin-9 restriction"
msgstr "네번째 단계, 점 사용, latin-9 제한 사항"
# momayyez: http://en.wikipedia.org/wiki/Momayyez
-#: ../rules/base.xml.in.h:251
+#: ../rules/base.xml.in.h:253
msgid "Four-level key with momayyez"
msgstr "네번째 단계, 아랍식 쉼표 (momayyez) 사용"
-#: ../rules/base.xml.in.h:252
+#: ../rules/base.xml.in.h:254
msgid "Fra"
msgstr "프랑스"
-#: ../rules/base.xml.in.h:253
+#: ../rules/base.xml.in.h:255
msgid "France"
msgstr "프랑스"
-#: ../rules/base.xml.in.h:254
+#: ../rules/base.xml.in.h:256
msgid "Français (France Alternative)"
msgstr "Français (프랑스 다른 버전)"
-#: ../rules/base.xml.in.h:255
+#: ../rules/base.xml.in.h:257
msgid "French"
msgstr "프랑스어"
-#: ../rules/base.xml.in.h:256
+#: ../rules/base.xml.in.h:258
msgid "French (Macintosh)"
msgstr "프랑스어 (매킨토시)"
-#: ../rules/base.xml.in.h:257
+#: ../rules/base.xml.in.h:259
msgid "French (legacy)"
msgstr "프랑스어 (구형 방식)"
-#: ../rules/base.xml.in.h:258
+#: ../rules/base.xml.in.h:260
msgid "French Dvorak"
msgstr "프랑스어 드보락"
-#: ../rules/base.xml.in.h:259
+#: ../rules/base.xml.in.h:261
msgid "French, Sun dead keys"
msgstr "프랑스어, 썬 데드키"
-#: ../rules/base.xml.in.h:260
+#: ../rules/base.xml.in.h:262
msgid "French, eliminate dead keys"
msgstr "프랑스어, 데드키 없음"
-#: ../rules/base.xml.in.h:261
+#: ../rules/base.xml.in.h:263
msgid "Fro"
msgstr "페로 제도"
-#: ../rules/base.xml.in.h:262
+#: ../rules/base.xml.in.h:264
msgid "Fujitsu-Siemens Computers AMILO laptop"
msgstr "후지스-지멘스 컴퓨터 AMILO 노트북"
-#: ../rules/base.xml.in.h:263
+#: ../rules/base.xml.in.h:265
msgid "Fula"
msgstr "풀라"
-#: ../rules/base.xml.in.h:264
+#: ../rules/base.xml.in.h:266
msgid "GBr"
msgstr "영국"
-#: ../rules/base.xml.in.h:265
+#: ../rules/base.xml.in.h:267
msgid "GILLBT"
msgstr "GILLBT"
# 가나의 언어
-#: ../rules/base.xml.in.h:266
+#: ../rules/base.xml.in.h:268
msgid "Ga"
msgstr "가어"
-#: ../rules/base.xml.in.h:267
+#: ../rules/base.xml.in.h:269
msgid "Generic 101-key PC"
msgstr "일반 101키 PC"
-#: ../rules/base.xml.in.h:268
+#: ../rules/base.xml.in.h:270
msgid "Generic 102-key (Intl) PC"
msgstr "일반 102키 (국제 버전) PC"
-#: ../rules/base.xml.in.h:269
+#: ../rules/base.xml.in.h:271
msgid "Generic 104-key PC"
msgstr "일반 104키 PC"
-#: ../rules/base.xml.in.h:270
+#: ../rules/base.xml.in.h:272
msgid "Generic 105-key (Intl) PC"
msgstr "일반 105키 (국제 버전) PC"
-#: ../rules/base.xml.in.h:271
+#: ../rules/base.xml.in.h:273
msgid "Genius Comfy KB-12e"
msgstr "Genius Comfy KB-12e"
-#: ../rules/base.xml.in.h:272
+#: ../rules/base.xml.in.h:274
msgid "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
msgstr "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
-#: ../rules/base.xml.in.h:273
+#: ../rules/base.xml.in.h:275
msgid "Genius Comfy KB-21e-Scroll"
msgstr "Genius Comfy KB-21e-Scroll"
-#: ../rules/base.xml.in.h:274
+#: ../rules/base.xml.in.h:276
msgid "Genius KB-19e NB"
msgstr "Genius KB-19e NB"
-#: ../rules/base.xml.in.h:275
+#: ../rules/base.xml.in.h:277
msgid "Genius KKB-2050HS"
msgstr "Genius KKB-2050HS"
-#: ../rules/base.xml.in.h:276
+#: ../rules/base.xml.in.h:278
msgid "Geo"
msgstr "조지아"
-#: ../rules/base.xml.in.h:277
+#: ../rules/base.xml.in.h:279
msgid "Georgia"
msgstr "조지아"
-#: ../rules/base.xml.in.h:278
+#: ../rules/base.xml.in.h:280
msgid "Georgian"
msgstr "조지아"
-#: ../rules/base.xml.in.h:279
+#: ../rules/base.xml.in.h:281
msgid "Georgian AZERTY Tskapo"
msgstr "조지아 AZERTY Tskapo"
-#: ../rules/base.xml.in.h:280
+#: ../rules/base.xml.in.h:282
msgid "German (Macintosh)"
msgstr "독일어 (매킨토시)"
-#: ../rules/base.xml.in.h:281
+#: ../rules/base.xml.in.h:283
msgid "German, Sun dead keys"
msgstr "독일어, 썬 데드키"
-#: ../rules/base.xml.in.h:282
+#: ../rules/base.xml.in.h:284
msgid "German, eliminate dead keys"
msgstr "독일어, 데드키 없음"
-#: ../rules/base.xml.in.h:283
+#: ../rules/base.xml.in.h:285
msgid "Germany"
msgstr "독일"
-#: ../rules/base.xml.in.h:284
+#: ../rules/base.xml.in.h:286
msgid "Gha"
msgstr "가나"
-#: ../rules/base.xml.in.h:285
+#: ../rules/base.xml.in.h:287
msgid "Ghana"
msgstr "가나"
-#: ../rules/base.xml.in.h:286
+#: ../rules/base.xml.in.h:288
msgid "Gin"
msgstr "기니"
-#: ../rules/base.xml.in.h:287
+#: ../rules/base.xml.in.h:289
msgid "Grc"
msgstr "그리스"
-#: ../rules/base.xml.in.h:288
+#: ../rules/base.xml.in.h:290
msgid "Greece"
msgstr "그리스"
# 기니공화국
-#: ../rules/base.xml.in.h:289
+#: ../rules/base.xml.in.h:291
msgid "Guinea"
msgstr "기니"
-#: ../rules/base.xml.in.h:290
+#: ../rules/base.xml.in.h:292
msgid "Gujarati"
msgstr "구자라트어"
-#: ../rules/base.xml.in.h:291
+#: ../rules/base.xml.in.h:293
msgid "Gurmukhi"
msgstr "구르무키 문자"
# 젤룸 - 파키스탄 지역
-#: ../rules/base.xml.in.h:292
+#: ../rules/base.xml.in.h:294
msgid "Gurmukhi Jhelum"
msgstr "구르무키 문자, 젤룸"
# 제조사 이름
-#: ../rules/base.xml.in.h:293
+#: ../rules/base.xml.in.h:295
msgid "Gyration"
msgstr "Gyration"
-#: ../rules/base.xml.in.h:294
+#: ../rules/base.xml.in.h:296
msgid "Happy Hacking Keyboard"
msgstr "해피해킹 키보드"
-#: ../rules/base.xml.in.h:295
+#: ../rules/base.xml.in.h:297
msgid "Happy Hacking Keyboard for Mac"
msgstr "해피해킹 키보드, 맥용"
# 나이지리아 변형
-#: ../rules/base.xml.in.h:296
+#: ../rules/base.xml.in.h:298
msgid "Hausa"
msgstr "하우사어"
-#: ../rules/base.xml.in.h:297
+#: ../rules/base.xml.in.h:299
msgid "Hewlett-Packard Internet Keyboard"
msgstr "휴렛팩커드 인터넷 키보드"
-#: ../rules/base.xml.in.h:298
+#: ../rules/base.xml.in.h:300
msgid "Hewlett-Packard Mini 110 Notebook"
msgstr "휴렛팩커드 Mini 110 Notebook"
-#: ../rules/base.xml.in.h:299
+#: ../rules/base.xml.in.h:301
msgid "Hewlett-Packard Omnibook 500 FA"
msgstr "휴렛팩커드 Omnibook 500 FA"
-#: ../rules/base.xml.in.h:300
+#: ../rules/base.xml.in.h:302
msgid "Hewlett-Packard Omnibook 5xx"
msgstr "휴렛팩커드 Omnibook 5xx"
-#: ../rules/base.xml.in.h:301
+#: ../rules/base.xml.in.h:303
msgid "Hewlett-Packard Omnibook 6000/6100"
msgstr "휴렛팩커드 Omnibook 6000/6100"
-#: ../rules/base.xml.in.h:302
+#: ../rules/base.xml.in.h:304
msgid "Hewlett-Packard Omnibook XE3 GC"
msgstr "휴렛팩커드 Omnibook XE3 GC"
-#: ../rules/base.xml.in.h:303
+#: ../rules/base.xml.in.h:305
msgid "Hewlett-Packard Omnibook XE3 GF"
msgstr "휴렛팩커드 Omnibook XE3 GF"
-#: ../rules/base.xml.in.h:304
+#: ../rules/base.xml.in.h:306
msgid "Hewlett-Packard Omnibook XT1000"
msgstr "휴렛팩커드 Omnibook XT1000"
-#: ../rules/base.xml.in.h:305
+#: ../rules/base.xml.in.h:307
msgid "Hewlett-Packard Pavilion ZT11xx"
msgstr "휴렛팩커드 Pavilion ZT11xx"
-#: ../rules/base.xml.in.h:306
+#: ../rules/base.xml.in.h:308
msgid "Hewlett-Packard Pavilion dv5"
msgstr "휴렛팩커드 Pavilion dv5"
-#: ../rules/base.xml.in.h:307
+#: ../rules/base.xml.in.h:309
msgid "Hewlett-Packard SK-250x Multimedia Keyboard"
msgstr "휴렛팩커드 SK-250x 멀티미디어 키보드"
-#: ../rules/base.xml.in.h:308
+#: ../rules/base.xml.in.h:310
msgid "Hewlett-Packard nx9020"
msgstr "휴렛팩커드 nx9020"
-#: ../rules/base.xml.in.h:309
+#: ../rules/base.xml.in.h:311
msgid "Hexadecimal"
msgstr "십육진법"
# Bolnagri: x input method 이름, http://indlinux.org/wiki/index.php/BolNagri
-#: ../rules/base.xml.in.h:310
+#: ../rules/base.xml.in.h:312
msgid "Hindi Bolnagri"
msgstr "힌두어 Bolnagri"
-#: ../rules/base.xml.in.h:311
+#: ../rules/base.xml.in.h:313
msgid "Hindi Wx"
msgstr "힌두어 Wx"
# 음악 용어, 상표인가?
-#: ../rules/base.xml.in.h:312
+#: ../rules/base.xml.in.h:314
msgid "Homophonic"
msgstr "호모포닉"
-#: ../rules/base.xml.in.h:313
+#: ../rules/base.xml.in.h:315
msgid "Honeywell Euroboard"
msgstr "하니웰 Euroboard"
-#: ../rules/base.xml.in.h:314
+#: ../rules/base.xml.in.h:316
msgid "Hrv"
msgstr "크로아티아"
-#: ../rules/base.xml.in.h:315
+#: ../rules/base.xml.in.h:317
msgid "Hun"
msgstr "헝가리"
-#: ../rules/base.xml.in.h:316
+#: ../rules/base.xml.in.h:318
msgid "Hungary"
msgstr "헝가리"
-#: ../rules/base.xml.in.h:317
+#: ../rules/base.xml.in.h:319
msgid "Hyper is mapped to Win-keys"
msgstr "Hyper 키를 윈도우 키로 매핑"
-#: ../rules/base.xml.in.h:318
+#: ../rules/base.xml.in.h:320
msgid "IBM (LST 1205-92)"
msgstr "IBM (LST 1205-92)"
-#: ../rules/base.xml.in.h:319
+#: ../rules/base.xml.in.h:321
msgid "IBM Rapid Access"
msgstr "IBM Rapid Access"
-#: ../rules/base.xml.in.h:320
+#: ../rules/base.xml.in.h:322
msgid "IBM Rapid Access II"
msgstr "IBM Rapid Access II"
-#: ../rules/base.xml.in.h:321
+#: ../rules/base.xml.in.h:323
msgid "IBM Space Saver"
msgstr "IBM Space Saver"
-#: ../rules/base.xml.in.h:322
+#: ../rules/base.xml.in.h:324
msgid "IBM ThinkPad 560Z/600/600E/A22E"
msgstr "IBM ThinkPad 560Z/600/600E/A22E"
-#: ../rules/base.xml.in.h:323
+#: ../rules/base.xml.in.h:325
msgid "IBM ThinkPad R60/T60/R61/T61"
msgstr "IBM ThinkPad R60/T60/R61/T61"
-#: ../rules/base.xml.in.h:324
+#: ../rules/base.xml.in.h:326
msgid "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
msgstr "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
-#: ../rules/base.xml.in.h:325
+#: ../rules/base.xml.in.h:327
msgid "ISO Alternate"
msgstr "ISO 다른 버전"
-#: ../rules/base.xml.in.h:326
+#: ../rules/base.xml.in.h:328
msgid "Iceland"
msgstr "아이슬랜드"
# 나이지리아 변형
-#: ../rules/base.xml.in.h:327
+#: ../rules/base.xml.in.h:329
msgid "Igbo"
msgstr "이그보어"
-#: ../rules/base.xml.in.h:328
+#: ../rules/base.xml.in.h:330
msgid "Include dead tilde"
msgstr "물결 데드키 포함"
-#: ../rules/base.xml.in.h:329
+#: ../rules/base.xml.in.h:331
msgid "Ind"
msgstr "인도"
-#: ../rules/base.xml.in.h:330
+#: ../rules/base.xml.in.h:332
msgid "India"
msgstr "인도"
-#: ../rules/base.xml.in.h:331
+#: ../rules/base.xml.in.h:333
msgid "International (AltGr dead keys)"
msgstr "국제 버전 (AltGr 데드키)"
-#: ../rules/base.xml.in.h:332
+#: ../rules/base.xml.in.h:334
msgid "International (with dead keys)"
msgstr "국제 버전 (데드키 포함)"
-#: ../rules/base.xml.in.h:333
+#: ../rules/base.xml.in.h:335
msgid "Inuktitut"
msgstr "이누이트어"
-#: ../rules/base.xml.in.h:334
+#: ../rules/base.xml.in.h:336 ../rules/base.extras.xml.in.h:8
msgid "Iran"
msgstr "이란"
-#: ../rules/base.xml.in.h:335
+#: ../rules/base.xml.in.h:337
msgid "Iraq"
msgstr "이라크"
-#: ../rules/base.xml.in.h:336
+#: ../rules/base.xml.in.h:338
msgid "Ireland"
msgstr "아일랜드"
-#: ../rules/base.xml.in.h:337
+#: ../rules/base.xml.in.h:339
msgid "Irl"
msgstr "아일랜드"
-#: ../rules/base.xml.in.h:338
+#: ../rules/base.xml.in.h:340
msgid "Irn"
msgstr "아일랜드"
-#: ../rules/base.xml.in.h:339
+#: ../rules/base.xml.in.h:341
msgid "Irq"
msgstr "이라크"
-#: ../rules/base.xml.in.h:340
+#: ../rules/base.xml.in.h:342
msgid "Isl"
msgstr "아이슬랜드"
-#: ../rules/base.xml.in.h:341
+#: ../rules/base.xml.in.h:343
msgid "Isr"
msgstr "이스라엘"
-#: ../rules/base.xml.in.h:342
+#: ../rules/base.xml.in.h:344
msgid "Israel"
msgstr "이스라엘"
-#: ../rules/base.xml.in.h:343
+#: ../rules/base.xml.in.h:345
msgid "Ita"
msgstr "이탈리아"
-#: ../rules/base.xml.in.h:344
+#: ../rules/base.xml.in.h:346
msgid "Italy"
msgstr "이탈리아"
-#: ../rules/base.xml.in.h:345
+#: ../rules/base.xml.in.h:347
msgid "Japan"
msgstr "일본"
-#: ../rules/base.xml.in.h:346
+#: ../rules/base.xml.in.h:348
msgid "Japan (PC-98xx Series)"
msgstr "일본 (PC-98xx 시리즈)"
-#: ../rules/base.xml.in.h:347
+#: ../rules/base.xml.in.h:349
msgid "Japanese keyboard options"
msgstr "일본어 키보드 옵션"
-#: ../rules/base.xml.in.h:348
+#: ../rules/base.xml.in.h:350
msgid "Jpn"
msgstr "일본"
# http://ko.wikipedia.org/wiki/칼미크어
-#: ../rules/base.xml.in.h:349
+#: ../rules/base.xml.in.h:351
msgid "Kalmyk"
msgstr "칼미크어"
-#: ../rules/base.xml.in.h:350
+#: ../rules/base.xml.in.h:352
msgid "Kana"
msgstr "가나"
-#: ../rules/base.xml.in.h:351
+#: ../rules/base.xml.in.h:353
msgid "Kana Lock key is locking"
msgstr "Kana Lock 키 상태 고정"
-#: ../rules/base.xml.in.h:352
+#: ../rules/base.xml.in.h:354
msgid "Kannada"
msgstr "칸나다어"
-#: ../rules/base.xml.in.h:353
+#: ../rules/base.xml.in.h:355
msgid "Kashubian"
msgstr "카슈브어"
-#: ../rules/base.xml.in.h:354
+#: ../rules/base.xml.in.h:356
msgid "Kaz"
msgstr "카자흐스탄"
-#: ../rules/base.xml.in.h:355
+#: ../rules/base.xml.in.h:357
msgid "Kazakh with Russian"
msgstr "카자흐스탄, 러시아어 포함"
-#: ../rules/base.xml.in.h:356
+#: ../rules/base.xml.in.h:358
msgid "Kazakhstan"
msgstr "카자흐스탄"
-#: ../rules/base.xml.in.h:357
+#: ../rules/base.xml.in.h:359
msgid "Ken"
msgstr "케냐"
-#: ../rules/base.xml.in.h:358
+#: ../rules/base.xml.in.h:360
msgid "Kenya"
msgstr "케냐"
-#: ../rules/base.xml.in.h:359
+#: ../rules/base.xml.in.h:361
msgid "Key sequence to kill the X server"
msgstr "X 서버를 멈추는 키 조합"
-#: ../rules/base.xml.in.h:360
+#: ../rules/base.xml.in.h:362
msgid "Key to choose 3rd level"
msgstr "3번째 단계를 선택하는 키"
-#: ../rules/base.xml.in.h:361
+#: ../rules/base.xml.in.h:363
msgid "Key to choose 5th level"
msgstr "5번째 단계를 선택하는 키"
-#: ../rules/base.xml.in.h:362
+#: ../rules/base.xml.in.h:364
msgid "Key(s) to change layout"
msgstr "배치를 전환하는 키"
-#: ../rules/base.xml.in.h:363
+#: ../rules/base.xml.in.h:365
msgid "Keytronic FlexPro"
msgstr "Keytronic FlexPro"
-#: ../rules/base.xml.in.h:364
+#: ../rules/base.xml.in.h:366
msgid "Kgz"
msgstr "키르지스탄"
-#: ../rules/base.xml.in.h:365
+#: ../rules/base.xml.in.h:367
msgid "Khm"
msgstr "캄보디아"
# http://en.wikipedia.org/wiki/Kikuyu#Language
-#: ../rules/base.xml.in.h:366
+#: ../rules/base.xml.in.h:368
msgid "Kikuyu"
msgstr "키쿠유어"
+#: ../rules/base.xml.in.h:369
+msgid "Kinesis"
+msgstr "키네시스"
+
# http://ko.wikipedia.org/wiki/코미어
-#: ../rules/base.xml.in.h:367
+#: ../rules/base.xml.in.h:370
msgid "Komi"
msgstr "코미어"
-#: ../rules/base.xml.in.h:368
+#: ../rules/base.xml.in.h:371
msgid "Kor"
msgstr "대한민국"
-#: ../rules/base.xml.in.h:369
+#: ../rules/base.xml.in.h:372
msgid "Korea, Republic of"
msgstr "대한민국"
# 쿠테나이 - 아메리카 원주민 부족
-#: ../rules/base.xml.in.h:370
+#: ../rules/base.xml.in.h:373
msgid "Ktunaxa"
msgstr "쿠테나이"
-#: ../rules/base.xml.in.h:371
+#: ../rules/base.xml.in.h:374
msgid "Kurdish, (F)"
msgstr "쿠르드어, (F)"
-#: ../rules/base.xml.in.h:372
+#: ../rules/base.xml.in.h:375
msgid "Kurdish, Arabic-Latin"
msgstr "쿠르드어, 아랍어 라틴"
-#: ../rules/base.xml.in.h:373
+#: ../rules/base.xml.in.h:376
msgid "Kurdish, Latin Alt-Q"
msgstr "쿠르드어, 라틴 Alt-Q"
-#: ../rules/base.xml.in.h:374
+#: ../rules/base.xml.in.h:377
msgid "Kurdish, Latin Q"
msgstr "쿠르드어, 라틴 Q"
-#: ../rules/base.xml.in.h:375
+#: ../rules/base.xml.in.h:378
msgid "Kyrgyzstan"
msgstr "키르기지스탄"
-#: ../rules/base.xml.in.h:376
+#: ../rules/base.xml.in.h:379
msgid "LAm"
msgstr "라틴 아메리카"
# 리투아니아어 레이아웃 이름 http://lekp.info/
-#: ../rules/base.xml.in.h:377
+#: ../rules/base.xml.in.h:380
msgid "LEKP"
msgstr "LEKP"
# 리투아니아어 레이아웃 이름 http://lekp.info/
-#: ../rules/base.xml.in.h:378
+#: ../rules/base.xml.in.h:381
msgid "LEKPa"
msgstr "LEKPa"
-#: ../rules/base.xml.in.h:379
+#: ../rules/base.xml.in.h:382
msgid "Lao"
msgstr "라오스"
-#: ../rules/base.xml.in.h:380
+#: ../rules/base.xml.in.h:383
msgid "Laos"
msgstr "라오스"
-#: ../rules/base.xml.in.h:381
+#: ../rules/base.xml.in.h:384
msgid "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard"
msgstr "노트북 컴팩 (Armada 등) 노트북 키보드"
-#: ../rules/base.xml.in.h:382
+#: ../rules/base.xml.in.h:385
msgid "Laptop/notebook Compaq (eg. Presario) Internet Keyboard"
msgstr "노트북 컴팩 (Presario 등) 노트북 키보드"
-#: ../rules/base.xml.in.h:383
+#: ../rules/base.xml.in.h:386
msgid "Laptop/notebook eMachines m68xx"
msgstr "노트북 컴팩 eMachines m68xx"
-#: ../rules/base.xml.in.h:384
+#: ../rules/base.xml.in.h:387
msgid "Latin"
msgstr "라틴"
-#: ../rules/base.xml.in.h:385
+#: ../rules/base.xml.in.h:388
msgid "Latin American"
msgstr "라틴 아메리카"
-#: ../rules/base.xml.in.h:386
+#: ../rules/base.xml.in.h:389
msgid "Latin Unicode"
msgstr "라틴 유니코드"
-#: ../rules/base.xml.in.h:387
+#: ../rules/base.xml.in.h:390
msgid "Latin Unicode qwerty"
msgstr "라틴 유니코드 QWERTY"
-#: ../rules/base.xml.in.h:388
+#: ../rules/base.xml.in.h:391
msgid "Latin qwerty"
msgstr "라틴 QWERTY"
-#: ../rules/base.xml.in.h:389
+#: ../rules/base.xml.in.h:392
msgid "Latin unicode"
msgstr "라틴 유니코드"
-#: ../rules/base.xml.in.h:390
+#: ../rules/base.xml.in.h:393
msgid "Latin unicode qwerty"
msgstr "라틴 유니코드 QWERTY"
-#: ../rules/base.xml.in.h:391
+#: ../rules/base.xml.in.h:394
msgid "Latin with guillemets"
msgstr "라틴, 각괄호 포함"
-#: ../rules/base.xml.in.h:392
+#: ../rules/base.xml.in.h:395
msgid "Latvia"
msgstr "라트비아"
-#: ../rules/base.xml.in.h:393
+#: ../rules/base.xml.in.h:396
msgid "Layout toggle on multiply/divide key"
msgstr "곱하기/나누기 키에 키보드 배치 토글"
-#: ../rules/base.xml.in.h:394
+#: ../rules/base.xml.in.h:397
msgid "Left Alt"
msgstr "왼쪽 Alt"
-#: ../rules/base.xml.in.h:395
+#: ../rules/base.xml.in.h:398
msgid "Left Alt (while pressed)"
msgstr "왼쪽 Alt (누르고 있는 동안)"
-#: ../rules/base.xml.in.h:396
+#: ../rules/base.xml.in.h:399
msgid "Left Alt is swapped with Left Win"
msgstr "왼쪽 Alt와 왼쪽 윈도우 키 뒤바꾸기"
-#: ../rules/base.xml.in.h:397
+#: ../rules/base.xml.in.h:400
msgid "Left Ctrl"
msgstr "왼쪽 Ctrl"
-#: ../rules/base.xml.in.h:398
+#: ../rules/base.xml.in.h:401
msgid "Left Ctrl (to first layout), Right Ctrl (to last layout)"
msgstr "왼쪽 Ctrl (1번 키보드 배치로), 오른쪽 Ctrl (마지막 키보드 배치로)"
-#: ../rules/base.xml.in.h:399
+#: ../rules/base.xml.in.h:402
msgid "Left Ctrl+Left Shift"
msgstr "왼쪽 Ctrl+왼쪽 Shift"
-#: ../rules/base.xml.in.h:400
+#: ../rules/base.xml.in.h:403
msgid "Left Shift"
msgstr "왼쪽 Shift"
-#: ../rules/base.xml.in.h:401
+#: ../rules/base.xml.in.h:404
msgid "Left Win"
msgstr "왼쪽 윈도우"
-#: ../rules/base.xml.in.h:402
+#: ../rules/base.xml.in.h:405
msgid "Left Win (to first layout), Right Win/Menu (to last layout)"
msgstr "왼쪽 윈도우 (1번으로), 오른쪽 윈도우/메뉴 (마지막으로)"
-#: ../rules/base.xml.in.h:403
+#: ../rules/base.xml.in.h:406
msgid "Left Win (while pressed)"
msgstr "왼쪽 윈도우 (누르고 있는 동안)"
-#: ../rules/base.xml.in.h:404
+#: ../rules/base.xml.in.h:407
msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "왼쪽 윈도우로 5번째 단계 선택, 다른 5번째 단계 선택 키와 같이 누르면 고정"
-#: ../rules/base.xml.in.h:405
+#: ../rules/base.xml.in.h:408
msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "왼쪽 윈도우로 5번째 단계 선택, 다른 5번째 단계 선택 키와 같이 누르면 고정, 한 번 누르면 고정 해제"
-#: ../rules/base.xml.in.h:406
+#: ../rules/base.xml.in.h:409
msgid "Left hand"
msgstr "왼손잡이"
-#: ../rules/base.xml.in.h:407
+#: ../rules/base.xml.in.h:410
msgid "Left handed Dvorak"
msgstr "왼손잡이 드보락"
-#: ../rules/base.xml.in.h:408
+#: ../rules/base.xml.in.h:411
msgid "Legacy"
msgstr "구형 방식"
-#: ../rules/base.xml.in.h:409
+#: ../rules/base.xml.in.h:412
msgid "Legacy Wang 724"
msgstr "구형 방식 Wang 724 키패드"
#. Actually, with KP_SEPARATOR, as the old keypad(comma)
-#: ../rules/base.xml.in.h:411
+#: ../rules/base.xml.in.h:414
msgid "Legacy key with comma"
msgstr "구형 방식 키, 쉼표 포함"
-#: ../rules/base.xml.in.h:412
+#: ../rules/base.xml.in.h:415
msgid "Legacy key with dot"
msgstr "구형 방식 키, 점 포함"
-#: ../rules/base.xml.in.h:413
+#: ../rules/base.xml.in.h:416
msgid "Lithuania"
msgstr "리투아니아"
-#: ../rules/base.xml.in.h:414
+#: ../rules/base.xml.in.h:417
msgid "Lka"
msgstr "스리랑카"
# 한국에서 광고하는 대로 음역
-#: ../rules/base.xml.in.h:415
+#: ../rules/base.xml.in.h:418
msgid "Logitech Access Keyboard"
msgstr "로지텍 액세스 키보드"
# 한국에서 광고하는 대로 음역
-#: ../rules/base.xml.in.h:416
+#: ../rules/base.xml.in.h:419
msgid "Logitech Cordless Desktop"
msgstr "로지텍 무선 데스크탑"
# 한국에서 광고하는 대로 음역
-#: ../rules/base.xml.in.h:417
+#: ../rules/base.xml.in.h:420
msgid "Logitech Cordless Desktop (alternate option)"
msgstr "로지텍 무선 데스크탑 (다른 옵션)"
# 한국에서 광고하는 대로 음역
-#: ../rules/base.xml.in.h:418
+#: ../rules/base.xml.in.h:421
msgid "Logitech Cordless Desktop EX110"
msgstr "로지텍 무선 데스크탑 EX110"
# 한국에서 광고하는 대로 음역
-#: ../rules/base.xml.in.h:419
+#: ../rules/base.xml.in.h:422
msgid "Logitech Cordless Desktop LX-300"
msgstr "로지텍 무선 데스크탑 LX-300"
# 한국에서 광고하는 대로 음역
-#: ../rules/base.xml.in.h:420
+#: ../rules/base.xml.in.h:423
msgid "Logitech Cordless Desktop Navigator"
msgstr "로지텍 무선 데스크탑 내비게이터"
# 한국에서 광고하는 대로 음역
-#: ../rules/base.xml.in.h:421
+#: ../rules/base.xml.in.h:424
msgid "Logitech Cordless Desktop Optical"
msgstr "로지텍 무선 데스크탑 옵티컬"
# 한국에서 광고하는 대로 음역
-#: ../rules/base.xml.in.h:422
+#: ../rules/base.xml.in.h:425
msgid "Logitech Cordless Desktop Pro (alternate option 2)"
msgstr "로지텍 무선 데스크탑 프로 (다른 옵션 2)"
# 한국에서 광고하는 대로 음역
-#: ../rules/base.xml.in.h:423
+#: ../rules/base.xml.in.h:426
msgid "Logitech Cordless Desktop iTouch"
msgstr "로지텍 무선 데스크탑 아이터치"
# 한국에서 광고하는 대로 음역
-#: ../rules/base.xml.in.h:424
+#: ../rules/base.xml.in.h:427
msgid "Logitech Cordless Freedom/Desktop Navigator"
msgstr "로지텍 무선 프리덤/데스크탑 내비게이터"
# 한국에서 광고하는 대로 음역
-#: ../rules/base.xml.in.h:425
+#: ../rules/base.xml.in.h:428
msgid "Logitech G15 extra keys via G15daemon"
msgstr "로지텍 G15 추가 키, G15daemon 사용"
# 한국에서 광고하는 대로 음역
-#: ../rules/base.xml.in.h:426
+#: ../rules/base.xml.in.h:429
msgid "Logitech Generic Keyboard"
msgstr "로지텍 일반 키보드"
# 한국에서 광고하는 대로 음역
-#: ../rules/base.xml.in.h:427
+#: ../rules/base.xml.in.h:430
msgid "Logitech Internet 350 Keyboard"
msgstr "로지텍 인터넷 350 키보드"
# 한국에서 광고하는 대로 음역
-#: ../rules/base.xml.in.h:428
+#: ../rules/base.xml.in.h:431
msgid "Logitech Internet Keyboard"
msgstr "로지텍 인터넷 키보드"
# 한국에서 광고하는 대로 음역
-#: ../rules/base.xml.in.h:429
+#: ../rules/base.xml.in.h:432
msgid "Logitech Internet Navigator Keyboard"
msgstr "로지텍 인터넷 내비게이터 키보드"
# 한국에서 광고하는 대로 음역
-#: ../rules/base.xml.in.h:430
+#: ../rules/base.xml.in.h:433
msgid "Logitech Media Elite Keyboard"
msgstr "로지텍 미디어 엘리트 키보드"
# 한국에서 광고하는 대로 음역
-#: ../rules/base.xml.in.h:431
+#: ../rules/base.xml.in.h:434
msgid "Logitech Ultra-X Cordless Media Desktop Keyboard"
msgstr "로지텍 울트라 무선 미디어 데스크탑 키보드"
# 한국에서 광고하는 대로 음역
-#: ../rules/base.xml.in.h:432
+#: ../rules/base.xml.in.h:435
msgid "Logitech Ultra-X Keyboard"
msgstr "로지텍 울트라 키보드"
# 한국에서 광고하는 대로 음역
-#: ../rules/base.xml.in.h:433
+#: ../rules/base.xml.in.h:436
msgid "Logitech diNovo Edge Keyboard"
msgstr "로지텍 디노보 엣지 키보드"
# 한국에서 광고하는 대로 음역
-#: ../rules/base.xml.in.h:434
+#: ../rules/base.xml.in.h:437
msgid "Logitech diNovo Keyboard"
msgstr "로지텍 디노보 키보드"
# 한국에서 광고하는 대로 음역
-#: ../rules/base.xml.in.h:435
+#: ../rules/base.xml.in.h:438
msgid "Logitech iTouch"
msgstr "로지텍 아이터치"
# 한국에서 광고하는 대로 음역
-#: ../rules/base.xml.in.h:436
+#: ../rules/base.xml.in.h:439
msgid "Logitech iTouch Cordless Keyboard (model Y-RB6)"
msgstr "로지텍 아이터치 무선 키보드 (모델 Y-RB6)"
# 한국에서 광고하는 대로 음역
-#: ../rules/base.xml.in.h:437
+#: ../rules/base.xml.in.h:440
msgid "Logitech iTouch Internet Navigator Keyboard SE"
msgstr "로지텍 아이터치 인터넷 내비게이터 키보드 SE"
# 한국에서 광고하는 대로 음역
-#: ../rules/base.xml.in.h:438
+#: ../rules/base.xml.in.h:441
msgid "Logitech iTouch Internet Navigator Keyboard SE (USB)"
msgstr "로지텍 아이터치 인터넷 내비게이터 키보드 SE (USB)"
# http://ko.wikipedia.org/wiki/저지_소르브어
-#: ../rules/base.xml.in.h:439
+#: ../rules/base.xml.in.h:442
msgid "Lower Sorbian"
msgstr "저지 소르브어"
# http://ko.wikipedia.org/wiki/저지_소르브어
-#: ../rules/base.xml.in.h:440
+#: ../rules/base.xml.in.h:443
msgid "Lower Sorbian (qwertz)"
msgstr "저지 소르브어 (QWERTZ)"
-#: ../rules/base.xml.in.h:441
+#: ../rules/base.xml.in.h:444
msgid "Ltu"
msgstr "리투아니아"
-#: ../rules/base.xml.in.h:442
+#: ../rules/base.xml.in.h:445
msgid "Lva"
msgstr "라트비아"
-#: ../rules/base.xml.in.h:443
+#: ../rules/base.xml.in.h:446
msgid "MESS"
msgstr "MESS"
-#: ../rules/base.xml.in.h:444
+#: ../rules/base.xml.in.h:447
msgid "MNE"
msgstr "몬테네그로"
-#: ../rules/base.xml.in.h:445
+#: ../rules/base.xml.in.h:448
msgid "MacBook/MacBook Pro"
msgstr "MacBook/MacBook Pro"
-#: ../rules/base.xml.in.h:446
+#: ../rules/base.xml.in.h:449
msgid "MacBook/MacBook Pro (Intl)"
msgstr "MacBook/MacBook Pro (국제 버전)"
-#: ../rules/base.xml.in.h:447
+#: ../rules/base.xml.in.h:450
msgid "Macedonia"
msgstr "마케도니아"
-#: ../rules/base.xml.in.h:448
+#: ../rules/base.xml.in.h:451
msgid "Macintosh"
msgstr "매킨토시"
-#: ../rules/base.xml.in.h:449
+#: ../rules/base.xml.in.h:452
+msgid "Macintosh (International)"
+msgstr "매킨토시 (국제 버전)"
+
+#: ../rules/base.xml.in.h:453
msgid "Macintosh Old"
msgstr "매킨토시 구형"
-#: ../rules/base.xml.in.h:450
+#: ../rules/base.xml.in.h:454
msgid "Macintosh, Sun dead keys"
msgstr "매킨토시, 썬 데드키"
-#: ../rules/base.xml.in.h:451
+#: ../rules/base.xml.in.h:455
msgid "Macintosh, eliminate dead keys"
msgstr "매킨토시, 데드키 없음"
-#: ../rules/base.xml.in.h:452
-msgid "Make CapsLock an additional Backspace"
-msgstr "CapsLock을 추가 백스페이스로 사용"
+#: ../rules/base.xml.in.h:456
+msgid "Make Caps Lock an additional Backspace"
+msgstr "Caps Lock을 추가 백스페이스로 사용"
-#: ../rules/base.xml.in.h:453
-msgid "Make CapsLock an additional Ctrl"
-msgstr "CapsLock을 추가 Ctrl로 사용"
+#: ../rules/base.xml.in.h:457
+msgid "Make Caps Lock an additional Ctrl"
+msgstr "Caps Lock을 추가 Ctrl로 사용"
-#: ../rules/base.xml.in.h:454
-msgid "Make CapsLock an additional ESC"
-msgstr "CapsLock을 추가 ESC로 사용"
+#: ../rules/base.xml.in.h:458
+msgid "Make Caps Lock an additional ESC"
+msgstr "Caps Lock을 추가 ESC로 사용"
-#: ../rules/base.xml.in.h:455
-msgid "Make CapsLock an additional Hyper"
-msgstr "CapsLock을 추가 Hyper로 사용"
+#: ../rules/base.xml.in.h:459
+msgid "Make Caps Lock an additional Hyper"
+msgstr "Caps Lock을 추가 Hyper로 사용"
-#: ../rules/base.xml.in.h:456
-msgid "Make CapsLock an additional NumLock"
-msgstr "CapsLock을 추가 NumLock으로 사용"
+#: ../rules/base.xml.in.h:460
+msgid "Make Caps Lock an additional Num Lock"
+msgstr "Caps Lock을 추가 Num Lock으로 사용"
-#: ../rules/base.xml.in.h:457
-msgid "Make CapsLock an additional Super"
-msgstr "CapsLock을 추가 Super로 사용"
+#: ../rules/base.xml.in.h:461
+msgid "Make Caps Lock an additional Super"
+msgstr "Caps Lock을 추가 Super로 사용"
-#: ../rules/base.xml.in.h:458
+#: ../rules/base.xml.in.h:462
msgid "Malayalam"
msgstr "말라얄람어"
-#: ../rules/base.xml.in.h:459
+#: ../rules/base.xml.in.h:463
msgid "Malayalam Lalitha"
msgstr "말라얄람어 라리타"
-#: ../rules/base.xml.in.h:460
+#: ../rules/base.xml.in.h:464
msgid "Maldives"
msgstr "몰디브"
-#: ../rules/base.xml.in.h:461
+#: ../rules/base.xml.in.h:465
msgid "Mali"
msgstr "말리"
-#: ../rules/base.xml.in.h:462
+#: ../rules/base.xml.in.h:466
msgid "Malta"
msgstr "몰타"
-#: ../rules/base.xml.in.h:463
+#: ../rules/base.xml.in.h:467
msgid "Maltese keyboard with US layout"
msgstr "몰타 키보드, 미국식 배치"
-#: ../rules/base.xml.in.h:464
+#: ../rules/base.xml.in.h:468
msgid "Mao"
msgstr "마오리"
-#: ../rules/base.xml.in.h:465
+#: ../rules/base.xml.in.h:469
msgid "Maori"
msgstr "마오리"
-#: ../rules/base.xml.in.h:466
+#: ../rules/base.xml.in.h:470
msgid "Mdv"
msgstr "몰디브"
-#: ../rules/base.xml.in.h:467
+#: ../rules/base.xml.in.h:471
msgid "Memorex MX1998"
msgstr "Memorex MX1998"
-#: ../rules/base.xml.in.h:468
+#: ../rules/base.xml.in.h:472
msgid "Memorex MX2500 EZ-Access Keyboard"
msgstr "Memorex MX2500 EZ-Access 키보드"
-#: ../rules/base.xml.in.h:469
+#: ../rules/base.xml.in.h:473
msgid "Memorex MX2750"
msgstr "Memorex MX2750"
-#: ../rules/base.xml.in.h:470
+#: ../rules/base.xml.in.h:474
msgid "Menu"
msgstr "메뉴"
-#: ../rules/base.xml.in.h:471
+#: ../rules/base.xml.in.h:475
msgid "Meta is mapped to Left Win"
msgstr "메타 키를 왼쪽 윈도우 키로 매핑"
-#: ../rules/base.xml.in.h:472
+#: ../rules/base.xml.in.h:476
msgid "Meta is mapped to Win keys"
msgstr "메타 키를 윈도우 키로 매핑"
-#: ../rules/base.xml.in.h:473
+#: ../rules/base.xml.in.h:477
msgid "Microsoft Comfort Curve Keyboard 2000"
msgstr "마이크로소프트 컴포트 커브 키보드 2000"
-#: ../rules/base.xml.in.h:474
+#: ../rules/base.xml.in.h:478
msgid "Microsoft Internet Keyboard"
msgstr "마이크로소프트 인터넷 키보드"
-#: ../rules/base.xml.in.h:475
+#: ../rules/base.xml.in.h:479
msgid "Microsoft Internet Keyboard Pro, Swedish"
msgstr "마이크로소프트 인터넷 키보드 프로, 스웨덴"
-#: ../rules/base.xml.in.h:476
+#: ../rules/base.xml.in.h:480
msgid "Microsoft Natural"
msgstr "마이크로소프트 내츄럴"
-#: ../rules/base.xml.in.h:477
+#: ../rules/base.xml.in.h:481
msgid "Microsoft Natural Keyboard Elite"
msgstr "마이크로소프트 내츄럴 키보드 엘리트"
-#: ../rules/base.xml.in.h:478
+#: ../rules/base.xml.in.h:482
msgid "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
msgstr "마이크로소프트 내츄럴 키보드 / 마이크로소프트 인터넷 키보드 프로"
-#: ../rules/base.xml.in.h:479
+#: ../rules/base.xml.in.h:483
msgid "Microsoft Natural Keyboard Pro OEM"
msgstr "마이크로소프트 내츄럴 키보드 프로 OEM"
-#: ../rules/base.xml.in.h:480
+#: ../rules/base.xml.in.h:484
msgid "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
msgstr "마이크로소프트 내츄럴 키보드 프로 USB / 마이크로소프트 인터넷 키보드 프로"
-#: ../rules/base.xml.in.h:481
+#: ../rules/base.xml.in.h:485
msgid "Microsoft Natural Wireless Ergonomic Keyboard 7000"
msgstr "마이크로소프트 내츄럴 무선 어고노믹 키보드 7000"
-#: ../rules/base.xml.in.h:482
+#: ../rules/base.xml.in.h:486
msgid "Microsoft Office Keyboard"
msgstr "마이크로소프트 오피스 키보드"
-#: ../rules/base.xml.in.h:483
+#: ../rules/base.xml.in.h:487
msgid "Microsoft Wireless Multimedia Keyboard 1.0A"
msgstr "마이크로소프트 무선 멀티미디어 키보드 1.0A"
-#: ../rules/base.xml.in.h:484
+#: ../rules/base.xml.in.h:488
msgid "Miscellaneous compatibility options"
msgstr "기타 호환성 옵션"
-#: ../rules/base.xml.in.h:485
+#: ../rules/base.xml.in.h:489
msgid "Mkd"
msgstr "마케도니아"
-#: ../rules/base.xml.in.h:486
+#: ../rules/base.xml.in.h:490
msgid "Mli"
msgstr "말리"
-#: ../rules/base.xml.in.h:487
+#: ../rules/base.xml.in.h:491
msgid "Mlt"
msgstr "몰타"
-#: ../rules/base.xml.in.h:488
+#: ../rules/base.xml.in.h:492
msgid "Mmr"
msgstr "미얀마"
-#: ../rules/base.xml.in.h:489
+#: ../rules/base.xml.in.h:493
msgid "Mng"
msgstr "몽골"
-#: ../rules/base.xml.in.h:490
+#: ../rules/base.xml.in.h:494
msgid "Mongolia"
msgstr "몽골"
-#: ../rules/base.xml.in.h:491
+#: ../rules/base.xml.in.h:495
msgid "Montenegro"
msgstr "몬테네그로"
-#: ../rules/base.xml.in.h:492
+#: ../rules/base.xml.in.h:496
msgid "Morocco"
msgstr "모로코"
-#: ../rules/base.xml.in.h:493
+#: ../rules/base.xml.in.h:497
msgid "Multilingual"
msgstr "여러 언어 지원"
-#: ../rules/base.xml.in.h:494
+#: ../rules/base.xml.in.h:498
msgid "Multilingual, first part"
msgstr "여러 언어 지원, 첫번째"
-#: ../rules/base.xml.in.h:495
+#: ../rules/base.xml.in.h:499
msgid "Multilingual, second part"
msgstr "여러 언어 지원, 두번째"
-#: ../rules/base.xml.in.h:496
+#: ../rules/base.xml.in.h:500
msgid "Myanmar"
msgstr "미얀마"
-#: ../rules/base.xml.in.h:497
+#: ../rules/base.xml.in.h:501
msgid "NICOLA-F style Backspace"
msgstr "NICOLA-F 방식 백스페이스"
# 우르드어 키보드 형태
-#: ../rules/base.xml.in.h:498
+#: ../rules/base.xml.in.h:502
msgid "NLA"
msgstr "NLA"
# 아메리카 소수 언어
-#: ../rules/base.xml.in.h:499
+#: ../rules/base.xml.in.h:503
msgid "Nativo"
msgstr "나티보"
# 아메리카 소수 언어
-#: ../rules/base.xml.in.h:500
+#: ../rules/base.xml.in.h:504
msgid "Nativo for Esperanto"
msgstr "나티보, 에스페란토"
# 아메리카 소수 언어
-#: ../rules/base.xml.in.h:501
+#: ../rules/base.xml.in.h:505
msgid "Nativo for USA keyboards"
msgstr "나티보, 미국 키보드"
# 독일어?
-#: ../rules/base.xml.in.h:502
+#: ../rules/base.xml.in.h:506
msgid "Neo 2"
msgstr "Neo 2"
-#: ../rules/base.xml.in.h:503
+#: ../rules/base.xml.in.h:507
msgid "Nepal"
msgstr "네팔"
-#: ../rules/base.xml.in.h:504
+#: ../rules/base.xml.in.h:508
msgid "Netherlands"
msgstr "네덜란드"
-#: ../rules/base.xml.in.h:505
+#: ../rules/base.xml.in.h:509
msgid "New phonetic"
msgstr "새 음성 표기"
-#: ../rules/base.xml.in.h:506
+#: ../rules/base.xml.in.h:510
msgid "Nga"
msgstr "나이지리아"
-#: ../rules/base.xml.in.h:507
+#: ../rules/base.xml.in.h:511
msgid "Nigeria"
msgstr "나이지리아"
-#: ../rules/base.xml.in.h:508
+#: ../rules/base.xml.in.h:512
msgid "Nld"
msgstr "네덜란드"
-#: ../rules/base.xml.in.h:509
+#: ../rules/base.xml.in.h:513
msgid "Non-breakable space character at fourth level"
msgstr "4번째 단계에서 강제 공백 문자"
-#: ../rules/base.xml.in.h:510
+#: ../rules/base.xml.in.h:514
msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level"
msgstr "4번째 단계에서 강제 공백 문자, 6번째 단계에서 얇은 강제 공백 문자"
-#: ../rules/base.xml.in.h:511
+#: ../rules/base.xml.in.h:515
msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)"
msgstr "4번째 단계에서 강제 공백 문자, 6번째 단계에서 얇은 강제 공백 문자 (Ctrl+Shift 사용)"
-#: ../rules/base.xml.in.h:512
+#: ../rules/base.xml.in.h:516
msgid "Non-breakable space character at second level"
msgstr "2번째 단계에서 강제 공백 문자"
-#: ../rules/base.xml.in.h:513
+#: ../rules/base.xml.in.h:517
msgid "Non-breakable space character at third level"
msgstr "3번째 단계에서 강제 공백 문자"
-#: ../rules/base.xml.in.h:514
+#: ../rules/base.xml.in.h:518
msgid "Non-breakable space character at third level, nothing at fourth level"
msgstr "3번째 단계에서 강제 공백 문자, 4번째에서는 출력 없음."
-#: ../rules/base.xml.in.h:515
+#: ../rules/base.xml.in.h:519
msgid "Non-breakable space character at third level, thin non-breakable space character at fourth level"
msgstr "3번째 단계에서 강제 공백 문자, 4번째에서는 얇은 강제 공백 문자."
-#: ../rules/base.xml.in.h:516
+#: ../rules/base.xml.in.h:520
msgid "Nor"
msgstr "노르웨이"
-#: ../rules/base.xml.in.h:517
+#: ../rules/base.xml.in.h:521
msgid "Northern Saami"
msgstr "북 사오미"
-#: ../rules/base.xml.in.h:518
+#: ../rules/base.xml.in.h:522
msgid "Northern Saami, eliminate dead keys"
msgstr "북 사오미, 데드키 없음"
-#: ../rules/base.xml.in.h:519
+#: ../rules/base.xml.in.h:523
msgid "Northgate OmniKey 101"
msgstr "노스게이트 OmniKey 101"
-#: ../rules/base.xml.in.h:520
+#: ../rules/base.xml.in.h:524
msgid "Norway"
msgstr "노르웨이"
-#: ../rules/base.xml.in.h:521
+#: ../rules/base.xml.in.h:525
msgid "Npl"
msgstr "네팔"
-#: ../rules/base.xml.in.h:522
-msgid "NumLock"
-msgstr "NumLock"
+#: ../rules/base.xml.in.h:526
+msgid "Num Lock"
+msgstr "Num Lock"
-#: ../rules/base.xml.in.h:523
+#: ../rules/base.xml.in.h:527
msgid "Numeric keypad delete key behaviour"
msgstr "숫자 키패드의 Delete 키 동작"
-#: ../rules/base.xml.in.h:524
+#: ../rules/base.xml.in.h:528
msgid "Numeric keypad keys work as with Mac"
msgstr "숫자 키패드 키가 맥과 동일하게 동작"
-#: ../rules/base.xml.in.h:525
+#: ../rules/base.xml.in.h:529
msgid "Numeric keypad layout selection"
msgstr "숫자 키패드 배치 선택"
-#: ../rules/base.xml.in.h:526
+#: ../rules/base.xml.in.h:530
msgid "OADG 109A"
msgstr "OADG 109A"
-#: ../rules/base.xml.in.h:527
+#: ../rules/base.xml.in.h:531
msgid "OLPC"
msgstr "OLPC"
# 아프가니스탄 공용어의 하나, http://ko.wikipedia.org/wiki/%EB%8B%A4%EB%A6%AC%EC%96%B4
-#: ../rules/base.xml.in.h:528
+#: ../rules/base.xml.in.h:532
msgid "OLPC Dari"
msgstr "OLPC 다리어"
# 아프가니스탄 공용어의 하나, http://ko.wikipedia.org/wiki/%ED%8C%8C%EC%8A%88%ED%86%A0%EC%96%B4
-#: ../rules/base.xml.in.h:529
+#: ../rules/base.xml.in.h:533
msgid "OLPC Pashto"
msgstr "OLPC 파슈토어"
-#: ../rules/base.xml.in.h:530
+#: ../rules/base.xml.in.h:534
msgid "OLPC Southern Uzbek"
msgstr "OLPC 남 우즈벡"
-#: ../rules/base.xml.in.h:531
+#: ../rules/base.xml.in.h:535
msgid "Occitan"
msgstr "오크어"
# 아일랜드 변형
-#: ../rules/base.xml.in.h:532
+#: ../rules/base.xml.in.h:536
msgid "Ogham"
msgstr "오검 문자"
# 아일랜드 변형
-#: ../rules/base.xml.in.h:533
+#: ../rules/base.xml.in.h:537
msgid "Ogham IS434"
msgstr "오검 문자 IS434"
# Oriya - 인도 방언
-#: ../rules/base.xml.in.h:534
+#: ../rules/base.xml.in.h:538
msgid "Oriya"
msgstr "오리야어"
-#: ../rules/base.xml.in.h:535
+#: ../rules/base.xml.in.h:539
msgid "Ortek MCK-800 MM/Internet keyboard"
msgstr "Ortek MCK-800 MM/Internet 키보드"
# 러시아 변형
-#: ../rules/base.xml.in.h:536
+#: ../rules/base.xml.in.h:540
msgid "Ossetian"
msgstr "Ossetian"
-#: ../rules/base.xml.in.h:537
+#: ../rules/base.xml.in.h:541
msgid "Ossetian, Winkeys"
msgstr "Ossetian, 윈도우 키"
-#: ../rules/base.xml.in.h:538
+#: ../rules/base.xml.in.h:542
msgid "Ossetian, legacy"
msgstr "Ossetian, 구형 방식 키"
-#: ../rules/base.xml.in.h:539
+#: ../rules/base.xml.in.h:543
msgid "PC-98xx Series"
msgstr "PC-98xx 시리즈"
-#: ../rules/base.xml.in.h:540
+#: ../rules/base.xml.in.h:544
msgid "Pak"
msgstr "파키스탄"
-#: ../rules/base.xml.in.h:541
+#: ../rules/base.xml.in.h:545
msgid "Pakistan"
msgstr "파키스탄"
-#: ../rules/base.xml.in.h:542
+#: ../rules/base.xml.in.h:546
msgid "Pannonian Rusyn Homophonic"
msgstr "판노니아 루테니아 기호"
# 아프가니스탄
-#: ../rules/base.xml.in.h:543
+#: ../rules/base.xml.in.h:547
msgid "Pashto"
msgstr "파슈토어"
# 태국
-#: ../rules/base.xml.in.h:544
+#: ../rules/base.xml.in.h:548
msgid "Pattachote"
msgstr "Pattachote"
-#: ../rules/base.xml.in.h:545
+#: ../rules/base.xml.in.h:549
msgid "Pause"
msgstr "Pause"
-#: ../rules/base.xml.in.h:546
+#: ../rules/base.xml.in.h:550
msgid "Persian, with Persian Keypad"
msgstr "페르시아어, 페르시아어 키패드"
-#: ../rules/base.xml.in.h:547
+#: ../rules/base.xml.in.h:551
msgid "Phonetic"
msgstr "음성 표기"
-#: ../rules/base.xml.in.h:548
+#: ../rules/base.xml.in.h:552
msgid "Phonetic Winkeys"
msgstr "음성 표기, 윈도우 키"
-#: ../rules/base.xml.in.h:549
+#: ../rules/base.xml.in.h:553
msgid "Pol"
msgstr "폴란드"
-#: ../rules/base.xml.in.h:550
+#: ../rules/base.xml.in.h:554
msgid "Poland"
msgstr "폴란드"
# 그리스어 발음 표기 http://en.wikipedia.org/wiki/Polytonic_orthography
-#: ../rules/base.xml.in.h:551
+#: ../rules/base.xml.in.h:555
msgid "Polytonic"
msgstr "폴리토닉"
-#: ../rules/base.xml.in.h:552
+#: ../rules/base.xml.in.h:556
msgid "Portugal"
msgstr "포르투갈"
-#: ../rules/base.xml.in.h:553
+#: ../rules/base.xml.in.h:557
msgid "Probhat"
msgstr "프롭햇"
-#: ../rules/base.xml.in.h:554
+#: ../rules/base.xml.in.h:558
msgid "Programmer Dvorak"
msgstr "프로그래머 드보락"
-#: ../rules/base.xml.in.h:555
+#: ../rules/base.xml.in.h:559
msgid "Propeller Voyager (KTEZ-1000)"
msgstr "Propeller Voyager (KTEZ-1000)"
-#: ../rules/base.xml.in.h:556
+#: ../rules/base.xml.in.h:560
msgid "Prt"
msgstr "포르투갈"
-#: ../rules/base.xml.in.h:557
+#: ../rules/base.xml.in.h:561
msgid "PrtSc"
msgstr "PrtSc"
-#: ../rules/base.xml.in.h:558
+#: ../rules/base.xml.in.h:562
msgid "QTronix Scorpius 98N+"
msgstr "QTronix Scorpius 98N+"
-#: ../rules/base.xml.in.h:559
+#: ../rules/base.xml.in.h:563
msgid "Right Alt"
msgstr "오른쪽 Alt"
-#: ../rules/base.xml.in.h:560
+#: ../rules/base.xml.in.h:564
msgid "Right Alt (while pressed)"
msgstr "오른쪽 Alt (누르고 있는 동안)"
-#: ../rules/base.xml.in.h:561
+#: ../rules/base.xml.in.h:565
msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "오른쪽 Alt로 5번째 단계 선택, 다른 5번째 단계 선택 키와 같이 누르면 고정"
-#: ../rules/base.xml.in.h:562
+#: ../rules/base.xml.in.h:566
msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "오른쪽 Alt로 5번째 단계 선택, 다른 5번째 단계 선택 키와 같이 누르면 고정, 한 번 누르면 고정 해제"
-#: ../rules/base.xml.in.h:563
+#: ../rules/base.xml.in.h:567
msgid "Right Alt key never chooses 3rd level"
msgstr "오른쪽 Alt는 3번째 단계를 선택하지 않음"
-#: ../rules/base.xml.in.h:564
+#: ../rules/base.xml.in.h:568
msgid "Right Alt, Shift+Right Alt key is Multi_Key"
msgstr "오른쪽 Alt, Shift+오른쪽 Alt가 Multi_Key"
-#: ../rules/base.xml.in.h:565
+#: ../rules/base.xml.in.h:569
msgid "Right Ctrl"
msgstr "오른쪽 Ctrl"
-#: ../rules/base.xml.in.h:566
+#: ../rules/base.xml.in.h:570
msgid "Right Ctrl (while pressed)"
msgstr "오른쪽 Ctrl (누르고 있는 동안)"
-#: ../rules/base.xml.in.h:567
+#: ../rules/base.xml.in.h:571
msgid "Right Ctrl as Right Alt"
msgstr "오른쪽 Ctrl 키를 오른쪽 Alt 키로"
-#: ../rules/base.xml.in.h:568
+#: ../rules/base.xml.in.h:572
msgid "Right Ctrl+Right Shift"
msgstr "오른쪽 Ctrl+오른쪽 Alt"
-#: ../rules/base.xml.in.h:569
+#: ../rules/base.xml.in.h:573
msgid "Right Shift"
msgstr "오른쪽 Shift"
-#: ../rules/base.xml.in.h:570
+#: ../rules/base.xml.in.h:574
msgid "Right Win"
msgstr "오른쪽 윈도우"
-#: ../rules/base.xml.in.h:571
+#: ../rules/base.xml.in.h:575
msgid "Right Win (while pressed)"
msgstr "오른쪽 윈도우 (누르고 있는 동안)"
-#: ../rules/base.xml.in.h:572
+#: ../rules/base.xml.in.h:576
msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "오른쪽 윈도우로 5번째 단계 선택, 다른 5번째 단계 선택 키와 같이 누르면 고정"
-#: ../rules/base.xml.in.h:573
+#: ../rules/base.xml.in.h:577
msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "오른쪽 윈도우로 5번째 단계 선택, 다른 5번째 단계 선택 키와 같이 누르면 고정, 한 번 누르면 고정 해제"
-#: ../rules/base.xml.in.h:574
+#: ../rules/base.xml.in.h:578
msgid "Right hand"
msgstr "오른손잡이"
-#: ../rules/base.xml.in.h:575
+#: ../rules/base.xml.in.h:579
msgid "Right handed Dvorak"
msgstr "오른손잡이 드보락"
-#: ../rules/base.xml.in.h:576
+#: ../rules/base.xml.in.h:580
msgid "Romania"
msgstr "루마니아"
-#: ../rules/base.xml.in.h:577
+#: ../rules/base.xml.in.h:581
msgid "Romanian keyboard with German letters"
msgstr "루마니아 키보드, 독일어 글자"
-#: ../rules/base.xml.in.h:578
+#: ../rules/base.xml.in.h:582
msgid "Romanian keyboard with German letters, eliminate dead keys"
msgstr "루마니아 키보드, 독일어 글자, 데드키 없음"
-#: ../rules/base.xml.in.h:579
+#: ../rules/base.xml.in.h:583
msgid "Rou"
msgstr "루마니아"
-#: ../rules/base.xml.in.h:580
+#: ../rules/base.xml.in.h:584
msgid "Rus"
msgstr "러시아"
-#: ../rules/base.xml.in.h:581
+#: ../rules/base.xml.in.h:585
msgid "Russia"
msgstr "러시아"
-#: ../rules/base.xml.in.h:582
+#: ../rules/base.xml.in.h:586
msgid "Russian"
msgstr "러시아어"
-#: ../rules/base.xml.in.h:583
+#: ../rules/base.xml.in.h:587
msgid "Russian phonetic"
msgstr "러시아어 음성 표기"
-#: ../rules/base.xml.in.h:584
+#: ../rules/base.xml.in.h:588
msgid "Russian phonetic Dvorak"
msgstr "러시아어 음성 표기 드보락"
-#: ../rules/base.xml.in.h:585
+#: ../rules/base.xml.in.h:589
msgid "Russian phonetic, eliminate dead keys"
msgstr "러시아어 음성 표기, 데드키 없음"
-#: ../rules/base.xml.in.h:586
+#: ../rules/base.xml.in.h:590
msgid "Russian with Kazakh"
msgstr "러시아어, 카자흐 포함"
-#: ../rules/base.xml.in.h:587
+#: ../rules/base.xml.in.h:591
msgid "SILVERCREST Multimedia Wireless Keyboard"
msgstr "SILVERCREST Multimedia Wireless 키보드"
-#: ../rules/base.xml.in.h:588
+#: ../rules/base.xml.in.h:592
msgid "SK-1300"
msgstr "SK-1300"
-#: ../rules/base.xml.in.h:589
+#: ../rules/base.xml.in.h:593
msgid "SK-2500"
msgstr "SK-2500"
-#: ../rules/base.xml.in.h:590
+#: ../rules/base.xml.in.h:594
msgid "SK-6200"
msgstr "SK-6200"
-#: ../rules/base.xml.in.h:591
+#: ../rules/base.xml.in.h:595
msgid "SK-7100"
msgstr "SK-7100"
-#: ../rules/base.xml.in.h:592 ../rules/base.extras.xml.in.h:7
+#: ../rules/base.xml.in.h:596 ../rules/base.extras.xml.in.h:9
msgid "SRB"
msgstr "SRB"
-#: ../rules/base.xml.in.h:593
+#: ../rules/base.xml.in.h:597
msgid "SVEN Ergonomic 2500"
msgstr "SVEN Ergonomic 2500"
-#: ../rules/base.xml.in.h:594
+#: ../rules/base.xml.in.h:598
msgid "SVEN Slim 303"
msgstr "SVEN Slim 303"
-#: ../rules/base.xml.in.h:595
+#: ../rules/base.xml.in.h:599
msgid "Samsung SDM 4500P"
msgstr "삼성 SDM 4500P"
-#: ../rules/base.xml.in.h:596
+#: ../rules/base.xml.in.h:600
msgid "Samsung SDM 4510P"
msgstr "삼성 SDM 4510P"
-#: ../rules/base.xml.in.h:597
-msgid "ScrollLock"
-msgstr "ScrollLock"
+#: ../rules/base.xml.in.h:601
+msgid "Scroll Lock"
+msgstr "Scroll Lock"
# 캐나다 소스 언어
-#: ../rules/base.xml.in.h:598
+#: ../rules/base.xml.in.h:602
msgid "Secwepemctsin"
msgstr "슈스와프어"
-#: ../rules/base.xml.in.h:599
+#: ../rules/base.xml.in.h:603
msgid "Semi-colon on third level"
msgstr "3번째 단계에서 세미콜론"
-#: ../rules/base.xml.in.h:600
+#: ../rules/base.xml.in.h:604
msgid "Sen"
msgstr "세네갈"
-#: ../rules/base.xml.in.h:601
+#: ../rules/base.xml.in.h:605
msgid "Senegal"
msgstr "세네갈"
-#: ../rules/base.xml.in.h:602 ../rules/base.extras.xml.in.h:8
+#: ../rules/base.xml.in.h:606 ../rules/base.extras.xml.in.h:10
msgid "Serbia"
msgstr "세르비아"
-#: ../rules/base.xml.in.h:603
+#: ../rules/base.xml.in.h:607
msgid "Serbian"
msgstr "세르비아어"
-#: ../rules/base.xml.in.h:604
-msgid "Shift cancels CapsLock"
-msgstr "Shift를 누르면 CapsLock 끄기"
+#: ../rules/base.xml.in.h:608
+msgid "Shift cancels Caps Lock"
+msgstr "Shift를 누르면 Caps Lock 끄기"
-#: ../rules/base.xml.in.h:605
-msgid "Shift does not cancel NumLock, chooses 3rd level instead"
-msgstr "Shift를 누르면 NumLock을 끄지 않고, 3번째 레벨을 선택"
+#: ../rules/base.xml.in.h:609
+msgid "Shift does not cancel Num Lock, chooses 3rd level instead"
+msgstr "Shift를 누르면 Num Lock을 끄지 않고, 3번째 단계를 선택"
-#: ../rules/base.xml.in.h:606
+#: ../rules/base.xml.in.h:610
msgid "Shift with numeric keypad keys works as in MS Windows"
msgstr "Shift와 동시에 숫자 키패드 키를 누르면 MS 윈도우즈와 동일하게 동작"
-#: ../rules/base.xml.in.h:607
-msgid "Shift+CapsLock"
-msgstr "Shift+CapsLock"
+#: ../rules/base.xml.in.h:611
+msgid "Shift+Caps Lock"
+msgstr "Shift+Caps Lock"
-#: ../rules/base.xml.in.h:608
+#: ../rules/base.xml.in.h:612
msgid "Simple"
msgstr "간단"
-#: ../rules/base.xml.in.h:609
+# 인도
+#: ../rules/base.xml.in.h:613
+msgid "Sindhi"
+msgstr "신디어"
+
+#: ../rules/base.xml.in.h:614
msgid "Slovakia"
msgstr "슬로바키아"
-#: ../rules/base.xml.in.h:610
+#: ../rules/base.xml.in.h:615
msgid "Slovenia"
msgstr "슬로베니아"
-#: ../rules/base.xml.in.h:611
+#: ../rules/base.xml.in.h:616
msgid "South Africa"
msgstr "남아공"
-#: ../rules/base.xml.in.h:612
+#: ../rules/base.xml.in.h:617
msgid "Southern Uzbek"
msgstr "남 우즈벡"
-#: ../rules/base.xml.in.h:613
+#: ../rules/base.xml.in.h:618
msgid "Spain"
msgstr "스페인"
-#: ../rules/base.xml.in.h:614
+#: ../rules/base.xml.in.h:619
msgid "Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server"
msgstr "특수 키는 (Ctrl+Alt+&lt;키&gt;) 서버에서 처리"
-#: ../rules/base.xml.in.h:615
+#: ../rules/base.xml.in.h:620
msgid "Sri Lanka"
msgstr "스리랑카"
-#: ../rules/base.xml.in.h:616
+#: ../rules/base.xml.in.h:621
msgid "Standard"
msgstr "표준"
-#: ../rules/base.xml.in.h:617
+#: ../rules/base.xml.in.h:622
msgid "Standard (Cedilla)"
msgstr "표준 (세디유)"
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:619
+#: ../rules/base.xml.in.h:624
msgid "Standard RSTU"
msgstr "표준 RSTU"
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:621
+#: ../rules/base.xml.in.h:626
msgid "Standard RSTU on Russian layout"
msgstr "표준 RSTU 러시아어 배치"
-#: ../rules/base.xml.in.h:622
+#: ../rules/base.xml.in.h:627
msgid "Sun Type 5/6"
msgstr "썬 타입 5/6"
-#: ../rules/base.xml.in.h:623
+#: ../rules/base.xml.in.h:628
msgid "Sun dead keys"
msgstr "썬 데드키"
-#: ../rules/base.xml.in.h:624
+#: ../rules/base.xml.in.h:629
msgid "Super Power Multimedia Keyboard"
msgstr "Super Power 멀티미디어 키보드"
-#: ../rules/base.xml.in.h:625
+#: ../rules/base.xml.in.h:630
msgid "Svdvorak"
msgstr "슬로바키아 드보락"
-#: ../rules/base.xml.in.h:626
+#: ../rules/base.xml.in.h:631
msgid "Svk"
msgstr "슬로바키아"
-#: ../rules/base.xml.in.h:627
+#: ../rules/base.xml.in.h:632
msgid "Svn"
msgstr "슬로베니아"
-#: ../rules/base.xml.in.h:628
-msgid "Swap Ctrl and CapsLock"
-msgstr "Ctrl과 CapsLock 뒤바꾸기"
+#: ../rules/base.xml.in.h:633
+msgid "Swap Ctrl and Caps Lock"
+msgstr "Ctrl과 Caps Lock 뒤바꾸기"
-#: ../rules/base.xml.in.h:629
-msgid "Swap ESC and CapsLock"
-msgstr "ESC와 CapsLock 뒤바꾸기"
+#: ../rules/base.xml.in.h:634
+msgid "Swap ESC and Caps Lock"
+msgstr "ESC와 Caps Lock 뒤바꾸기"
-#: ../rules/base.xml.in.h:630
+#: ../rules/base.xml.in.h:635
msgid "Swe"
msgstr "스웨덴"
-#: ../rules/base.xml.in.h:631
+#: ../rules/base.xml.in.h:636
msgid "Sweden"
msgstr "스웨덴"
-#: ../rules/base.xml.in.h:632
+#: ../rules/base.xml.in.h:637
msgid "Switzerland"
msgstr "스위스"
-#: ../rules/base.xml.in.h:633
+#: ../rules/base.xml.in.h:638
msgid "Symplon PaceBook (tablet PC)"
msgstr "Symplon PaceBook (타블렛 PC)"
-#: ../rules/base.xml.in.h:634
+#: ../rules/base.xml.in.h:639
msgid "Syr"
msgstr "시리아"
-#: ../rules/base.xml.in.h:635
+#: ../rules/base.xml.in.h:640
msgid "Syria"
msgstr "시리아"
-#: ../rules/base.xml.in.h:636
+#: ../rules/base.xml.in.h:641
msgid "Syriac"
msgstr "시리아어"
-#: ../rules/base.xml.in.h:637
+#: ../rules/base.xml.in.h:642
msgid "Syriac phonetic"
msgstr "시리아어 음성 기호"
-#: ../rules/base.xml.in.h:638
+#: ../rules/base.xml.in.h:643
msgid "TIS-820.2538"
msgstr "TIS-820.2538"
-#: ../rules/base.xml.in.h:639
+#: ../rules/base.xml.in.h:644
msgid "Tajikistan"
msgstr "타지키스탄"
-#: ../rules/base.xml.in.h:640
+#: ../rules/base.xml.in.h:645
msgid "Tamil"
msgstr "타밀어"
-#: ../rules/base.xml.in.h:641
+#: ../rules/base.xml.in.h:646
msgid "Tamil Keyboard with Numerals"
msgstr "타밀어 키보드, 숫자 포함"
-#: ../rules/base.xml.in.h:642
+#: ../rules/base.xml.in.h:647
msgid "Tamil TAB Typewriter"
msgstr "타밀어 TAB 타자기"
-#: ../rules/base.xml.in.h:643
+#: ../rules/base.xml.in.h:648
msgid "Tamil TSCII Typewriter"
msgstr "타밀어 TSCII 타자기"
-#: ../rules/base.xml.in.h:644
+#: ../rules/base.xml.in.h:649
msgid "Tamil Unicode"
msgstr "타밀어 유니코드"
-#: ../rules/base.xml.in.h:645
+#: ../rules/base.xml.in.h:650
msgid "Tanzania"
msgstr "탄자니아"
-#: ../rules/base.xml.in.h:646
+#: ../rules/base.xml.in.h:651
msgid "Targa Visionary 811"
msgstr "Targa Visionary 811"
# http://ko.wikipedia.org/wiki/타타르어
-#: ../rules/base.xml.in.h:647
+#: ../rules/base.xml.in.h:652
msgid "Tatar"
msgstr "타타르어"
-#: ../rules/base.xml.in.h:648
+#: ../rules/base.xml.in.h:653
msgid "Telugu"
msgstr "텔루구어"
-#: ../rules/base.xml.in.h:649
+#: ../rules/base.xml.in.h:654
msgid "Tha"
msgstr "태국"
-#: ../rules/base.xml.in.h:650
+#: ../rules/base.xml.in.h:655
msgid "Thailand"
msgstr "태국"
-#: ../rules/base.xml.in.h:651
+#: ../rules/base.xml.in.h:656
msgid "Tibetan"
msgstr "티베트"
-#: ../rules/base.xml.in.h:652
+#: ../rules/base.xml.in.h:657
msgid "Tibetan (with ASCII numerals)"
msgstr "티베트 (ASCII 숫자 포함)"
-#: ../rules/base.xml.in.h:653
+#: ../rules/base.xml.in.h:658
msgid "Tifinagh"
msgstr "티피나그"
-#: ../rules/base.xml.in.h:654
-msgid "Tifinagh Alternative"
+#: ../rules/base.xml.in.h:659
+msgid "Tifinagh alternative"
msgstr "티피나그 다른 버전"
-#: ../rules/base.xml.in.h:655
-msgid "Tifinagh Alternative Phonetic"
+#: ../rules/base.xml.in.h:660
+msgid "Tifinagh alternative phonetic"
msgstr "티피나그 다른 음성 기호 버전"
-#: ../rules/base.xml.in.h:656
-msgid "Tifinagh Extended"
+#: ../rules/base.xml.in.h:661
+msgid "Tifinagh extended"
msgstr "티피나그 확장"
-#: ../rules/base.xml.in.h:657
-msgid "Tifinagh Extended Phonetic"
+#: ../rules/base.xml.in.h:662
+msgid "Tifinagh extended phonetic"
msgstr "티피나그 확장 음성 기호"
-#: ../rules/base.xml.in.h:658
-msgid "Tifinagh Phonetic"
+#: ../rules/base.xml.in.h:663
+msgid "Tifinagh phonetic"
msgstr "티피나그 음성 기호"
-#: ../rules/base.xml.in.h:659
+#: ../rules/base.xml.in.h:664
msgid "Tilde (~) variant"
msgstr "틸드 (~) 변형"
-#: ../rules/base.xml.in.h:660
+#: ../rules/base.xml.in.h:665
msgid "Tjk"
msgstr "타지키스탄"
-#: ../rules/base.xml.in.h:661
+#: ../rules/base.xml.in.h:666
msgid "Tkm"
msgstr "투르크메니스탄"
-#: ../rules/base.xml.in.h:662
+#: ../rules/base.xml.in.h:667
msgid "To the corresponding key in a Dvorak keyboard."
msgstr "드보락 키보드에서 해당하는 키로."
-#: ../rules/base.xml.in.h:663
+#: ../rules/base.xml.in.h:668
msgid "To the corresponding key in a Qwerty keyboard."
msgstr "QWERTY 키보드에서 해당하는 키로."
-#: ../rules/base.xml.in.h:664
+#: ../rules/base.xml.in.h:669
msgid "Toshiba Satellite S3000"
msgstr "도시바 Satellite S3000"
-#: ../rules/base.xml.in.h:665
+#: ../rules/base.xml.in.h:670
msgid "Traditional phonetic"
msgstr "구식 음성 기호"
-#: ../rules/base.xml.in.h:666
+#: ../rules/base.xml.in.h:671
msgid "Trust Direct Access Keyboard"
msgstr "Trust Direct Access 키보드"
-#: ../rules/base.xml.in.h:667
+#: ../rules/base.xml.in.h:672
msgid "Trust Slimline"
msgstr "Trust Slimline"
-#: ../rules/base.xml.in.h:668
+#: ../rules/base.xml.in.h:673
msgid "Trust Wireless Keyboard Classic"
msgstr "Trust Wireless Keyboard Classic"
-#: ../rules/base.xml.in.h:669
+#: ../rules/base.xml.in.h:674
msgid "Tur"
msgstr "터키"
-#: ../rules/base.xml.in.h:670
+#: ../rules/base.xml.in.h:675
msgid "Turkey"
msgstr "터키"
-#: ../rules/base.xml.in.h:671
+#: ../rules/base.xml.in.h:676
msgid "Turkmenistan"
msgstr "투르크메니스탄"
-#: ../rules/base.xml.in.h:672
+#: ../rules/base.xml.in.h:677
msgid "TypeMatrix EZ-Reach 2020"
msgstr "TypeMatrix EZ-Reach 2020"
-#: ../rules/base.xml.in.h:673
+#: ../rules/base.xml.in.h:678
msgid "TypeMatrix EZ-Reach 2030 PS2"
msgstr "TypeMatrix EZ-Reach 2030 PS2"
-#: ../rules/base.xml.in.h:674
+#: ../rules/base.xml.in.h:679
msgid "TypeMatrix EZ-Reach 2030 USB"
msgstr "TypeMatrix EZ-Reach 2030 USB"
-#: ../rules/base.xml.in.h:675
+#: ../rules/base.xml.in.h:680
msgid "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)"
msgstr "TypeMatrix EZ-Reach 2030 USB (102/105:유럽 모드)"
-#: ../rules/base.xml.in.h:676
+#: ../rules/base.xml.in.h:681
msgid "TypeMatrix EZ-Reach 2030 USB (106:JP mode)"
msgstr "TypeMatrix EZ-Reach 2030 USB (106:일본 모드)"
-#: ../rules/base.xml.in.h:677
+#: ../rules/base.xml.in.h:682
msgid "Typewriter"
msgstr "타자기"
-#: ../rules/base.xml.in.h:678
+#: ../rules/base.xml.in.h:683
msgid "Typewriter, legacy"
msgstr "타자기, 구형"
-#: ../rules/base.xml.in.h:679
+#: ../rules/base.xml.in.h:684
msgid "Tza"
msgstr "탄자니아"
-#: ../rules/base.xml.in.h:680
+#: ../rules/base.xml.in.h:685
msgid "UCW layout (accented letters only)"
msgstr "UCW 배치 (악센트 문자만)"
-#: ../rules/base.xml.in.h:681
+#: ../rules/base.xml.in.h:686
msgid "US Dvorak with CZ UCW support"
msgstr "US 드보락, CZ UCW 지원"
-#: ../rules/base.xml.in.h:682
+#: ../rules/base.xml.in.h:687
msgid "US keyboard with Bosnian digraphs"
msgstr "미국식 키보드, 보스니아 이중 글자 포함"
-#: ../rules/base.xml.in.h:683
+#: ../rules/base.xml.in.h:688
msgid "US keyboard with Bosnian letters"
msgstr "미국식 키보드, 보스니아 글자 포함"
-#: ../rules/base.xml.in.h:684
+#: ../rules/base.xml.in.h:689
msgid "US keyboard with Croatian digraphs"
msgstr "미국식 키보드, 크로아티아 이중 글자 포함"
-#: ../rules/base.xml.in.h:685
+#: ../rules/base.xml.in.h:690
msgid "US keyboard with Croatian letters"
msgstr "미국식 키보드, 크로아티아 글자 포함"
-#: ../rules/base.xml.in.h:686
+#: ../rules/base.xml.in.h:691
msgid "US keyboard with Estonian letters"
msgstr "미국식 키보드, 에스토니아 글자 포함"
-#: ../rules/base.xml.in.h:687
+#: ../rules/base.xml.in.h:692
msgid "US keyboard with Italian letters"
msgstr "미국식 키보드, 이탈리아어 글자 포함"
-#: ../rules/base.xml.in.h:688
+#: ../rules/base.xml.in.h:693
msgid "US keyboard with Lithuanian letters"
msgstr "미국식 키보드, 리투아니아 글자 포함"
-#: ../rules/base.xml.in.h:689
+#: ../rules/base.xml.in.h:694
msgid "US keyboard with Slovenian letters"
msgstr "미국식 키보드, 슬로베니아 글자 포함"
-#: ../rules/base.xml.in.h:690 ../rules/base.extras.xml.in.h:9
+#: ../rules/base.xml.in.h:695 ../rules/base.extras.xml.in.h:11
msgid "USA"
msgstr "미국"
# http://ko.wikipedia.org/wiki/우드무르트어
-#: ../rules/base.xml.in.h:691
+#: ../rules/base.xml.in.h:696
msgid "Udmurt"
msgstr "우드무르트어"
-#: ../rules/base.xml.in.h:692
+#: ../rules/base.xml.in.h:697
msgid "Ukr"
msgstr "우크라이나"
-#: ../rules/base.xml.in.h:693
+#: ../rules/base.xml.in.h:698
msgid "Ukraine"
msgstr "우크라이나"
-#: ../rules/base.xml.in.h:694
+#: ../rules/base.xml.in.h:699
msgid "Unicode additions (arrows and math operators)"
msgstr "유니코드 추가 (화살표 및 수학 기호)"
-#: ../rules/base.xml.in.h:695
+#: ../rules/base.xml.in.h:700
msgid "Unicode additions (arrows and math operators). Math operators on default level"
msgstr "유니코드 추가 (화살표 및 수학 기호). 수학 기호를 기본 단계에"
-#: ../rules/base.xml.in.h:696
+#: ../rules/base.xml.in.h:701
msgid "UnicodeExpert"
msgstr "UnicodeExpert"
-#: ../rules/base.xml.in.h:697
+#: ../rules/base.xml.in.h:702
msgid "United Kingdom"
msgstr "영국"
# Unitek - 유니텍(unitech)이 아님
-#: ../rules/base.xml.in.h:698
+#: ../rules/base.xml.in.h:703
msgid "Unitek KB-1925"
msgstr "Unitek KB-1925"
# Urdu, 인도 방언
-#: ../rules/base.xml.in.h:699
+#: ../rules/base.xml.in.h:704
msgid "Urdu, Alternative phonetic"
msgstr "우르두어, 다른 음성 기호 버전"
# Urdu - 인도 방언
-#: ../rules/base.xml.in.h:700
+#: ../rules/base.xml.in.h:705
msgid "Urdu, Phonetic"
msgstr "우르두어, 음성 표기"
# Urdu - 인도 방언
-#: ../rules/base.xml.in.h:701
+#: ../rules/base.xml.in.h:706
msgid "Urdu, Winkeys"
msgstr "우르두어, 윈도우 키"
-#: ../rules/base.xml.in.h:702
+#: ../rules/base.xml.in.h:707
msgid "Use Bosnian digraphs"
msgstr "보스니아 이중 글자 사용"
-#: ../rules/base.xml.in.h:703
+#: ../rules/base.xml.in.h:708
msgid "Use Croatian digraphs"
msgstr "크로아티아 이중 글자 사용"
-#: ../rules/base.xml.in.h:704
+#: ../rules/base.xml.in.h:709
msgid "Use guillemets for quotes"
msgstr "따옴표에 각괄호 사용"
-#: ../rules/base.xml.in.h:705
+#: ../rules/base.xml.in.h:710
msgid "Use keyboard LED to show alternative layout"
msgstr "키보드 LED에서 다른 키보드 배치 사용 표시"
-#: ../rules/base.xml.in.h:706
+#: ../rules/base.xml.in.h:711
msgid "Using space key to input non-breakable space character"
msgstr "스페이스 키가 강제 공백 출력."
-#: ../rules/base.xml.in.h:707
+#: ../rules/base.xml.in.h:712
msgid "Usual space at any level"
msgstr "모든 단계에서 일반 공백 문자"
-#: ../rules/base.xml.in.h:708
+#: ../rules/base.xml.in.h:713
msgid "Uzb"
msgstr "우즈베키스탄"
-#: ../rules/base.xml.in.h:709
+#: ../rules/base.xml.in.h:714
msgid "Uzbekistan"
msgstr "우즈베키스탄"
-#: ../rules/base.xml.in.h:710
+#: ../rules/base.xml.in.h:715
msgid "Vietnam"
msgstr "베트남"
-#: ../rules/base.xml.in.h:711
+#: ../rules/base.xml.in.h:716
msgid "ViewSonic KU-306 Internet Keyboard"
msgstr "뷰소닉 KU-306 인터넷 키보드"
-#: ../rules/base.xml.in.h:712
+#: ../rules/base.xml.in.h:717
msgid "Vnm"
msgstr "베트남"
-#: ../rules/base.xml.in.h:713
+#: ../rules/base.xml.in.h:718
msgid "Wang 724 keypad with unicode additions (arrows and math operators)"
msgstr "Wang 724 키패드, 유니코드 추가 (화살표 및 수학 기호)"
-#: ../rules/base.xml.in.h:714
+#: ../rules/base.xml.in.h:719
msgid "Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level"
msgstr "Wang 724 키패드, 유니코드 추가 (화살표 및 수학 기호), 수학 기호를 기본 단계에"
-#: ../rules/base.xml.in.h:715
+#: ../rules/base.xml.in.h:720
msgid "Wang model 724 azerty"
msgstr "Wang model 724 AZERTY"
-#: ../rules/base.xml.in.h:716
+#: ../rules/base.xml.in.h:721
msgid "Western"
msgstr "서부"
-#: ../rules/base.xml.in.h:717
+#: ../rules/base.xml.in.h:722
msgid "Winbook Model XP5"
msgstr "Winbook Model XP5"
-#: ../rules/base.xml.in.h:718
+#: ../rules/base.xml.in.h:723
msgid "Winkeys"
msgstr "윈도우 키"
-#: ../rules/base.xml.in.h:719
+#: ../rules/base.xml.in.h:724
msgid "With &lt;\\|&gt; key"
msgstr "&lt;\\|&gt; 키 포함"
-#: ../rules/base.xml.in.h:720
+#: ../rules/base.xml.in.h:725
msgid "With EuroSign on 5"
msgstr "유로 기호를 5 키에"
-#: ../rules/base.xml.in.h:721
+#: ../rules/base.xml.in.h:726
msgid "With guillemets"
msgstr "각괄호 포함"
-#: ../rules/base.xml.in.h:722
+#: ../rules/base.xml.in.h:727
msgid "Yahoo! Internet Keyboard"
msgstr "야후! 인터넷 키보드"
# http://ko.wikipedia.org/wiki/야쿠트어
-#: ../rules/base.xml.in.h:723
+#: ../rules/base.xml.in.h:728
msgid "Yakut"
msgstr "아쿠트어"
# 나이지리아 변형
-#: ../rules/base.xml.in.h:724
+#: ../rules/base.xml.in.h:729
msgid "Yoruba"
msgstr "요루바어"
-#: ../rules/base.xml.in.h:725
+#: ../rules/base.xml.in.h:730
msgid "Z and ZHE swapped"
msgstr "Z와 ZHE 뒤바꾸기"
-#: ../rules/base.xml.in.h:726
+#: ../rules/base.xml.in.h:731
msgid "Zaf"
msgstr "남아공"
-#: ../rules/base.xml.in.h:727
+#: ../rules/base.xml.in.h:732
msgid "Zero-width non-joiner character at second level"
msgstr "2번째 단계에서 폭 없는 연결 금지 문자"
-#: ../rules/base.xml.in.h:728
+#: ../rules/base.xml.in.h:733
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level"
msgstr "2번째 단계에서 폭 없는 연결 금지 문자, 3번째에서는 강제 공백 문자"
-#: ../rules/base.xml.in.h:729
+#: ../rules/base.xml.in.h:734
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level"
msgstr "2번째 단계에서 폭 없는 연결 금지 문자, 3번째에서는 강제 공백 문자, 4번째에서는 없음"
-#: ../rules/base.xml.in.h:730
+#: ../rules/base.xml.in.h:735
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level"
msgstr "2번째 단계에서 폭 없는 연결 금지 문자, 3번째에서는 강제 공백 문자, 4번째에서는 얇은 강제 공백 문자"
-#: ../rules/base.xml.in.h:731
+#: ../rules/base.xml.in.h:736
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level"
msgstr "2번째 단계에서 폭 없는 연결 금지 문자, 3번째에서는 강제 공백 문자, 4번째에서는 폭 없는 연결 문자"
-#: ../rules/base.xml.in.h:732
+#: ../rules/base.xml.in.h:737
msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level"
msgstr "2번째 단계에서 폭 없는 연결 금지 문자, 3번째에서는 폭 없는 연결 문자"
-#: ../rules/base.xml.in.h:733
+#: ../rules/base.xml.in.h:738
msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level"
msgstr "2번째 단계에서 폭 없는 연결 금지 문자, 3번째에서는 폭 없는 연결 문자, 4번째에서는 강제 공백 문자"
-#: ../rules/base.xml.in.h:734
+#: ../rules/base.xml.in.h:739
msgid "Zero-width non-joiner character at third level, zero-width joiner at fourth level"
msgstr "3번째 단계에서 폭 없는 연결 금지 문자, 4번째에서는 폭 없는 연결 문자"
-#: ../rules/base.xml.in.h:735
+#: ../rules/base.xml.in.h:740
msgid "azerty"
msgstr "AZERTY"
-#: ../rules/base.xml.in.h:736
+#: ../rules/base.xml.in.h:741
msgid "azerty/digits"
msgstr "AZERTY/숫자"
-#: ../rules/base.xml.in.h:737
+#: ../rules/base.xml.in.h:742
msgid "digits"
msgstr "숫자"
-#: ../rules/base.xml.in.h:738
+#: ../rules/base.xml.in.h:743
msgid "displaced semicolon and quote (obsolete)"
msgstr "세미콜론과 따옴표 없애기 (없어진 기능)"
-#: ../rules/base.xml.in.h:739
+#: ../rules/base.xml.in.h:744
msgid "lyx"
msgstr "lyx"
-#: ../rules/base.xml.in.h:740
+#: ../rules/base.xml.in.h:745
msgid "qwerty"
msgstr "QWERTY"
-#: ../rules/base.xml.in.h:741
+#: ../rules/base.xml.in.h:746
msgid "qwerty, extended Backslash"
msgstr "QWERTY, 백슬래시 확장"
-#: ../rules/base.xml.in.h:742
+#: ../rules/base.xml.in.h:747
msgid "qwerty/digits"
msgstr "QWERTY/숫자"
-#: ../rules/base.xml.in.h:743
+#: ../rules/base.xml.in.h:748
msgid "qwertz"
msgstr "QWERTZ"
@@ -3055,17 +3076,21 @@ msgid "Atsina"
msgstr "아트시나"
#: ../rules/base.extras.xml.in.h:3
+msgid "Avestan"
+msgstr "아베스탄"
+
+#: ../rules/base.extras.xml.in.h:4
msgid "Combining accents instead of dead keys"
msgstr "데드키 대신 조합으로 액센트 입력"
-#: ../rules/base.extras.xml.in.h:4
+#: ../rules/base.extras.xml.in.h:5
msgid "Couer D'alene Salish"
msgstr "Couer D'alene Salish"
-#: ../rules/base.extras.xml.in.h:5
+#: ../rules/base.extras.xml.in.h:6
msgid "International (AltGr Unicode combining)"
msgstr "국제 (AltGr 유니코드 조합)"
-#: ../rules/base.extras.xml.in.h:6
+#: ../rules/base.extras.xml.in.h:7
msgid "International (AltGr Unicode combining, alternative)"
msgstr "국제 (AltGr 유니코드 조합, 다른 버전)"
diff --git a/xorg-server/xkeyboard-config/po/lt.po b/xorg-server/xkeyboard-config/po/lt.po
index d8351cae2..8eab86cf2 100644
--- a/xorg-server/xkeyboard-config/po/lt.po
+++ b/xorg-server/xkeyboard-config/po/lt.po
@@ -5,2773 +5,2973 @@
# Rimas Kudelis <rq@akl.lt>, 2009, 2010.
msgid ""
msgstr ""
-"Project-Id-Version: xkeyboard-config 1.8\n"
+"Project-Id-Version: xkeyboard-config 1.9\n"
"Report-Msgid-Bugs-To: svu@users.sourceforge.net\n"
-"POT-Creation-Date: 2010-01-16 18:08+0000\n"
-"PO-Revision-Date: 2010-02-23 22:14+0300\n"
+"POT-Creation-Date: 2010-05-11 21:34+0100\n"
+"PO-Revision-Date: 2010-09-02 23:13+0300\n"
"Last-Translator: Rimas Kudelis <rq@akl.lt>\n"
"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: lt\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.5.2\n"
+"X-Generator: Virtaal 0.6.1\n"
#: ../rules/base.xml.in.h:1
+msgid "&lt;Less/Greater&gt;"
+msgstr "Mažiau/Daugiau"
+
+#: ../rules/base.xml.in.h:2
+msgid "&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr "Klavišas „Mažiau/Daugiau“ įjungia penktąjį lygį, arba jį užfiksuoja, jeigu naudojamas kartu su kitu penktojo lygio parinkimo klavišu"
+
+#: ../rules/base.xml.in.h:3
+msgid "&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr "Klavišas „Mažiau/Daugiau“ įjungia penktąjį lygį, arba jį užfiksuoja, jeigu naudojamas kartu su kitu penktojo lygio parinkimo klavišu. Vieno klavišo spustelėjimas nutraukia fiksavimą"
+
+#: ../rules/base.xml.in.h:4
msgid "(F)"
msgstr "(F)"
-#: ../rules/base.xml.in.h:2
+#: ../rules/base.xml.in.h:5
msgid "(Legacy) Alternative"
msgstr "(Senasis) alternatyvus"
-#: ../rules/base.xml.in.h:3
+#: ../rules/base.xml.in.h:6
msgid "(Legacy) Alternative, Sun dead keys"
-msgstr "(Senasis) alternatyvus, su Sun tęsties ženklais"
+msgstr "(Senasis) alternatyvus, su „Sun“ tęsties klavišais"
-#: ../rules/base.xml.in.h:4
+#: ../rules/base.xml.in.h:7
msgid "(Legacy) Alternative, eliminate dead keys"
-msgstr "(Senasis) alternatyvus, be tęsties ženklų"
+msgstr "(Senasis) alternatyvus, be tęsties klavišų"
-#: ../rules/base.xml.in.h:5
+#: ../rules/base.xml.in.h:8
msgid "101/104 key Compatible"
msgstr "101/104 klavišų suderinama"
-#: ../rules/base.xml.in.h:6
+#: ../rules/base.xml.in.h:9
msgid "101/qwerty/comma/Dead keys"
msgstr "101 klavišo, QWERTY, dešimtainis kablelis, su tęsties ženklais"
-#: ../rules/base.xml.in.h:7
+#: ../rules/base.xml.in.h:10
msgid "101/qwerty/comma/Eliminate dead keys"
msgstr "101 klavišo, QWERTY, dešimtainis kablelis, be tęsties ženklų"
-#: ../rules/base.xml.in.h:8
+#: ../rules/base.xml.in.h:11
msgid "101/qwerty/dot/Dead keys"
msgstr "101 klavišo, QWERTY, dešimtainis taškas, su tęsties ženklais"
-#: ../rules/base.xml.in.h:9
+#: ../rules/base.xml.in.h:12
msgid "101/qwerty/dot/Eliminate dead keys"
msgstr "101 klavišo, QWERTY, dešimtainis taškas, be tęsties ženklų"
-#: ../rules/base.xml.in.h:10
+#: ../rules/base.xml.in.h:13
msgid "101/qwertz/comma/Dead keys"
msgstr "101 klavišo, QWERTZ, dešimtainis kablelis, su tęsties ženklais"
-#: ../rules/base.xml.in.h:11
+#: ../rules/base.xml.in.h:14
msgid "101/qwertz/comma/Eliminate dead keys"
msgstr "101 klavišo, QWERTZ, dešimtainis kablelis, be tęsties ženklų"
-#: ../rules/base.xml.in.h:12
+#: ../rules/base.xml.in.h:15
msgid "101/qwertz/dot/Dead keys"
msgstr "101 klavišo, QWERTZ, dešimtainis taškas, su tęsties ženklais"
-#: ../rules/base.xml.in.h:13
+#: ../rules/base.xml.in.h:16
msgid "101/qwertz/dot/Eliminate dead keys"
msgstr "101 klavišo, QWERTZ, dešimtainis taškas, be tęsties ženklų"
-#: ../rules/base.xml.in.h:14
+#: ../rules/base.xml.in.h:17
msgid "102/qwerty/comma/Dead keys"
msgstr "102 klavišų, QWERTY, dešimtainis kablelis, su tęsties ženklais"
-#: ../rules/base.xml.in.h:15
+#: ../rules/base.xml.in.h:18
msgid "102/qwerty/comma/Eliminate dead keys"
msgstr "102 klavišų, QWERTY, dešimtainis kablelis, be tęsties ženklų"
-#: ../rules/base.xml.in.h:16
+#: ../rules/base.xml.in.h:19
msgid "102/qwerty/dot/Dead keys"
msgstr "102 klavišų, QWERTY, dešimtainis taškas, su tęsties ženklais"
-#: ../rules/base.xml.in.h:17
+#: ../rules/base.xml.in.h:20
msgid "102/qwerty/dot/Eliminate dead keys"
msgstr "102 klavišų, QWERTY, dešimtainis taškas, be tęsties ženklų"
-#: ../rules/base.xml.in.h:18
+#: ../rules/base.xml.in.h:21
msgid "102/qwertz/comma/Dead keys"
msgstr "102 klavišų, QWERTZ, dešimtainis kablelis, su tęsties ženklais"
-#: ../rules/base.xml.in.h:19
+#: ../rules/base.xml.in.h:22
msgid "102/qwertz/comma/Eliminate dead keys"
msgstr "102 klavišų, QWERTZ, dešimtainis kablelis, be tęsties ženklų"
-#: ../rules/base.xml.in.h:20
+#: ../rules/base.xml.in.h:23
msgid "102/qwertz/dot/Dead keys"
msgstr "102 klavišų, QWERTZ, dešimtainis taškas, su tęsties ženklais"
-#: ../rules/base.xml.in.h:21
+#: ../rules/base.xml.in.h:24
msgid "102/qwertz/dot/Eliminate dead keys"
msgstr "102 klavišų, QWERTZ, dešimtainis taškas, be tęsties ženklų"
-#: ../rules/base.xml.in.h:22
+#: ../rules/base.xml.in.h:25
msgid "2"
msgstr "2"
-#: ../rules/base.xml.in.h:23
+#: ../rules/base.xml.in.h:26
msgid "4"
msgstr "4"
-#: ../rules/base.xml.in.h:24
+#: ../rules/base.xml.in.h:27
msgid "5"
msgstr "5"
-#: ../rules/base.xml.in.h:25
+#: ../rules/base.xml.in.h:28
msgid "A4Tech KB-21"
msgstr "A4Tech KB-21"
-#: ../rules/base.xml.in.h:26
+#: ../rules/base.xml.in.h:29
msgid "A4Tech KBS-8"
msgstr "A4Tech KBS-8"
-#: ../rules/base.xml.in.h:27
+#: ../rules/base.xml.in.h:30
msgid "A4Tech Wireless Desktop RFKB-23"
msgstr "A4Tech Wireless Desktop RFKB-23"
-#: ../rules/base.xml.in.h:28
-msgid "ACPI Standard"
-msgstr "Įprastinė ACPI"
-
-#: ../rules/base.xml.in.h:29
+#: ../rules/base.xml.in.h:31
msgid "ATM/phone-style"
msgstr "Bankomato/telefono tipo"
-#: ../rules/base.xml.in.h:30
+#: ../rules/base.xml.in.h:32
msgid "Acer AirKey V"
msgstr "Acer AirKey V"
-#: ../rules/base.xml.in.h:31
+#: ../rules/base.xml.in.h:33
msgid "Acer C300"
msgstr "Acer C300"
-#: ../rules/base.xml.in.h:32
+#: ../rules/base.xml.in.h:34
msgid "Acer Ferrari 4000"
msgstr "Acer Ferrari 4000"
-#: ../rules/base.xml.in.h:33
+#: ../rules/base.xml.in.h:35
msgid "Acer Laptop"
-msgstr "Acer nešiojamasis kompiuteris"
+msgstr "Acer skreitinis kompiuteris"
-#: ../rules/base.xml.in.h:34
+#: ../rules/base.xml.in.h:36
msgid "Add the standard behavior to Menu key"
msgstr "Meniu klavišui priskirti standartinę veikseną"
-#: ../rules/base.xml.in.h:35
+#: ../rules/base.xml.in.h:37
msgid "Adding Esperanto circumflexes (supersigno)"
msgstr "Esperanto cirkumfleksų („supersigno“) įvedimas"
-#: ../rules/base.xml.in.h:36
+#: ../rules/base.xml.in.h:38
msgid "Adding EuroSign to certain keys"
msgstr "Euro ženklo įvedimas pasirinktais klavišais"
-#: ../rules/base.xml.in.h:37
+#: ../rules/base.xml.in.h:39
msgid "Advance Scorpius KI"
msgstr "Advance Scorpius KI"
-#: ../rules/base.xml.in.h:38
+#: ../rules/base.xml.in.h:40
msgid "Afg"
msgstr "Afg"
-#: ../rules/base.xml.in.h:39
+#: ../rules/base.xml.in.h:41
msgid "Afghanistan"
msgstr "Afganistanas"
-#: ../rules/base.xml.in.h:40
+#: ../rules/base.xml.in.h:42
msgid "Akan"
msgstr "Akan"
-#: ../rules/base.xml.in.h:41
+#: ../rules/base.xml.in.h:43
msgid "Alb"
msgstr "Alb"
-#: ../rules/base.xml.in.h:42
+#: ../rules/base.xml.in.h:44
msgid "Albania"
msgstr "Albanija"
-#: ../rules/base.xml.in.h:43
+#: ../rules/base.xml.in.h:45
msgid "Alt and Meta are on Alt keys"
msgstr "Alt ir Meta funkcijos priskirtos Alt klavišams"
-#: ../rules/base.xml.in.h:44
+#: ../rules/base.xml.in.h:46
msgid "Alt is mapped to Right Win, Super to Menu"
msgstr "Dešiniajam Win klavišui priskirti Alt funkciją, o Meniu klavišui – Super funkciją"
-#: ../rules/base.xml.in.h:45
+#: ../rules/base.xml.in.h:47
msgid "Alt+CapsLock"
msgstr "Alt+Didž"
-#: ../rules/base.xml.in.h:46
+#: ../rules/base.xml.in.h:48
msgid "Alt+Ctrl"
msgstr "Alt+Vald"
-#: ../rules/base.xml.in.h:47
+#: ../rules/base.xml.in.h:49
msgid "Alt+Shift"
msgstr "Alt+Lyg2"
-#: ../rules/base.xml.in.h:48
+#: ../rules/base.xml.in.h:50
msgid "Alt+Space"
msgstr "Alt+Tarpas"
-#: ../rules/base.xml.in.h:49
+#: ../rules/base.xml.in.h:51
msgid "Alt-Q"
msgstr "Alt-Q"
-#: ../rules/base.xml.in.h:50
+#: ../rules/base.xml.in.h:52
msgid "Alt/Win key behavior"
msgstr "Alt ir Win klavišų elgsena"
-#: ../rules/base.xml.in.h:51
+#: ../rules/base.xml.in.h:53
msgid "Alternative"
-msgstr "Alternatyvi"
+msgstr "Alternatyvus"
-#: ../rules/base.xml.in.h:52
+#: ../rules/base.xml.in.h:54
msgid "Alternative Eastern"
-msgstr "Alternatyvi Rytų"
+msgstr "Alternatyvus Rytų"
-#: ../rules/base.xml.in.h:53
+#: ../rules/base.xml.in.h:55
msgid "Alternative Phonetic"
-msgstr "Alternatyvi fonetinė"
+msgstr "Alternatyvus fonetinis"
-#: ../rules/base.xml.in.h:54
-msgid "Alternative international (former us_intl)"
-msgstr "Alternatyvi tarptautinė (anksčiau: us_intl)"
+#: ../rules/base.xml.in.h:56
+msgid "Alternative international"
+msgstr "Alternatyvus tarptautinis"
-#: ../rules/base.xml.in.h:55
+#: ../rules/base.xml.in.h:57
msgid "Alternative, Sun dead keys"
-msgstr "Alternatyvi, su Sun tęsties klavišais"
+msgstr "Alternatyvus, su „Sun“ tęsties klavišais"
-#: ../rules/base.xml.in.h:56
+#: ../rules/base.xml.in.h:58
msgid "Alternative, eliminate dead keys"
-msgstr "Alternatyvi, be tęsties klavišų"
+msgstr "Alternatyvus, be tęsties klavišų"
-#: ../rules/base.xml.in.h:57
+#: ../rules/base.xml.in.h:59
msgid "Alternative, latin-9 only"
-msgstr "Alternatyvi, tik latin-9 simboliai"
+msgstr "Alternatyvus, tik latin-9 simboliai"
-#: ../rules/base.xml.in.h:58
+#: ../rules/base.xml.in.h:60
msgid "And"
msgstr "And"
-#: ../rules/base.xml.in.h:59
+#: ../rules/base.xml.in.h:61
msgid "Andorra"
msgstr "Andora"
-#: ../rules/base.xml.in.h:60
+#: ../rules/base.xml.in.h:62
msgid "Any Alt key"
msgstr "Bet kuris Alt klavišas"
-#: ../rules/base.xml.in.h:61
+#: ../rules/base.xml.in.h:63
msgid "Any Win key"
msgstr "Bet kuris Win klavišas"
-#: ../rules/base.xml.in.h:62
+#: ../rules/base.xml.in.h:64
msgid "Any Win key (while pressed)"
msgstr "Bet kuris Win klavišas (kol paspaustas)"
-#: ../rules/base.xml.in.h:63
+#: ../rules/base.xml.in.h:65
msgid "Apostrophe (') variant"
msgstr "Apostrofo (') variantas"
-#: ../rules/base.xml.in.h:64
+#: ../rules/base.xml.in.h:66
msgid "Apple"
msgstr "Apple"
-#: ../rules/base.xml.in.h:65
+#: ../rules/base.xml.in.h:67
+msgid "Apple Aluminium Keyboard (ANSI)"
+msgstr "Apple aliumininė klaviatūra (ANSI)"
+
+#: ../rules/base.xml.in.h:68
+msgid "Apple Aluminium Keyboard (ISO)"
+msgstr "Apple aliumininė klaviatūra (ISO)"
+
+#: ../rules/base.xml.in.h:69
+msgid "Apple Aluminium Keyboard (JIS)"
+msgstr "Apple aliumininė klaviatūra (JIS)"
+
+#: ../rules/base.xml.in.h:70
+msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll_Lock, Pause, NumLock)"
+msgstr "Apple aliumininė klaviatūra: emuliuoti PC klavišus (Sp, Slinkti, Pauzė, Skaitm)"
+
+#: ../rules/base.xml.in.h:71
msgid "Apple Laptop"
-msgstr "Apple nešiojamasis kompiuteris"
+msgstr "Apple skreitinis kompiuteris"
-#: ../rules/base.xml.in.h:66
+#: ../rules/base.xml.in.h:72
msgid "Ara"
msgstr "Ara"
-#: ../rules/base.xml.in.h:67
+#: ../rules/base.xml.in.h:73
msgid "Arabic"
msgstr "Arabų"
-#: ../rules/base.xml.in.h:68
+#: ../rules/base.xml.in.h:74
msgid "Arm"
msgstr "Arm"
-#: ../rules/base.xml.in.h:69
+#: ../rules/base.xml.in.h:75
msgid "Armenia"
msgstr "Armėnija"
-#: ../rules/base.xml.in.h:70
+#: ../rules/base.xml.in.h:76
msgid "Asturian variant with bottom-dot H and bottom-dot L"
-msgstr "Asturiškasis variantas su taškais po H ir L raidėmis"
+msgstr "Asturiškasis variantas su H ir L raidėmis su taškais apačioje"
-#: ../rules/base.xml.in.h:71
+#: ../rules/base.xml.in.h:77
msgid "Asus Laptop"
-msgstr "Asus nešiojamasis kompiuteris"
+msgstr "Asus skreitinis kompiuteris"
-#: ../rules/base.xml.in.h:72
+#: ../rules/base.xml.in.h:78
msgid "At bottom left"
msgstr "Apačioje kairėje"
-#: ../rules/base.xml.in.h:73
+#: ../rules/base.xml.in.h:79
msgid "At left of 'A'"
msgstr "Kairėje nuo klavišo „A“"
-#: ../rules/base.xml.in.h:74
+#: ../rules/base.xml.in.h:80
+msgid "Avatime"
+msgstr "Avatime"
+
+#: ../rules/base.xml.in.h:81
msgid "Aze"
msgstr "Aze"
-#: ../rules/base.xml.in.h:75
+#: ../rules/base.xml.in.h:82
msgid "Azerbaijan"
msgstr "Azerbaidžanas"
-#: ../rules/base.xml.in.h:76
+#: ../rules/base.xml.in.h:83
msgid "Azona RF2300 wireless Internet Keyboard"
msgstr "Azona RF2300 wireless Internet Keyboard"
-#: ../rules/base.xml.in.h:77
+#: ../rules/base.xml.in.h:84
msgid "BTC 5090"
msgstr "BTC 5090"
-#: ../rules/base.xml.in.h:78
+#: ../rules/base.xml.in.h:85
msgid "BTC 5113RF Multimedia"
msgstr "BTC 5113RF Multimedia"
-#: ../rules/base.xml.in.h:79
+#: ../rules/base.xml.in.h:86
msgid "BTC 5126T"
msgstr "BTC 5126T"
-#: ../rules/base.xml.in.h:80
+#: ../rules/base.xml.in.h:87
msgid "BTC 6301URF"
msgstr "BTC 6301URF"
-#: ../rules/base.xml.in.h:81
+#: ../rules/base.xml.in.h:88
msgid "BTC 9000"
msgstr "BTC 9000"
-#: ../rules/base.xml.in.h:82
+#: ../rules/base.xml.in.h:89
msgid "BTC 9000A"
msgstr "BTC 9000A"
-#: ../rules/base.xml.in.h:83
+#: ../rules/base.xml.in.h:90
msgid "BTC 9001AH"
msgstr "BTC 9001AH"
-#: ../rules/base.xml.in.h:84
+#: ../rules/base.xml.in.h:91
msgid "BTC 9019U"
msgstr "BTC 9019U"
-#: ../rules/base.xml.in.h:85
+#: ../rules/base.xml.in.h:92
msgid "BTC 9116U Mini Wireless Internet and Gaming"
msgstr "BTC 9116U Mini Wireless Internet and Gaming"
-#: ../rules/base.xml.in.h:86
-msgid "Ban"
-msgstr "Ban"
+#: ../rules/base.xml.in.h:93
+msgid "Backslash"
+msgstr "Kairinis brūkšnys"
-#: ../rules/base.xml.in.h:87
+#: ../rules/base.xml.in.h:94
msgid "Bangladesh"
msgstr "Bangladešas"
-#: ../rules/base.xml.in.h:88
+#: ../rules/base.xml.in.h:95
msgid "Bashkirian"
msgstr "Baškirų"
-#: ../rules/base.xml.in.h:89
+#: ../rules/base.xml.in.h:96
msgid "Bel"
msgstr "Bel"
-#: ../rules/base.xml.in.h:90
+#: ../rules/base.xml.in.h:97
msgid "Belarus"
msgstr "Baltarusija"
-#: ../rules/base.xml.in.h:91
+#: ../rules/base.xml.in.h:98
msgid "Belgium"
msgstr "Belgija"
-#: ../rules/base.xml.in.h:92
+#: ../rules/base.xml.in.h:99
msgid "BenQ X-Touch"
msgstr "BenQ X-Touch"
-#: ../rules/base.xml.in.h:93
+#: ../rules/base.xml.in.h:100
msgid "BenQ X-Touch 730"
msgstr "BenQ X-Touch 730"
-#: ../rules/base.xml.in.h:94
+#: ../rules/base.xml.in.h:101
msgid "BenQ X-Touch 800"
msgstr "BenQ X-Touch 800"
-#: ../rules/base.xml.in.h:95
+#: ../rules/base.xml.in.h:102
msgid "Bengali"
msgstr "Bengalų"
-#: ../rules/base.xml.in.h:96
+#: ../rules/base.xml.in.h:103
msgid "Bengali Probhat"
msgstr "Bengalų Probhat"
-#: ../rules/base.xml.in.h:97
+#: ../rules/base.xml.in.h:104
msgid "Bepo, ergonomic, Dvorak way"
-msgstr "Bepo, ergonominė pagal Dvoraką"
+msgstr "Bepo, ergonominis pagal Dvoraką"
-#: ../rules/base.xml.in.h:98
+#: ../rules/base.xml.in.h:105
msgid "Bepo, ergonomic, Dvorak way, latin-9 only"
-msgstr "Bepo, ergonominė pagal Dvoraką, tik Latin-9"
+msgstr "Bepo, ergonominis pagal Dvoraką, tik Latin-9"
-#: ../rules/base.xml.in.h:99
+#: ../rules/base.xml.in.h:106
+msgid "Bgd"
+msgstr "Bgd"
+
+#: ../rules/base.xml.in.h:107
msgid "Bgr"
msgstr "Bgr"
-#: ../rules/base.xml.in.h:100
-msgid "Bhu"
-msgstr "Bhu"
-
-#: ../rules/base.xml.in.h:101
+#: ../rules/base.xml.in.h:108
msgid "Bhutan"
msgstr "Butanas"
-#: ../rules/base.xml.in.h:102
+#: ../rules/base.xml.in.h:109
msgid "Biblical Hebrew (Tiro)"
-msgstr "Biblinė hebrajų"
+msgstr "Biblinė hebrajų (Tiro)"
-#: ../rules/base.xml.in.h:103
+#: ../rules/base.xml.in.h:110
msgid "Bih"
msgstr "Bih"
-#: ../rules/base.xml.in.h:104
+#: ../rules/base.xml.in.h:111
msgid "Blr"
msgstr "Blr"
-#: ../rules/base.xml.in.h:105
+#: ../rules/base.xml.in.h:112
msgid "Bosnia and Herzegovina"
msgstr "Bosnija ir Hercegovina"
-#: ../rules/base.xml.in.h:106
+#: ../rules/base.xml.in.h:113
msgid "Both Alt keys together"
-msgstr "Vienu metu paspausti abu Alternatyvos klavišai"
+msgstr "Vienu metu nuspausti abu Alt klavišai"
-#: ../rules/base.xml.in.h:107
+#: ../rules/base.xml.in.h:114
msgid "Both Ctrl keys together"
-msgstr "Vienu metu paspausti abu Valdymo (Ctrl) klavišai"
+msgstr "Vienu metu nuspausti abu Vald klavišai"
-#: ../rules/base.xml.in.h:108
+#: ../rules/base.xml.in.h:115
msgid "Both Shift keys together"
-msgstr "Vienu metu paspausti abu Antrojo lygio (Shift) klavišai"
+msgstr "Vienu metu nuspausti abu Lyg2 klavišai"
-#: ../rules/base.xml.in.h:109
+#: ../rules/base.xml.in.h:116
+msgid "Both Shift-Keys together toggle CapsLock"
+msgstr "Vienu metu nuspausti abu Lyg2 klavišai įjungia didžiąsias raides"
+
+#: ../rules/base.xml.in.h:117
+msgid "Botswana"
+msgstr "Botsvana"
+
+#: ../rules/base.xml.in.h:118
msgid "Bra"
msgstr "Bra"
-#: ../rules/base.xml.in.h:110
+#: ../rules/base.xml.in.h:119
msgid "Braille"
msgstr "Brailio terminalas"
-#: ../rules/base.xml.in.h:111
+#: ../rules/base.xml.in.h:120
msgid "Brazil"
msgstr "Brazilija"
-#: ../rules/base.xml.in.h:112
+#: ../rules/base.xml.in.h:121
msgid "Breton"
msgstr "Bretonų"
-#: ../rules/base.xml.in.h:113
+#: ../rules/base.xml.in.h:122
msgid "Brl"
msgstr "Brl"
-#: ../rules/base.xml.in.h:114
+#: ../rules/base.xml.in.h:123
msgid "Brother Internet Keyboard"
msgstr "Brother Internet Keyboard"
-#: ../rules/base.xml.in.h:115
+#: ../rules/base.xml.in.h:124
+msgid "Btn"
+msgstr "Btn"
+
+#: ../rules/base.xml.in.h:125
msgid "Buckwalter"
-msgstr "Buckwalter"
+msgstr "Bukvolterio"
-#: ../rules/base.xml.in.h:116
+#: ../rules/base.xml.in.h:126
msgid "Bulgaria"
msgstr "Bulgarija"
-#: ../rules/base.xml.in.h:117
+#: ../rules/base.xml.in.h:127
+msgid "Bwa"
+msgstr "Bwa"
+
+#: ../rules/base.xml.in.h:128
+msgid "COD"
+msgstr "COD"
+
+#: ../rules/base.xml.in.h:129
msgid "CRULP"
msgstr "CRULP"
-#: ../rules/base.xml.in.h:118
+#: ../rules/base.xml.in.h:130
msgid "Cambodia"
msgstr "Kambodža"
-#: ../rules/base.xml.in.h:119
+#: ../rules/base.xml.in.h:131
msgid "Can"
msgstr "Can"
-#: ../rules/base.xml.in.h:120
+#: ../rules/base.xml.in.h:132
msgid "Canada"
msgstr "Kanada"
-#: ../rules/base.xml.in.h:121
-msgid "Caps Lock"
-msgstr "Didžiosios raidės"
-
-#: ../rules/base.xml.in.h:122
+#: ../rules/base.xml.in.h:133
msgid "CapsLock"
msgstr "Didžiosios raidės"
-#: ../rules/base.xml.in.h:123
+#: ../rules/base.xml.in.h:134
msgid "CapsLock (to first layout), Shift+CapsLock (to last layout)"
msgstr "Didž (į pirmąjį išdėstymą), Lyg2+Didž (į paskutinį išdėstymą)"
-#: ../rules/base.xml.in.h:124
+#: ../rules/base.xml.in.h:135
msgid "CapsLock (while pressed), Alt+CapsLock does the original capslock action"
msgstr "Didž (kol nuspaustas); Alt+Didž atlieka pirminę Didž klavišo funkciją"
-#: ../rules/base.xml.in.h:125
+#: ../rules/base.xml.in.h:136
msgid "CapsLock acts as Shift with locking. Shift \"pauses\" CapsLock"
-msgstr "Didž klavišas veikia kaip įprasta; Lyg2 „pristabdo“ Didž veikseną"
+msgstr "Didž klavišas veikia kaip įprasta; Lyg2 pristabdo Didž veiimą"
-#: ../rules/base.xml.in.h:126
+#: ../rules/base.xml.in.h:137
msgid "CapsLock acts as Shift with locking. Shift doesn't affect CapsLock"
-msgstr "Didž klavišas veikia kaip įprasta; Lyg2 neįtakoja Didž veiksenos"
+msgstr "Didž klavišas veikia kaip įprasta; Lyg2 neįtakoja Didž veikimo"
-#: ../rules/base.xml.in.h:127
+#: ../rules/base.xml.in.h:138
msgid "CapsLock is disabled"
msgstr "Didž klavišas nenaudojamas"
-#: ../rules/base.xml.in.h:128
+#: ../rules/base.xml.in.h:139
msgid "CapsLock key behavior"
msgstr "Didžiųjų raidžių klavišo veiksena"
-#: ../rules/base.xml.in.h:129
+#: ../rules/base.xml.in.h:140
msgid "CapsLock toggles Shift so all keys are affected"
msgstr "Didž klavišas veikia kaip nuolat nuspaustas Lyg2 (įtakoja visus klavišus)"
-#: ../rules/base.xml.in.h:130
+#: ../rules/base.xml.in.h:141
msgid "CapsLock toggles normal capitalization of alphabetic characters"
msgstr "Didž klavišas įjungia įprastą raidžių vertimą didžiosiomis"
-#: ../rules/base.xml.in.h:131
+#: ../rules/base.xml.in.h:142
msgid "CapsLock uses internal capitalization. Shift \"pauses\" CapsLock"
-msgstr "Didž įjungia įtaisytąjį raidžių vertimą didžiosiomis. Lyg2 „pristabdo“ Didž klavišo veikimą"
+msgstr "Didž įjungia įtaisytąjį raidžių vertimą didžiosiomis. Lyg2 pristabdo Didž klavišo veikimą"
-#: ../rules/base.xml.in.h:132
+#: ../rules/base.xml.in.h:143
msgid "CapsLock uses internal capitalization. Shift doesn't affect CapsLock"
-msgstr "Didž įjungia įtaisytąjį raidžių vertimą didžiosiomis. Lyg2 neįtakoja Didž veiksenos"
+msgstr "Didž įjungia įtaisytąjį raidžių vertimą didžiosiomis. Lyg2 neįtakoja Didž klavišo veikimo"
-#: ../rules/base.xml.in.h:133
+#: ../rules/base.xml.in.h:144
msgid "Catalan variant with middle-dot L"
-msgstr "Kataloniškasis variantas su tašku L raidės centre"
+msgstr "Kataloniškasis variantas su L raide su tašku per vidurį"
-#: ../rules/base.xml.in.h:134
+#: ../rules/base.xml.in.h:145
msgid "Cedilla"
-msgstr "Sedilė"
+msgstr "Cedila"
-#: ../rules/base.xml.in.h:135
+#: ../rules/base.xml.in.h:146
msgid "Che"
msgstr "Che"
-#: ../rules/base.xml.in.h:136
+#: ../rules/base.xml.in.h:147
msgid "Cherokee"
msgstr "Čerokių"
-#: ../rules/base.xml.in.h:137
+#: ../rules/base.xml.in.h:148
msgid "Cherry B.UNLIMITED"
msgstr "Cherry B.UNLIMITED"
-#: ../rules/base.xml.in.h:138
+#: ../rules/base.xml.in.h:149
msgid "Cherry Blue Line CyBo@rd"
msgstr "Cherry Blue Line CyBo@rd"
-#: ../rules/base.xml.in.h:139
+#: ../rules/base.xml.in.h:150
msgid "Cherry Blue Line CyBo@rd (alternate option)"
msgstr "Cherry Blue Line CyBo@rd (alternatyvus variantas)"
-#: ../rules/base.xml.in.h:140
+#: ../rules/base.xml.in.h:151
msgid "Cherry CyBo@rd USB-Hub"
msgstr "Cherry CyBo@rd USB-Hub"
-#: ../rules/base.xml.in.h:141
+#: ../rules/base.xml.in.h:152
msgid "Cherry CyMotion Expert"
msgstr "Cherry CyMotion Expert"
-#: ../rules/base.xml.in.h:142
+#: ../rules/base.xml.in.h:153
msgid "Cherry CyMotion Master Linux"
msgstr "Cherry CyMotion Master Linux"
-#: ../rules/base.xml.in.h:143
+#: ../rules/base.xml.in.h:154
msgid "Cherry CyMotion Master XPress"
msgstr "Cherry CyMotion Master XPress"
-#: ../rules/base.xml.in.h:144
+#: ../rules/base.xml.in.h:155
msgid "Chicony Internet Keyboard"
msgstr "Chicony Internet Keyboard"
-#: ../rules/base.xml.in.h:145
+#: ../rules/base.xml.in.h:156
msgid "Chicony KB-9885"
msgstr "Chicony KB-9885"
-#: ../rules/base.xml.in.h:146
+#: ../rules/base.xml.in.h:157
msgid "Chicony KU-0108"
msgstr "Chicony KU-0108"
-#: ../rules/base.xml.in.h:147
+#: ../rules/base.xml.in.h:158
msgid "Chicony KU-0420"
msgstr "Chicony KU-0420"
-#: ../rules/base.xml.in.h:148
+#: ../rules/base.xml.in.h:159
msgid "China"
msgstr "Kinija"
-#: ../rules/base.xml.in.h:149
+#: ../rules/base.xml.in.h:160
+msgid "Chn"
+msgstr "Chn"
+
+#: ../rules/base.xml.in.h:161
msgid "Chuvash"
-msgstr "Čuvašų"
+msgstr "Čiuvašų"
-#: ../rules/base.xml.in.h:150
+#: ../rules/base.xml.in.h:162
msgid "Chuvash Latin"
-msgstr "Čuvašų, lotyniški rašmenys"
+msgstr "Čiuvašų, lotyniški rašmenys"
-#: ../rules/base.xml.in.h:151
+#: ../rules/base.xml.in.h:163
msgid "Classic"
-msgstr "Klasikinė"
+msgstr "Klasikinis"
-#: ../rules/base.xml.in.h:152
+#: ../rules/base.xml.in.h:164
msgid "Classic Dvorak"
-msgstr "Klasikinė Dvorako"
+msgstr "Klasikinis Dvorako"
-#: ../rules/base.xml.in.h:153
+#: ../rules/base.xml.in.h:165
+msgid "Classic, eliminate dead keys"
+msgstr "Klasikinis, be tęsties klavišų"
+
+#: ../rules/base.xml.in.h:166
msgid "Classmate PC"
msgstr "Classmate PC"
-#: ../rules/base.xml.in.h:154
+#: ../rules/base.xml.in.h:167
msgid "CloGaelach"
msgstr "CloGaelach"
-#: ../rules/base.xml.in.h:155
+#: ../rules/base.xml.in.h:168
msgid "Colemak"
msgstr "Colemak"
-#: ../rules/base.xml.in.h:156
+#: ../rules/base.xml.in.h:169
msgid "Compaq Easy Access Keyboard"
msgstr "Compaq Easy Access Keyboard"
-#: ../rules/base.xml.in.h:157
+#: ../rules/base.xml.in.h:170
msgid "Compaq Internet Keyboard (13 keys)"
msgstr "Compaq Internet Keyboard (13 klavišų)"
-#: ../rules/base.xml.in.h:158
+#: ../rules/base.xml.in.h:171
msgid "Compaq Internet Keyboard (18 keys)"
msgstr "Compaq Internet Keyboard (18 klavišų)"
-#: ../rules/base.xml.in.h:159
+#: ../rules/base.xml.in.h:172
msgid "Compaq Internet Keyboard (7 keys)"
msgstr "Compaq Internet Keyboard (7 klavišai)"
-#: ../rules/base.xml.in.h:160
+#: ../rules/base.xml.in.h:173
msgid "Compaq iPaq Keyboard"
-msgstr "Compaq iPaq klaviatūra"
+msgstr "Compaq iPaq Keyboard"
-#: ../rules/base.xml.in.h:161
+#: ../rules/base.xml.in.h:174
msgid "Compose key position"
-msgstr "Compose klavišo pozicija"
+msgstr "Komponavimo klavišo pozicija"
-#: ../rules/base.xml.in.h:162
+#: ../rules/base.xml.in.h:175
msgid "Congo, Democratic Republic of the"
msgstr "Kongo demokratinė respublika"
-#: ../rules/base.xml.in.h:163
+#: ../rules/base.xml.in.h:176
msgid "Control + Alt + Backspace"
msgstr "Vald + Alt + Naikinimas iš kairės"
-#: ../rules/base.xml.in.h:164
+#: ../rules/base.xml.in.h:177
msgid "Control is mapped to Alt keys, Alt is mapped to Win keys"
msgstr "Vald funkciją priskirti Alt klavišams, o Alt funkciją – Win klavišams"
-#: ../rules/base.xml.in.h:165
+#: ../rules/base.xml.in.h:178
msgid "Control is mapped to Win keys (and the usual Ctrl keys)"
msgstr "Vald funkciją priskirti Win klavišams bei įprastiems Vald klavišams"
-#: ../rules/base.xml.in.h:166
+#: ../rules/base.xml.in.h:179
msgid "Creative Desktop Wireless 7000"
msgstr "Creative Desktop Wireless 7000"
-#: ../rules/base.xml.in.h:167
+#: ../rules/base.xml.in.h:180
msgid "Crimean Tatar (Dobruca-1 Q)"
msgstr "Krymo totorių (Dobruca-1 Q)"
-#: ../rules/base.xml.in.h:168
+#: ../rules/base.xml.in.h:181
msgid "Crimean Tatar (Dobruca-2 Q)"
msgstr "Krymo totorių (Dobruca-2 Q)"
-#: ../rules/base.xml.in.h:169
+#: ../rules/base.xml.in.h:182
msgid "Crimean Tatar (Turkish Alt-Q)"
msgstr "Krymo totorių (turkiškas Alt-Q)"
-#: ../rules/base.xml.in.h:170
+#: ../rules/base.xml.in.h:183
msgid "Crimean Tatar (Turkish F)"
msgstr "Krymo totorių (turkiškas F)"
-#: ../rules/base.xml.in.h:171
+#: ../rules/base.xml.in.h:184
msgid "Crimean Tatar (Turkish Q)"
msgstr "Krymo totorių (turkiškas Q)"
-#: ../rules/base.xml.in.h:172
+#: ../rules/base.xml.in.h:185
msgid "Croatia"
msgstr "Kroatija"
-#: ../rules/base.xml.in.h:173
+#: ../rules/base.xml.in.h:186
msgid "Ctrl key position"
-msgstr "Valdymo (Ctrl) klavišo pozicija"
+msgstr "Vald klavišo pozicija"
-#: ../rules/base.xml.in.h:174
+#: ../rules/base.xml.in.h:187
msgid "Ctrl+Shift"
msgstr "Vald+Lyg2"
-#: ../rules/base.xml.in.h:175
+#: ../rules/base.xml.in.h:188
msgid "Cyrillic"
msgstr "Kiriliškasis"
-#: ../rules/base.xml.in.h:176
+#: ../rules/base.xml.in.h:189
msgid "Cyrillic with guillemets"
msgstr "Kiriliškasis, su kampinėmis kabutėmis"
-#: ../rules/base.xml.in.h:177
+#: ../rules/base.xml.in.h:190
msgid "Cyrillic, Z and ZHE swapped"
-msgstr "Kriliškasis, raidės Z ir Ž sukeistos"
+msgstr "Kiriliškasis, raidės Z ir Ž sukeistos"
-#: ../rules/base.xml.in.h:178
+#: ../rules/base.xml.in.h:191
msgid "Cze"
msgstr "Cze"
-#: ../rules/base.xml.in.h:179
+#: ../rules/base.xml.in.h:192
msgid "Czechia"
msgstr "Čekija"
-#: ../rules/base.xml.in.h:180
+#: ../rules/base.xml.in.h:193
msgid "DOS"
msgstr "DOS"
-#: ../rules/base.xml.in.h:181
-msgid "DRC"
-msgstr "DRC"
-
-#: ../rules/base.xml.in.h:182
+#: ../rules/base.xml.in.h:194
msgid "DTK2000"
msgstr "DTK2000"
-#: ../rules/base.xml.in.h:183
-msgid "Dan"
-msgstr "Dan"
-
-#: ../rules/base.xml.in.h:184
+#: ../rules/base.xml.in.h:195
msgid "Dead acute"
-msgstr "Tęsties ženklas – dešininis kirtis"
+msgstr "Tęsties klavišas – dešininis kirtis"
-#: ../rules/base.xml.in.h:185
+#: ../rules/base.xml.in.h:196
msgid "Dead grave acute"
-msgstr "Tęsties ženklai – kairinis ir dešininis kirtis"
+msgstr "Tęsties klavišai – kairinis ir dešininis kirčiai"
-#: ../rules/base.xml.in.h:186
+#: ../rules/base.xml.in.h:197
msgid "Default numeric keypad keys"
msgstr "Numatytieji skaitmenų srities klavišai"
-#: ../rules/base.xml.in.h:187
+#: ../rules/base.xml.in.h:198
msgid "Dell"
msgstr "Dell"
-#: ../rules/base.xml.in.h:188
+#: ../rules/base.xml.in.h:199
msgid "Dell 101-key PC"
msgstr "Dell 101 klavišo PC klaviatūra"
-#: ../rules/base.xml.in.h:189
+#: ../rules/base.xml.in.h:200
msgid "Dell Laptop/notebook Inspiron 6xxx/8xxx"
-msgstr "Dell Inspiron 6xxx/8xxx serijos skreitinukas"
+msgstr "Dell Inspiron 6xxx/8xxx (skreitinis kompiuteris)"
-#: ../rules/base.xml.in.h:190
+#: ../rules/base.xml.in.h:201
msgid "Dell Laptop/notebook Precision M series"
-msgstr "Dell Precision M serijos skreitinukas"
+msgstr "Dell Precision M series (skreitinis kompiuteris)"
-#: ../rules/base.xml.in.h:191
+#: ../rules/base.xml.in.h:202
msgid "Dell Latitude series laptop"
-msgstr "Dell Latitude serijos skreitinukas"
+msgstr "Dell Latitude (skreitinis kompiuteris)"
-#: ../rules/base.xml.in.h:192
+#: ../rules/base.xml.in.h:203
msgid "Dell Precision M65"
msgstr "Dell Precision M65"
-#: ../rules/base.xml.in.h:193
+#: ../rules/base.xml.in.h:204
msgid "Dell SK-8125"
msgstr "Dell SK-8125"
-#: ../rules/base.xml.in.h:194
+#: ../rules/base.xml.in.h:205
msgid "Dell SK-8135"
msgstr "Dell SK-8135"
-#: ../rules/base.xml.in.h:195
+#: ../rules/base.xml.in.h:206
msgid "Dell USB Multimedia Keyboard"
msgstr "Dell USB Multimedia Keyboard"
-#: ../rules/base.xml.in.h:196
+#: ../rules/base.xml.in.h:207
msgid "Denmark"
msgstr "Danija"
-#: ../rules/base.xml.in.h:197
+#: ../rules/base.xml.in.h:208
msgid "Deu"
msgstr "Deu"
-#: ../rules/base.xml.in.h:198
+#: ../rules/base.xml.in.h:209
msgid "Dexxa Wireless Desktop Keyboard"
msgstr "Dexxa Wireless Desktop Keyboard"
-#: ../rules/base.xml.in.h:199
+#: ../rules/base.xml.in.h:210
msgid "Diamond 9801 / 9802 series"
-msgstr "Diamond 9801 / 9802 serija"
+msgstr "Diamond 9801 / 9802 series"
-#: ../rules/base.xml.in.h:200
+#: ../rules/base.xml.in.h:211
+msgid "Dnk"
+msgstr "Dnk"
+
+#: ../rules/base.xml.in.h:212
msgid "Dvorak"
msgstr "Dvorako"
-#: ../rules/base.xml.in.h:201
+#: ../rules/base.xml.in.h:213
msgid "Dvorak (UK Punctuation)"
-msgstr "Dvorako (JK skyryba)"
+msgstr "Dvorako (JK skyrybos ženklai)"
-#: ../rules/base.xml.in.h:202
-msgid "Dvorak international"
-msgstr "Dvorako tarptautinis"
+#: ../rules/base.xml.in.h:214
+msgid "Dvorak alternative international (no dead keys)"
+msgstr "Dvorako alternatyvus tarptautinis (be tęsties klavišų)"
-#: ../rules/base.xml.in.h:203
+#: ../rules/base.xml.in.h:215
+msgid "Dvorak international (with dead keys)"
+msgstr "Dvorako tarptautinis (su tęsties ženklais)"
+
+#: ../rules/base.xml.in.h:216
msgid "Dvorak, Polish quotes on key 1"
msgstr "Dvorako, lenkiškos kabutės ant klavišo „1“"
-#: ../rules/base.xml.in.h:204
+#: ../rules/base.xml.in.h:217
msgid "Dvorak, Polish quotes on quotemark key"
msgstr "Dvorako, lenkiškos kabutės ant kabučių klavišo"
-#: ../rules/base.xml.in.h:205
+#: ../rules/base.xml.in.h:218
msgid "E"
msgstr "E"
-#: ../rules/base.xml.in.h:206
+#: ../rules/base.xml.in.h:219
msgid "Eastern"
msgstr "Rytų"
-#: ../rules/base.xml.in.h:207
+#: ../rules/base.xml.in.h:220
msgid "Eliminate dead keys"
msgstr "Be tęsties ženklų"
-#: ../rules/base.xml.in.h:208
+#: ../rules/base.xml.in.h:221
msgid "Enable extra typographic characters"
msgstr "Įjungti papildomus tipografinius simbolius"
-#: ../rules/base.xml.in.h:209
+#: ../rules/base.xml.in.h:222
msgid "English"
msgstr "Anglų"
-#: ../rules/base.xml.in.h:210
+#: ../rules/base.xml.in.h:223
+msgid "English (USA International)"
+msgstr "Anglų (JAV tarptautinis)"
+
+#: ../rules/base.xml.in.h:224
+msgid "English (USA Macintosh)"
+msgstr "Anglų (JAV „Macintosh“)"
+
+#: ../rules/base.xml.in.h:225
msgid "Ennyah DKB-1008"
msgstr "Ennyah DKB-1008"
-#: ../rules/base.xml.in.h:211
+#: ../rules/base.xml.in.h:226
msgid "Enter on keypad"
-msgstr "Įvesties klavišas skaitmenų srityje"
+msgstr "Įvedimo klavišas skaitmenų srityje"
-#: ../rules/base.xml.in.h:212
+#: ../rules/base.xml.in.h:227
msgid "Epo"
msgstr "Epo"
-#: ../rules/base.xml.in.h:213
+#: ../rules/base.xml.in.h:228
msgid "Ergonomic"
msgstr "Ergonominis"
-#: ../rules/base.xml.in.h:214
+#: ../rules/base.xml.in.h:229
msgid "Esp"
msgstr "Esp"
-#: ../rules/base.xml.in.h:215
+#: ../rules/base.xml.in.h:230
msgid "Esperanto"
msgstr "Esperanto"
-#: ../rules/base.xml.in.h:216
+#: ../rules/base.xml.in.h:231
msgid "Est"
msgstr "Est"
-#: ../rules/base.xml.in.h:217
+#: ../rules/base.xml.in.h:232
msgid "Estonia"
msgstr "Estija"
-#: ../rules/base.xml.in.h:218
+#: ../rules/base.xml.in.h:233
msgid "Eth"
msgstr "Eth"
-#: ../rules/base.xml.in.h:219
+#: ../rules/base.xml.in.h:234
msgid "Ethiopia"
msgstr "Etiopija"
-#: ../rules/base.xml.in.h:220
-msgid "Evdev-managed keyboard"
-msgstr "Evdev valdoma klaviatūra"
-
-#: ../rules/base.xml.in.h:221
+#: ../rules/base.xml.in.h:235
msgid "Everex STEPnote"
msgstr "Everex STEPnote"
-#: ../rules/base.xml.in.h:222
+#: ../rules/base.xml.in.h:236
msgid "Ewe"
msgstr "Ewe"
-#: ../rules/base.xml.in.h:223
+#: ../rules/base.xml.in.h:237
msgid "Extended"
msgstr "Išplėstasis"
-#: ../rules/base.xml.in.h:224
+#: ../rules/base.xml.in.h:238
msgid "Extended - Winkeys"
-msgstr "Išplėstasis - „Windows“ išdėstymas"
+msgstr "Išplėstasis – „Windows“ išdėstymas"
-#: ../rules/base.xml.in.h:225
+#: ../rules/base.xml.in.h:239
msgid "Extended Backslash"
-msgstr "Išplėstas kairinis brūkšnys"
+msgstr "Išplėstasis kairinis brūkšnys"
-#: ../rules/base.xml.in.h:226
+#: ../rules/base.xml.in.h:240
msgid "F-letter (F) variant"
msgstr "F raidės (F) variantas"
-#: ../rules/base.xml.in.h:227
+#: ../rules/base.xml.in.h:241
msgid "FL90"
msgstr "FL90"
-#: ../rules/base.xml.in.h:228
-msgid "Fao"
-msgstr "Fao"
-
-#: ../rules/base.xml.in.h:229
+#: ../rules/base.xml.in.h:242
msgid "Faroe Islands"
msgstr "Farerai"
-#: ../rules/base.xml.in.h:230
+#: ../rules/base.xml.in.h:243
msgid "Fin"
msgstr "Fin"
-#: ../rules/base.xml.in.h:231
+#: ../rules/base.xml.in.h:244
msgid "Finland"
msgstr "Suomija"
#. This assumes the KP_ abstract symbols are actually useful for some apps
#. The description needs to be rewritten
-#: ../rules/base.xml.in.h:234
+#: ../rules/base.xml.in.h:247
msgid "Four-level key with abstract separators"
msgstr "Keturių lygių, su abstrakčiais skyrikliais"
-#: ../rules/base.xml.in.h:235
+#: ../rules/base.xml.in.h:248
msgid "Four-level key with comma"
msgstr "Keturių lygių, pirmajame kablelis"
-#: ../rules/base.xml.in.h:236
+#: ../rules/base.xml.in.h:249
msgid "Four-level key with dot"
msgstr "Keturių lygių, pirmajame taškas"
-#: ../rules/base.xml.in.h:237
+#: ../rules/base.xml.in.h:250
msgid "Four-level key with dot, latin-9 restriction"
msgstr "Keturių lygių, pirmajame taškas, Latin-9 ribojimas"
-#: ../rules/base.xml.in.h:238
+#: ../rules/base.xml.in.h:251
msgid "Four-level key with momayyez"
msgstr "Keturių lygių, pirmajame persiškas skyriklis (momayyez)"
-#: ../rules/base.xml.in.h:239
+#: ../rules/base.xml.in.h:252
msgid "Fra"
msgstr "Fra"
-#: ../rules/base.xml.in.h:240
+#: ../rules/base.xml.in.h:253
msgid "France"
msgstr "Prancūzija"
-#: ../rules/base.xml.in.h:241
+#: ../rules/base.xml.in.h:254
+msgid "Français (France Alternative)"
+msgstr "Français (prancūziškas alternatyvus)"
+
+#: ../rules/base.xml.in.h:255
msgid "French"
msgstr "Prancūzų"
-#: ../rules/base.xml.in.h:242
+#: ../rules/base.xml.in.h:256
msgid "French (Macintosh)"
-msgstr "Prancūzų (Macintosh)"
+msgstr "Prancūzų („Macintosh“)"
-#: ../rules/base.xml.in.h:243
+#: ../rules/base.xml.in.h:257
msgid "French (legacy)"
msgstr "Prancūzų (senasis)"
-#: ../rules/base.xml.in.h:244
+#: ../rules/base.xml.in.h:258
msgid "French Dvorak"
-msgstr "Prancūziškas Dvorako"
+msgstr "Prancūzų (Dvorako)"
-#: ../rules/base.xml.in.h:245
+#: ../rules/base.xml.in.h:259
msgid "French, Sun dead keys"
-msgstr "Prancūzų, su Sun tęsties ženklais"
+msgstr "Prancūzų, su „Sun“ tęsties klavišais"
-#: ../rules/base.xml.in.h:246
+#: ../rules/base.xml.in.h:260
msgid "French, eliminate dead keys"
-msgstr "Prancūzų, be tęsties ženklų"
+msgstr "Prancūzų, be tęsties klavišų"
-#: ../rules/base.xml.in.h:247
+#: ../rules/base.xml.in.h:261
+msgid "Fro"
+msgstr "Fro"
+
+#: ../rules/base.xml.in.h:262
msgid "Fujitsu-Siemens Computers AMILO laptop"
-msgstr "Fujitsu-Siemens Computers AMILO skreitinukas"
+msgstr "Fujitsu-Siemens Computers AMILO (skreitinis kompiuteris)"
-#: ../rules/base.xml.in.h:248
+#: ../rules/base.xml.in.h:263
msgid "Fula"
msgstr "Fula"
-#: ../rules/base.xml.in.h:249
+#: ../rules/base.xml.in.h:264
msgid "GBr"
msgstr "GBr"
-#: ../rules/base.xml.in.h:250
+#: ../rules/base.xml.in.h:265
+msgid "GILLBT"
+msgstr "GILLBT"
+
+#: ../rules/base.xml.in.h:266
msgid "Ga"
msgstr "Ga"
-#: ../rules/base.xml.in.h:251
+#: ../rules/base.xml.in.h:267
msgid "Generic 101-key PC"
msgstr "Įprastinė PC 101 klavišo"
-#: ../rules/base.xml.in.h:252
+#: ../rules/base.xml.in.h:268
msgid "Generic 102-key (Intl) PC"
msgstr "Įprastinė PC 102 klavišų (europinė)"
-#: ../rules/base.xml.in.h:253
+#: ../rules/base.xml.in.h:269
msgid "Generic 104-key PC"
msgstr "Įprastinė PC 104 klavišų"
-#: ../rules/base.xml.in.h:254
+#: ../rules/base.xml.in.h:270
msgid "Generic 105-key (Intl) PC"
msgstr "Įprastinė PC 105 klavišų (europinė)"
-#: ../rules/base.xml.in.h:255
+#: ../rules/base.xml.in.h:271
msgid "Genius Comfy KB-12e"
msgstr "Genius Comfy KB-12e"
-#: ../rules/base.xml.in.h:256
+#: ../rules/base.xml.in.h:272
msgid "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
msgstr "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
-#: ../rules/base.xml.in.h:257
+#: ../rules/base.xml.in.h:273
msgid "Genius Comfy KB-21e-Scroll"
msgstr "Genius Comfy KB-21e-Scroll"
-#: ../rules/base.xml.in.h:258
+#: ../rules/base.xml.in.h:274
msgid "Genius KB-19e NB"
msgstr "Genius KB-19e NB"
-#: ../rules/base.xml.in.h:259
+#: ../rules/base.xml.in.h:275
msgid "Genius KKB-2050HS"
msgstr "Genius KKB-2050HS"
-#: ../rules/base.xml.in.h:260
+#: ../rules/base.xml.in.h:276
msgid "Geo"
msgstr "Geo"
-#: ../rules/base.xml.in.h:261
+#: ../rules/base.xml.in.h:277
msgid "Georgia"
msgstr "Gruzija"
-#: ../rules/base.xml.in.h:262
+#: ../rules/base.xml.in.h:278
msgid "Georgian"
msgstr "Gruzinų"
-#: ../rules/base.xml.in.h:263
+#: ../rules/base.xml.in.h:279
msgid "Georgian AZERTY Tskapo"
msgstr "Gruzinų AZERTY Tskapo"
-#: ../rules/base.xml.in.h:264
+#: ../rules/base.xml.in.h:280
msgid "German (Macintosh)"
-msgstr "Vokiečių (Macintosh)"
+msgstr "Vokiečių („Macintosh“)"
-#: ../rules/base.xml.in.h:265
+#: ../rules/base.xml.in.h:281
msgid "German, Sun dead keys"
-msgstr "Vokiečių, su Sun tęsties ženklais"
+msgstr "Vokiečių, su „Sun“ tęsties klavišais"
-#: ../rules/base.xml.in.h:266
+#: ../rules/base.xml.in.h:282
msgid "German, eliminate dead keys"
-msgstr "Vokiečių, be tęsties ženklų"
+msgstr "Vokiečių, be tęsties klavišų"
-#: ../rules/base.xml.in.h:267
+#: ../rules/base.xml.in.h:283
msgid "Germany"
msgstr "Vokietija"
-#: ../rules/base.xml.in.h:268
+#: ../rules/base.xml.in.h:284
msgid "Gha"
msgstr "Gha"
-#: ../rules/base.xml.in.h:269
+#: ../rules/base.xml.in.h:285
msgid "Ghana"
msgstr "Gana"
-#: ../rules/base.xml.in.h:270
-msgid "Gre"
-msgstr "Gre"
+#: ../rules/base.xml.in.h:286
+msgid "Gin"
+msgstr "Gin"
-#: ../rules/base.xml.in.h:271
+#: ../rules/base.xml.in.h:287
+msgid "Grc"
+msgstr "Grc"
+
+#: ../rules/base.xml.in.h:288
msgid "Greece"
msgstr "Graikija"
-#: ../rules/base.xml.in.h:272
-msgid "Group toggle on multiply/divide key"
-msgstr "Grupė perjungiama daugybos/dalybos klavišu"
-
-#: ../rules/base.xml.in.h:273
-msgid "Gui"
-msgstr "Gui"
-
-#: ../rules/base.xml.in.h:274
+#: ../rules/base.xml.in.h:289
msgid "Guinea"
msgstr "Gvinėja"
-#: ../rules/base.xml.in.h:275
+#: ../rules/base.xml.in.h:290
msgid "Gujarati"
msgstr "Gudžarati"
-#: ../rules/base.xml.in.h:276
+#: ../rules/base.xml.in.h:291
msgid "Gurmukhi"
msgstr "Gurmukhi"
-#: ../rules/base.xml.in.h:277
+#: ../rules/base.xml.in.h:292
msgid "Gurmukhi Jhelum"
msgstr "Gurmukhi Jhelum"
-#: ../rules/base.xml.in.h:278
+#: ../rules/base.xml.in.h:293
msgid "Gyration"
msgstr "Gyration"
-#: ../rules/base.xml.in.h:279
+#: ../rules/base.xml.in.h:294
msgid "Happy Hacking Keyboard"
msgstr "Happy Hacking Keyboard"
-#: ../rules/base.xml.in.h:280
+#: ../rules/base.xml.in.h:295
msgid "Happy Hacking Keyboard for Mac"
msgstr "Happy Hacking Keyboard for Mac"
-#: ../rules/base.xml.in.h:281
+#: ../rules/base.xml.in.h:296
msgid "Hausa"
msgstr "Hausa"
-#: ../rules/base.xml.in.h:282
+#: ../rules/base.xml.in.h:297
msgid "Hewlett-Packard Internet Keyboard"
msgstr "Hewlett-Packard Internet Keyboard"
-#: ../rules/base.xml.in.h:283
+#: ../rules/base.xml.in.h:298
msgid "Hewlett-Packard Mini 110 Notebook"
-msgstr "Hewlett-Packard Mini 110 skreitinukas"
+msgstr "Hewlett-Packard Mini 110 (skreitinis kompiuteris)"
-#: ../rules/base.xml.in.h:284
+#: ../rules/base.xml.in.h:299
msgid "Hewlett-Packard Omnibook 500 FA"
msgstr "Hewlett-Packard Omnibook 500 FA"
-#: ../rules/base.xml.in.h:285
+#: ../rules/base.xml.in.h:300
msgid "Hewlett-Packard Omnibook 5xx"
msgstr "Hewlett-Packard Omnibook 5xx"
-#: ../rules/base.xml.in.h:286
+#: ../rules/base.xml.in.h:301
msgid "Hewlett-Packard Omnibook 6000/6100"
msgstr "Hewlett-Packard Omnibook 6000/6100"
-#: ../rules/base.xml.in.h:287
+#: ../rules/base.xml.in.h:302
msgid "Hewlett-Packard Omnibook XE3 GC"
msgstr "Hewlett-Packard Omnibook XE3 GC"
-#: ../rules/base.xml.in.h:288
+#: ../rules/base.xml.in.h:303
msgid "Hewlett-Packard Omnibook XE3 GF"
msgstr "Hewlett-Packard Omnibook XE3 GF"
-#: ../rules/base.xml.in.h:289
+#: ../rules/base.xml.in.h:304
msgid "Hewlett-Packard Omnibook XT1000"
msgstr "Hewlett-Packard Omnibook XT1000"
-#: ../rules/base.xml.in.h:290
+#: ../rules/base.xml.in.h:305
msgid "Hewlett-Packard Pavilion ZT11xx"
msgstr "Hewlett-Packard Pavilion ZT11xx"
-#: ../rules/base.xml.in.h:291
+#: ../rules/base.xml.in.h:306
msgid "Hewlett-Packard Pavilion dv5"
msgstr "Hewlett-Packard Pavilion dv5"
-#: ../rules/base.xml.in.h:292
+#: ../rules/base.xml.in.h:307
msgid "Hewlett-Packard SK-250x Multimedia Keyboard"
msgstr "Hewlett-Packard SK-250x Multimedia Keyboard"
-#: ../rules/base.xml.in.h:293
+#: ../rules/base.xml.in.h:308
msgid "Hewlett-Packard nx9020"
msgstr "Hewlett-Packard nx9020"
-#: ../rules/base.xml.in.h:294
+#: ../rules/base.xml.in.h:309
msgid "Hexadecimal"
msgstr "Šešioliktainė"
-#: ../rules/base.xml.in.h:295
+#: ../rules/base.xml.in.h:310
msgid "Hindi Bolnagri"
msgstr "Hindi Bolnagri"
-#: ../rules/base.xml.in.h:296
+#: ../rules/base.xml.in.h:311
msgid "Hindi Wx"
msgstr "Hindi Wx"
-#: ../rules/base.xml.in.h:297
+#: ../rules/base.xml.in.h:312
msgid "Homophonic"
msgstr "Homofoninė"
-#: ../rules/base.xml.in.h:298
+#: ../rules/base.xml.in.h:313
msgid "Honeywell Euroboard"
msgstr "Honeywell Euroboard"
-#: ../rules/base.xml.in.h:299
+#: ../rules/base.xml.in.h:314
msgid "Hrv"
msgstr "Hrv"
-#: ../rules/base.xml.in.h:300
+#: ../rules/base.xml.in.h:315
msgid "Hun"
msgstr "Hun"
-#: ../rules/base.xml.in.h:301
+#: ../rules/base.xml.in.h:316
msgid "Hungary"
msgstr "Vengrija"
-#: ../rules/base.xml.in.h:302
+#: ../rules/base.xml.in.h:317
msgid "Hyper is mapped to Win-keys"
msgstr "Win klavišams priskirti Hyper funkciją"
-#: ../rules/base.xml.in.h:303
+#: ../rules/base.xml.in.h:318
msgid "IBM (LST 1205-92)"
msgstr "IBM (LST 1205-92)"
-#: ../rules/base.xml.in.h:304
+#: ../rules/base.xml.in.h:319
msgid "IBM Rapid Access"
msgstr "IBM Rapid Access"
-#: ../rules/base.xml.in.h:305
+#: ../rules/base.xml.in.h:320
msgid "IBM Rapid Access II"
msgstr "IBM Rapid Access II"
-#: ../rules/base.xml.in.h:306
+#: ../rules/base.xml.in.h:321
msgid "IBM Space Saver"
msgstr "IBM Space Saver"
-#: ../rules/base.xml.in.h:307
+#: ../rules/base.xml.in.h:322
msgid "IBM ThinkPad 560Z/600/600E/A22E"
msgstr "IBM ThinkPad 560Z/600/600E/A22E"
-#: ../rules/base.xml.in.h:308
+#: ../rules/base.xml.in.h:323
msgid "IBM ThinkPad R60/T60/R61/T61"
msgstr "IBM ThinkPad R60/T60/R61/T61"
-#: ../rules/base.xml.in.h:309
+#: ../rules/base.xml.in.h:324
msgid "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
msgstr "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
-#: ../rules/base.xml.in.h:310
+#: ../rules/base.xml.in.h:325
msgid "ISO Alternate"
msgstr "ISO alternatyvusis"
-#: ../rules/base.xml.in.h:311
+#: ../rules/base.xml.in.h:326
msgid "Iceland"
msgstr "Islandija"
-#: ../rules/base.xml.in.h:312
+#: ../rules/base.xml.in.h:327
msgid "Igbo"
msgstr "Igbo"
-#: ../rules/base.xml.in.h:313
+#: ../rules/base.xml.in.h:328
msgid "Include dead tilde"
-msgstr "Tildė veikia kaip tęsties ženklas"
+msgstr "Tildė veikia kaip tęsties klavišas"
-#: ../rules/base.xml.in.h:314
+#: ../rules/base.xml.in.h:329
msgid "Ind"
msgstr "Ind"
-#: ../rules/base.xml.in.h:315
+#: ../rules/base.xml.in.h:330
msgid "India"
msgstr "Indija"
-#: ../rules/base.xml.in.h:316
+#: ../rules/base.xml.in.h:331
msgid "International (AltGr dead keys)"
-msgstr "Tarptautinis (tęsties ženklai pasiekiami per Lyg3 klavišą)"
+msgstr "Tarptautinis (tęsties klavišai pasiekiami per Lyg3 klavišą)"
-#: ../rules/base.xml.in.h:317
+#: ../rules/base.xml.in.h:332
msgid "International (with dead keys)"
-msgstr "Tarptautinis (su tęsties ženklais)"
+msgstr "Tarptautinis (su tęsties klavišais)"
-#: ../rules/base.xml.in.h:318
+#: ../rules/base.xml.in.h:333
msgid "Inuktitut"
msgstr "Inuktitutas"
-#: ../rules/base.xml.in.h:319
+#: ../rules/base.xml.in.h:334
msgid "Iran"
msgstr "Iranas"
-#: ../rules/base.xml.in.h:320
+#: ../rules/base.xml.in.h:335
msgid "Iraq"
msgstr "Irakas"
-#: ../rules/base.xml.in.h:321
+#: ../rules/base.xml.in.h:336
msgid "Ireland"
msgstr "Airija"
-#: ../rules/base.xml.in.h:322
+#: ../rules/base.xml.in.h:337
msgid "Irl"
msgstr "Irl"
-#: ../rules/base.xml.in.h:323
+#: ../rules/base.xml.in.h:338
msgid "Irn"
msgstr "Irn"
-#: ../rules/base.xml.in.h:324
+#: ../rules/base.xml.in.h:339
msgid "Irq"
msgstr "Irq"
-#: ../rules/base.xml.in.h:325
+#: ../rules/base.xml.in.h:340
msgid "Isl"
msgstr "Isl"
-#: ../rules/base.xml.in.h:326
+#: ../rules/base.xml.in.h:341
msgid "Isr"
msgstr "Isr"
-#: ../rules/base.xml.in.h:327
+#: ../rules/base.xml.in.h:342
msgid "Israel"
msgstr "Izraelis"
-#: ../rules/base.xml.in.h:328
+#: ../rules/base.xml.in.h:343
msgid "Ita"
msgstr "Ita"
-#: ../rules/base.xml.in.h:329
+#: ../rules/base.xml.in.h:344
msgid "Italy"
msgstr "Italija"
-#: ../rules/base.xml.in.h:330
+#: ../rules/base.xml.in.h:345
msgid "Japan"
msgstr "Japonija"
-#: ../rules/base.xml.in.h:331
+#: ../rules/base.xml.in.h:346
msgid "Japan (PC-98xx Series)"
msgstr "Japoniška (PC-98xx serijos)"
-#: ../rules/base.xml.in.h:332
+#: ../rules/base.xml.in.h:347
msgid "Japanese keyboard options"
msgstr "Nuostatos japoniškai klaviatūrai"
-#: ../rules/base.xml.in.h:333
+#: ../rules/base.xml.in.h:348
msgid "Jpn"
msgstr "Jpn"
-#: ../rules/base.xml.in.h:334
+#: ../rules/base.xml.in.h:349
msgid "Kalmyk"
msgstr "Kalmukų"
-#: ../rules/base.xml.in.h:335
+#: ../rules/base.xml.in.h:350
msgid "Kana"
msgstr "Kana"
-#: ../rules/base.xml.in.h:336
+#: ../rules/base.xml.in.h:351
msgid "Kana Lock key is locking"
msgstr "Kana Lock klavišas fiksuojantis"
-#: ../rules/base.xml.in.h:337
+#: ../rules/base.xml.in.h:352
msgid "Kannada"
msgstr "Kannada"
-#: ../rules/base.xml.in.h:338
+#: ../rules/base.xml.in.h:353
msgid "Kashubian"
msgstr "Kašubų"
-#: ../rules/base.xml.in.h:339
+#: ../rules/base.xml.in.h:354
msgid "Kaz"
msgstr "Kaz"
-#: ../rules/base.xml.in.h:340
+#: ../rules/base.xml.in.h:355
msgid "Kazakh with Russian"
msgstr "Kazachų, su rusiškomis raidėmis"
-#: ../rules/base.xml.in.h:341
+#: ../rules/base.xml.in.h:356
msgid "Kazakhstan"
msgstr "Kazachstanas"
-#: ../rules/base.xml.in.h:342
+#: ../rules/base.xml.in.h:357
+msgid "Ken"
+msgstr "Ken"
+
+#: ../rules/base.xml.in.h:358
+msgid "Kenya"
+msgstr "Kenija"
+
+#: ../rules/base.xml.in.h:359
msgid "Key sequence to kill the X server"
msgstr "Klavišų seka X serverio darbui nutraukti"
-#: ../rules/base.xml.in.h:343
+#: ../rules/base.xml.in.h:360
msgid "Key to choose 3rd level"
msgstr "Klavišai trečiajam lygiui pasirinkti"
-#: ../rules/base.xml.in.h:344
+#: ../rules/base.xml.in.h:361
+msgid "Key to choose 5th level"
+msgstr "Klavišai penktajam lygiui pasirinkti"
+
+#: ../rules/base.xml.in.h:362
msgid "Key(s) to change layout"
msgstr "Klavišai išdėstymui pakeisti"
-#: ../rules/base.xml.in.h:345
+#: ../rules/base.xml.in.h:363
msgid "Keytronic FlexPro"
msgstr "Keytronic FlexPro"
-#: ../rules/base.xml.in.h:346
+#: ../rules/base.xml.in.h:364
msgid "Kgz"
msgstr "Kgz"
-#: ../rules/base.xml.in.h:347
+#: ../rules/base.xml.in.h:365
msgid "Khm"
msgstr "Khm"
-#: ../rules/base.xml.in.h:348
+#: ../rules/base.xml.in.h:366
+msgid "Kikuyu"
+msgstr "Kikuyu"
+
+#: ../rules/base.xml.in.h:367
msgid "Komi"
msgstr "Komija"
-#: ../rules/base.xml.in.h:349
+#: ../rules/base.xml.in.h:368
msgid "Kor"
msgstr "Kor"
-#: ../rules/base.xml.in.h:350
+#: ../rules/base.xml.in.h:369
msgid "Korea, Republic of"
msgstr "Korėjos respublika"
-#: ../rules/base.xml.in.h:351
+#: ../rules/base.xml.in.h:370
msgid "Ktunaxa"
msgstr "Kutenajų"
-#: ../rules/base.xml.in.h:352
+#: ../rules/base.xml.in.h:371
msgid "Kurdish, (F)"
msgstr "Kurdų, (F)"
-#: ../rules/base.xml.in.h:353
+#: ../rules/base.xml.in.h:372
msgid "Kurdish, Arabic-Latin"
msgstr "Kurdų, arabų-lotynų"
-#: ../rules/base.xml.in.h:354
+#: ../rules/base.xml.in.h:373
msgid "Kurdish, Latin Alt-Q"
msgstr "Kurdų (lotyniškas Alt-Q)"
-#: ../rules/base.xml.in.h:355
+#: ../rules/base.xml.in.h:374
msgid "Kurdish, Latin Q"
msgstr "Kurdų (lotyniškas Q)"
-#: ../rules/base.xml.in.h:356
+#: ../rules/base.xml.in.h:375
msgid "Kyrgyzstan"
msgstr "Kirgizija"
-#: ../rules/base.xml.in.h:357
+#: ../rules/base.xml.in.h:376
msgid "LAm"
msgstr "LAm"
-#: ../rules/base.xml.in.h:358
+#: ../rules/base.xml.in.h:377
msgid "LEKP"
msgstr "LEKP"
-#: ../rules/base.xml.in.h:359
+#: ../rules/base.xml.in.h:378
msgid "LEKPa"
msgstr "LEKPa"
-#: ../rules/base.xml.in.h:360
+#: ../rules/base.xml.in.h:379
msgid "Lao"
msgstr "Lao"
-#: ../rules/base.xml.in.h:361
+#: ../rules/base.xml.in.h:380
msgid "Laos"
msgstr "Laosas"
-#: ../rules/base.xml.in.h:362
+#: ../rules/base.xml.in.h:381
msgid "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard"
-msgstr "Skreitinuko Compaq (pvz., Armada) klaviatūra"
+msgstr "Compaq skreitinio kompiuterio (pvz., Armada) klaviatūra"
-#: ../rules/base.xml.in.h:363
+#: ../rules/base.xml.in.h:382
msgid "Laptop/notebook Compaq (eg. Presario) Internet Keyboard"
-msgstr "Skreitinukas Compaq (pvz., Presario), internetinė klaviatūra"
+msgstr "Compaq skreitinio kompiuterio (pvz., Presario) internetinė klaviatūra"
-#: ../rules/base.xml.in.h:364
+#: ../rules/base.xml.in.h:383
msgid "Laptop/notebook eMachines m68xx"
-msgstr "Skreitinukas eMachines m68xx"
+msgstr "eMachines m68xx (skreitinis kompiuteris)"
-#: ../rules/base.xml.in.h:365
+#: ../rules/base.xml.in.h:384
msgid "Latin"
msgstr "Lotyniškasis"
-#: ../rules/base.xml.in.h:366
+#: ../rules/base.xml.in.h:385
msgid "Latin American"
msgstr "Lotynų Amerika"
-#: ../rules/base.xml.in.h:367
+#: ../rules/base.xml.in.h:386
msgid "Latin Unicode"
msgstr "Lotyniškasis unikodinis"
-#: ../rules/base.xml.in.h:368
+#: ../rules/base.xml.in.h:387
msgid "Latin Unicode qwerty"
msgstr "Lotyniškasis unikodinis, QWERTY"
-#: ../rules/base.xml.in.h:369
+#: ../rules/base.xml.in.h:388
msgid "Latin qwerty"
msgstr "Lotyniškasis QWERTY"
-#: ../rules/base.xml.in.h:370
+#: ../rules/base.xml.in.h:389
msgid "Latin unicode"
msgstr "Lotyniškasis unikodinis"
-#: ../rules/base.xml.in.h:371
+#: ../rules/base.xml.in.h:390
msgid "Latin unicode qwerty"
msgstr "Lotyniškasis unikodinis, raidės Z ir Ž sukeistos"
-#: ../rules/base.xml.in.h:372
+#: ../rules/base.xml.in.h:391
msgid "Latin with guillemets"
msgstr "Lotyniškasis, su kampinėmis kabutėmis"
-#: ../rules/base.xml.in.h:373
+#: ../rules/base.xml.in.h:392
msgid "Latvia"
msgstr "Latvija"
-#: ../rules/base.xml.in.h:374
-msgid "Lav"
-msgstr "Lav"
+#: ../rules/base.xml.in.h:393
+msgid "Layout toggle on multiply/divide key"
+msgstr "Išdėstymas perjungiamas daugybos/dalybos klavišu"
-#: ../rules/base.xml.in.h:375
+#: ../rules/base.xml.in.h:394
msgid "Left Alt"
msgstr "Kairysis Alt"
-#: ../rules/base.xml.in.h:376
+#: ../rules/base.xml.in.h:395
msgid "Left Alt (while pressed)"
msgstr "Kairysis Alt (kol nuspaustas)"
-#: ../rules/base.xml.in.h:377
+#: ../rules/base.xml.in.h:396
msgid "Left Alt is swapped with Left Win"
msgstr "Kairysis Alt sukeistas su kairiuoju Win"
-#: ../rules/base.xml.in.h:378
+#: ../rules/base.xml.in.h:397
msgid "Left Ctrl"
msgstr "Kairysis Vald"
-#: ../rules/base.xml.in.h:379
+#: ../rules/base.xml.in.h:398
msgid "Left Ctrl (to first layout), Right Ctrl (to last layout)"
msgstr "Kairysis Vald (į pirmąjį išdėstymą), dešinysis Vald (į paskutinį išdėstymą)"
-#: ../rules/base.xml.in.h:380
+#: ../rules/base.xml.in.h:399
msgid "Left Ctrl+Left Shift"
msgstr "Kairysis Vald+kairysis Lyg2"
-#: ../rules/base.xml.in.h:381
+#: ../rules/base.xml.in.h:400
msgid "Left Shift"
msgstr "Kairysis Lyg2"
-#: ../rules/base.xml.in.h:382
+#: ../rules/base.xml.in.h:401
msgid "Left Win"
msgstr "Kairysis Win"
-#: ../rules/base.xml.in.h:383
+#: ../rules/base.xml.in.h:402
msgid "Left Win (to first layout), Right Win/Menu (to last layout)"
msgstr "Kairysis Win (į pirmąjį išdėstymą), dešinysis Win/Meniu (į paskutinį išdėstymą)"
-#: ../rules/base.xml.in.h:384
+#: ../rules/base.xml.in.h:403
msgid "Left Win (while pressed)"
msgstr "Kairysis Win (kol nuspaustas)"
-#: ../rules/base.xml.in.h:385
+#: ../rules/base.xml.in.h:404
+msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr "Kairysis Win įjungia penktąjį lygį, arba jį užfiksuoja, jeigu naudojamas kartu su kitu penktojo lygio parinkimo klavišu"
+
+#: ../rules/base.xml.in.h:405
+msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr "Kairysis Win įjungia penktąjį lygį, arba jį užfiksuoja, jeigu naudojamas kartu su kitu penktojo lygio parinkimo klavišu. Vieno klavišo spustelėjimas nutraukia fiksavimą"
+
+#: ../rules/base.xml.in.h:406
msgid "Left hand"
msgstr "Kairei rankai"
-#: ../rules/base.xml.in.h:386
+#: ../rules/base.xml.in.h:407
msgid "Left handed Dvorak"
msgstr "Dvorako kairiarankiams"
-#: ../rules/base.xml.in.h:387
+#: ../rules/base.xml.in.h:408
msgid "Legacy"
msgstr "Senasis"
-#: ../rules/base.xml.in.h:388
+#: ../rules/base.xml.in.h:409
msgid "Legacy Wang 724"
-msgstr "Senasis Wang 724"
+msgstr "Senasis „Wang 724“"
#. Actually, with KP_SEPARATOR, as the old keypad(comma)
-#: ../rules/base.xml.in.h:390
+#: ../rules/base.xml.in.h:411
msgid "Legacy key with comma"
msgstr "Senojo tipo klavišas su kableliu"
-#: ../rules/base.xml.in.h:391
+#: ../rules/base.xml.in.h:412
msgid "Legacy key with dot"
msgstr "Senojo tipo klavišas su tašku"
-#: ../rules/base.xml.in.h:392
-msgid "Less-than/Greater-than"
-msgstr "Mažiau/Daugiau"
-
-#: ../rules/base.xml.in.h:393
+#: ../rules/base.xml.in.h:413
msgid "Lithuania"
msgstr "Lietuva"
-#: ../rules/base.xml.in.h:394
+#: ../rules/base.xml.in.h:414
+msgid "Lka"
+msgstr "Lka"
+
+#: ../rules/base.xml.in.h:415
msgid "Logitech Access Keyboard"
msgstr "Logitech Access Keyboard"
-#: ../rules/base.xml.in.h:395
+#: ../rules/base.xml.in.h:416
msgid "Logitech Cordless Desktop"
msgstr "Logitech Cordless Desktop"
-#: ../rules/base.xml.in.h:396
+#: ../rules/base.xml.in.h:417
msgid "Logitech Cordless Desktop (alternate option)"
msgstr "Logitech Cordless Desktop (alternatyvus variantas)"
-#: ../rules/base.xml.in.h:397
+#: ../rules/base.xml.in.h:418
msgid "Logitech Cordless Desktop EX110"
msgstr "Logitech Cordless Desktop EX110"
-#: ../rules/base.xml.in.h:398
+#: ../rules/base.xml.in.h:419
msgid "Logitech Cordless Desktop LX-300"
msgstr "Logitech Cordless Desktop LX-300"
-#: ../rules/base.xml.in.h:399
+#: ../rules/base.xml.in.h:420
msgid "Logitech Cordless Desktop Navigator"
msgstr "Logitech Cordless Desktop Navigator"
-#: ../rules/base.xml.in.h:400
+#: ../rules/base.xml.in.h:421
msgid "Logitech Cordless Desktop Optical"
msgstr "Logitech Cordless Desktop Optical"
-#: ../rules/base.xml.in.h:401
+#: ../rules/base.xml.in.h:422
msgid "Logitech Cordless Desktop Pro (alternate option 2)"
-msgstr "Logitech Cordless Desktop Pro (alternatyvus variantas 2)"
+msgstr "Logitech Cordless Desktop Pro (antrasis alternatyvus variantas)"
-#: ../rules/base.xml.in.h:402
+#: ../rules/base.xml.in.h:423
msgid "Logitech Cordless Desktop iTouch"
msgstr "Logitech Cordless Desktop iTouch"
-#: ../rules/base.xml.in.h:403
+#: ../rules/base.xml.in.h:424
msgid "Logitech Cordless Freedom/Desktop Navigator"
msgstr "Logitech Cordless Freedom/Desktop Navigator"
-#: ../rules/base.xml.in.h:404
+#: ../rules/base.xml.in.h:425
msgid "Logitech G15 extra keys via G15daemon"
-msgstr "Logitech G15 (papildomi klavišai G15daemon pagalba)"
+msgstr "Logitech G15 (papildomi klavišai „G15daemon“ pagalba)"
-#: ../rules/base.xml.in.h:405
+#: ../rules/base.xml.in.h:426
msgid "Logitech Generic Keyboard"
msgstr "Logitech Generic Keyboard"
-#: ../rules/base.xml.in.h:406
+#: ../rules/base.xml.in.h:427
msgid "Logitech Internet 350 Keyboard"
msgstr "Logitech Internet 350 Keyboard"
-#: ../rules/base.xml.in.h:407
+#: ../rules/base.xml.in.h:428
msgid "Logitech Internet Keyboard"
msgstr "Logitech Internet Keyboard"
-#: ../rules/base.xml.in.h:408
+#: ../rules/base.xml.in.h:429
msgid "Logitech Internet Navigator Keyboard"
msgstr "Logitech Internet Navigator Keyboard"
-#: ../rules/base.xml.in.h:409
+#: ../rules/base.xml.in.h:430
msgid "Logitech Media Elite Keyboard"
msgstr "Logitech Media Elite Keyboard"
-#: ../rules/base.xml.in.h:410
+#: ../rules/base.xml.in.h:431
msgid "Logitech Ultra-X Cordless Media Desktop Keyboard"
msgstr "Logitech Ultra-X Cordless Media Desktop Keyboard"
-#: ../rules/base.xml.in.h:411
+#: ../rules/base.xml.in.h:432
msgid "Logitech Ultra-X Keyboard"
msgstr "Logitech Ultra-X Keyboard"
-#: ../rules/base.xml.in.h:412
+#: ../rules/base.xml.in.h:433
msgid "Logitech diNovo Edge Keyboard"
msgstr "Logitech diNovo Edge Keyboard"
-#: ../rules/base.xml.in.h:413
+#: ../rules/base.xml.in.h:434
msgid "Logitech diNovo Keyboard"
msgstr "Logitech diNovo Keyboard"
-#: ../rules/base.xml.in.h:414
+#: ../rules/base.xml.in.h:435
msgid "Logitech iTouch"
msgstr "Logitech iTouch"
-#: ../rules/base.xml.in.h:415
+#: ../rules/base.xml.in.h:436
msgid "Logitech iTouch Cordless Keyboard (model Y-RB6)"
msgstr "Logitech iTouch Cordless Keyboard (modelis Y-RB6)"
-#: ../rules/base.xml.in.h:416
+#: ../rules/base.xml.in.h:437
msgid "Logitech iTouch Internet Navigator Keyboard SE"
msgstr "Logitech iTouch Internet Navigator Keyboard SE"
-#: ../rules/base.xml.in.h:417
+#: ../rules/base.xml.in.h:438
msgid "Logitech iTouch Internet Navigator Keyboard SE (USB)"
msgstr "Logitech iTouch Internet Navigator Keyboard SE (USB)"
-#: ../rules/base.xml.in.h:418
+#: ../rules/base.xml.in.h:439
msgid "Lower Sorbian"
msgstr "Žemutinių sorbų"
-#: ../rules/base.xml.in.h:419
+#: ../rules/base.xml.in.h:440
msgid "Lower Sorbian (qwertz)"
msgstr "Žemutinių sorbų (QWERTZ)"
-#: ../rules/base.xml.in.h:420
+#: ../rules/base.xml.in.h:441
msgid "Ltu"
msgstr "Ltu"
-#: ../rules/base.xml.in.h:421
+#: ../rules/base.xml.in.h:442
+msgid "Lva"
+msgstr "Lva"
+
+#: ../rules/base.xml.in.h:443
msgid "MESS"
msgstr "MESS"
-#: ../rules/base.xml.in.h:422
+#: ../rules/base.xml.in.h:444
msgid "MNE"
msgstr "MNE"
-#: ../rules/base.xml.in.h:423
+#: ../rules/base.xml.in.h:445
msgid "MacBook/MacBook Pro"
msgstr "MacBook/MacBook Pro"
-#: ../rules/base.xml.in.h:424
+#: ../rules/base.xml.in.h:446
msgid "MacBook/MacBook Pro (Intl)"
-msgstr "MacBook/MacBook Pro (europinė)"
+msgstr "MacBook/MacBook Pro (europinis)"
-#: ../rules/base.xml.in.h:425
+#: ../rules/base.xml.in.h:447
msgid "Macedonia"
msgstr "Makedonija"
-#: ../rules/base.xml.in.h:426
+#: ../rules/base.xml.in.h:448
msgid "Macintosh"
msgstr "Macintosh"
-#: ../rules/base.xml.in.h:427
+#: ../rules/base.xml.in.h:449
msgid "Macintosh Old"
-msgstr "Macintosh (senoji)"
+msgstr "Macintosh (senasis)"
-#: ../rules/base.xml.in.h:428
+#: ../rules/base.xml.in.h:450
msgid "Macintosh, Sun dead keys"
-msgstr "Macintosh, su Sun tęsties ženklais"
+msgstr "„Macintosh“, su „Sun“ tęsties klavišais"
-#: ../rules/base.xml.in.h:429
+#: ../rules/base.xml.in.h:451
msgid "Macintosh, eliminate dead keys"
-msgstr "Macintosh, be tęsties ženklų"
+msgstr "„Macintosh“, be tęsties klavišų"
-#: ../rules/base.xml.in.h:430
+#: ../rules/base.xml.in.h:452
msgid "Make CapsLock an additional Backspace"
-msgstr "Didžiųjų raidžių klavišą paversti papildomu Naikinimo kairėn („Backspace“) klavišu"
+msgstr "Didž klavišą paversti papildomu Naikinimo kairėn klavišu"
-#: ../rules/base.xml.in.h:431
+#: ../rules/base.xml.in.h:453
msgid "Make CapsLock an additional Ctrl"
-msgstr "Didžiųjų raidžių klavišą paversti papildomu Valdymo klavišu"
+msgstr "Didž klavišą paversti papildomu Vald klavišu"
-#: ../rules/base.xml.in.h:432
+#: ../rules/base.xml.in.h:454
msgid "Make CapsLock an additional ESC"
-msgstr "Didžiųjų raidžių klavišą paversti papildomu Grįžimo (Esc) klavišu"
+msgstr "Didž klavišą paversti papildomu Gr klavišu"
-#: ../rules/base.xml.in.h:433
+#: ../rules/base.xml.in.h:455
msgid "Make CapsLock an additional Hyper"
-msgstr "Didžiųjų raidžių klavišą paversti papildomu „Hyper“ klavišu"
+msgstr "Didž klavišą paversti papildomu Hyper klavišu"
-#: ../rules/base.xml.in.h:434
+#: ../rules/base.xml.in.h:456
msgid "Make CapsLock an additional NumLock"
-msgstr "Didžiųjų raidžių klavišą paversti papildomu Skaitmenų („NumLock“) klavišu"
+msgstr "Didž klavišą paversti papildomu Skaitm klavišu"
-#: ../rules/base.xml.in.h:435
+#: ../rules/base.xml.in.h:457
msgid "Make CapsLock an additional Super"
-msgstr "Didžiųjų raidžių klavišą paversti papildomu „Super“ klavišu"
-
-#: ../rules/base.xml.in.h:436
-msgid "Mal"
-msgstr "Mal"
+msgstr "Didž klavišą paversti papildomu Super klavišu"
-#: ../rules/base.xml.in.h:437
+#: ../rules/base.xml.in.h:458
msgid "Malayalam"
msgstr "Malajalių"
-#: ../rules/base.xml.in.h:438
+#: ../rules/base.xml.in.h:459
msgid "Malayalam Lalitha"
msgstr "Malajalių Lalitha"
-#: ../rules/base.xml.in.h:439
+#: ../rules/base.xml.in.h:460
msgid "Maldives"
msgstr "Maldyvai"
-#: ../rules/base.xml.in.h:440
+#: ../rules/base.xml.in.h:461
+msgid "Mali"
+msgstr "Malis"
+
+#: ../rules/base.xml.in.h:462
msgid "Malta"
msgstr "Malta"
-#: ../rules/base.xml.in.h:441
+#: ../rules/base.xml.in.h:463
msgid "Maltese keyboard with US layout"
msgstr "Maltiečių klaviatūra su JAV išdėstymu"
-#: ../rules/base.xml.in.h:442
+#: ../rules/base.xml.in.h:464
msgid "Mao"
msgstr "Mao"
-#: ../rules/base.xml.in.h:443
+#: ../rules/base.xml.in.h:465
msgid "Maori"
msgstr "Maorių"
-#: ../rules/base.xml.in.h:444
+#: ../rules/base.xml.in.h:466
+msgid "Mdv"
+msgstr "Mdv"
+
+#: ../rules/base.xml.in.h:467
msgid "Memorex MX1998"
msgstr "Memorex MX1998"
-#: ../rules/base.xml.in.h:445
+#: ../rules/base.xml.in.h:468
msgid "Memorex MX2500 EZ-Access Keyboard"
msgstr "Memorex MX2500 EZ-Access Keyboard"
-#: ../rules/base.xml.in.h:446
+#: ../rules/base.xml.in.h:469
msgid "Memorex MX2750"
msgstr "Memorex MX2750"
-#: ../rules/base.xml.in.h:447
+#: ../rules/base.xml.in.h:470
msgid "Menu"
msgstr "Meniu"
-#: ../rules/base.xml.in.h:448
+#: ../rules/base.xml.in.h:471
msgid "Meta is mapped to Left Win"
msgstr "Kairiajam Win klavišui priskirti Meta funkciją"
-#: ../rules/base.xml.in.h:449
+#: ../rules/base.xml.in.h:472
msgid "Meta is mapped to Win keys"
msgstr "Win klavišams priskirti Meta funkciją"
-#: ../rules/base.xml.in.h:450
+#: ../rules/base.xml.in.h:473
msgid "Microsoft Comfort Curve Keyboard 2000"
msgstr "Microsoft Comfort Curve Keyboard 2000"
-#: ../rules/base.xml.in.h:451
+#: ../rules/base.xml.in.h:474
msgid "Microsoft Internet Keyboard"
msgstr "Microsoft Internet Keyboard"
-#: ../rules/base.xml.in.h:452
+#: ../rules/base.xml.in.h:475
msgid "Microsoft Internet Keyboard Pro, Swedish"
-msgstr "Microsoft Internet Keyboard Pro, Švediška"
+msgstr "Microsoft Internet Keyboard Pro (švediška)"
-#: ../rules/base.xml.in.h:453
+#: ../rules/base.xml.in.h:476
msgid "Microsoft Natural"
msgstr "Microsoft Natural"
-#: ../rules/base.xml.in.h:454
+#: ../rules/base.xml.in.h:477
msgid "Microsoft Natural Keyboard Elite"
msgstr "Microsoft Natural Keyboard Elite"
-#: ../rules/base.xml.in.h:455
+#: ../rules/base.xml.in.h:478
msgid "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
msgstr "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
-#: ../rules/base.xml.in.h:456
+#: ../rules/base.xml.in.h:479
msgid "Microsoft Natural Keyboard Pro OEM"
msgstr "Microsoft Natural Keyboard Pro OEM"
-#: ../rules/base.xml.in.h:457
+#: ../rules/base.xml.in.h:480
msgid "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
msgstr "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
-#: ../rules/base.xml.in.h:458
+#: ../rules/base.xml.in.h:481
msgid "Microsoft Natural Wireless Ergonomic Keyboard 7000"
msgstr "Microsoft Natural Wireless Ergonomic Keyboard 7000"
-#: ../rules/base.xml.in.h:459
+#: ../rules/base.xml.in.h:482
msgid "Microsoft Office Keyboard"
msgstr "Microsoft Office Keyboard"
-#: ../rules/base.xml.in.h:460
+#: ../rules/base.xml.in.h:483
msgid "Microsoft Wireless Multimedia Keyboard 1.0A"
msgstr "Microsoft Wireless Multimedia Keyboard 1.0A"
-#: ../rules/base.xml.in.h:461
+#: ../rules/base.xml.in.h:484
msgid "Miscellaneous compatibility options"
msgstr "Įvairios suderinamumo nuostatos"
-#: ../rules/base.xml.in.h:462
+#: ../rules/base.xml.in.h:485
msgid "Mkd"
msgstr "Mkd"
-#: ../rules/base.xml.in.h:463
+#: ../rules/base.xml.in.h:486
+msgid "Mli"
+msgstr "Mli"
+
+#: ../rules/base.xml.in.h:487
msgid "Mlt"
msgstr "Mlt"
-#: ../rules/base.xml.in.h:464
+#: ../rules/base.xml.in.h:488
msgid "Mmr"
msgstr "Mmr"
-#: ../rules/base.xml.in.h:465
+#: ../rules/base.xml.in.h:489
msgid "Mng"
msgstr "Mng"
-#: ../rules/base.xml.in.h:466
+#: ../rules/base.xml.in.h:490
msgid "Mongolia"
msgstr "Mongolija"
-#: ../rules/base.xml.in.h:467
+#: ../rules/base.xml.in.h:491
msgid "Montenegro"
msgstr "Juodkalnija"
-#: ../rules/base.xml.in.h:468
+#: ../rules/base.xml.in.h:492
msgid "Morocco"
msgstr "Marokas"
-#: ../rules/base.xml.in.h:469
+#: ../rules/base.xml.in.h:493
msgid "Multilingual"
msgstr "Daugiakalbis"
-#: ../rules/base.xml.in.h:470
+#: ../rules/base.xml.in.h:494
msgid "Multilingual, first part"
msgstr "Daugiakalbis, pirmoji dalis"
-#: ../rules/base.xml.in.h:471
+#: ../rules/base.xml.in.h:495
msgid "Multilingual, second part"
msgstr "Daugiakalbis, antroji dalis"
-#: ../rules/base.xml.in.h:472
+#: ../rules/base.xml.in.h:496
msgid "Myanmar"
msgstr "Mianmaras"
-#: ../rules/base.xml.in.h:473
+#: ../rules/base.xml.in.h:497
msgid "NICOLA-F style Backspace"
msgstr "NICOLA-F tipo naikinimas kairėn"
-#: ../rules/base.xml.in.h:474
+#: ../rules/base.xml.in.h:498
msgid "NLA"
msgstr "NLA"
-#: ../rules/base.xml.in.h:475
+#: ../rules/base.xml.in.h:499
msgid "Nativo"
msgstr "Nativo"
-#: ../rules/base.xml.in.h:476
+#: ../rules/base.xml.in.h:500
msgid "Nativo for Esperanto"
msgstr "Nativo Esperanto"
-#: ../rules/base.xml.in.h:477
+#: ../rules/base.xml.in.h:501
msgid "Nativo for USA keyboards"
msgstr "Nativo JAV klaviatūroms"
-#: ../rules/base.xml.in.h:478
+#: ../rules/base.xml.in.h:502
msgid "Neo 2"
msgstr "Neo 2"
-#: ../rules/base.xml.in.h:479
-msgid "Nep"
-msgstr "Nep"
-
-#: ../rules/base.xml.in.h:480
+#: ../rules/base.xml.in.h:503
msgid "Nepal"
msgstr "Nepalas"
-#: ../rules/base.xml.in.h:481
+#: ../rules/base.xml.in.h:504
msgid "Netherlands"
msgstr "Nyderlandai"
-#: ../rules/base.xml.in.h:482
+#: ../rules/base.xml.in.h:505
msgid "New phonetic"
msgstr "Naujasis fonetinis"
-#: ../rules/base.xml.in.h:483
-msgid "Nig"
-msgstr "Nig"
+#: ../rules/base.xml.in.h:506
+msgid "Nga"
+msgstr "Nga"
-#: ../rules/base.xml.in.h:484
+#: ../rules/base.xml.in.h:507
msgid "Nigeria"
msgstr "Nigerija"
-#: ../rules/base.xml.in.h:485
+#: ../rules/base.xml.in.h:508
msgid "Nld"
msgstr "Nld"
-#: ../rules/base.xml.in.h:486
+#: ../rules/base.xml.in.h:509
msgid "Non-breakable space character at fourth level"
msgstr "Jungiamasis tarpas ketvirtajame lygyje"
-#: ../rules/base.xml.in.h:487
+#: ../rules/base.xml.in.h:510
msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level"
msgstr "Jungiamasis tarpas ketvirtajame lygyje, siauras jungiamasis tarpas šeštajame lygyje"
-#: ../rules/base.xml.in.h:488
+#: ../rules/base.xml.in.h:511
msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)"
msgstr "Jungiamasis tarpas ketvirtajame lygyje, siauras jungiamasis tarpas šeštajame lygyje (Vald+Lyg2)"
-#: ../rules/base.xml.in.h:489
+#: ../rules/base.xml.in.h:512
msgid "Non-breakable space character at second level"
msgstr "Jungiamasis tarpas antrajame lygyje"
-#: ../rules/base.xml.in.h:490
+#: ../rules/base.xml.in.h:513
msgid "Non-breakable space character at third level"
msgstr "Jungiamasis tarpas trečiajame lygyje"
-#: ../rules/base.xml.in.h:491
+#: ../rules/base.xml.in.h:514
msgid "Non-breakable space character at third level, nothing at fourth level"
msgstr "Jungiamasis tarpas trečiajame lygyje, ketvirtajame lygyje nieko"
-#: ../rules/base.xml.in.h:492
+#: ../rules/base.xml.in.h:515
msgid "Non-breakable space character at third level, thin non-breakable space character at fourth level"
msgstr "Jungiamasis tarpas trečiajame lygyje, siauras jungiamasis tarpas ketvirtajame lygyje"
-#: ../rules/base.xml.in.h:493
+#: ../rules/base.xml.in.h:516
msgid "Nor"
msgstr "Nor"
-#: ../rules/base.xml.in.h:494
+#: ../rules/base.xml.in.h:517
msgid "Northern Saami"
msgstr "Šiaurės samių"
-#: ../rules/base.xml.in.h:495
+#: ../rules/base.xml.in.h:518
msgid "Northern Saami, eliminate dead keys"
msgstr "Šiaurės samių, be tęsties ženklų"
-#: ../rules/base.xml.in.h:496
+#: ../rules/base.xml.in.h:519
msgid "Northgate OmniKey 101"
msgstr "Northgate OmniKey 101"
-#: ../rules/base.xml.in.h:497
+#: ../rules/base.xml.in.h:520
msgid "Norway"
msgstr "Norvegija"
-#: ../rules/base.xml.in.h:498
+#: ../rules/base.xml.in.h:521
+msgid "Npl"
+msgstr "Npl"
+
+#: ../rules/base.xml.in.h:522
msgid "NumLock"
msgstr "Skaitmenys"
-#: ../rules/base.xml.in.h:499
+#: ../rules/base.xml.in.h:523
msgid "Numeric keypad delete key behaviour"
msgstr "Skaitmenų srities Šalinimo klavišo veiksena"
-#: ../rules/base.xml.in.h:500
+#: ../rules/base.xml.in.h:524
msgid "Numeric keypad keys work as with Mac"
-msgstr "Skaitmenų srities klavišai veikia kaip Mac'e"
+msgstr "Skaitmenų srities klavišai veikia kaip „Mac“ kompiuteryje"
-#: ../rules/base.xml.in.h:501
+#: ../rules/base.xml.in.h:525
msgid "Numeric keypad layout selection"
msgstr "Skaitmenų srities išdėstymo parinkimas"
-#: ../rules/base.xml.in.h:502
+#: ../rules/base.xml.in.h:526
msgid "OADG 109A"
msgstr "OADG 109A"
-#: ../rules/base.xml.in.h:503
+#: ../rules/base.xml.in.h:527
msgid "OLPC"
msgstr "OLPC"
-#: ../rules/base.xml.in.h:504
+#: ../rules/base.xml.in.h:528
msgid "OLPC Dari"
msgstr "OLPC Dari"
-#: ../rules/base.xml.in.h:505
+#: ../rules/base.xml.in.h:529
msgid "OLPC Pashto"
-msgstr "OLPC Puštu"
+msgstr "OLPC Puštų"
-#: ../rules/base.xml.in.h:506
+#: ../rules/base.xml.in.h:530
msgid "OLPC Southern Uzbek"
msgstr "OLPC Pietų Uzbekijos"
-#: ../rules/base.xml.in.h:507
+#: ../rules/base.xml.in.h:531
msgid "Occitan"
msgstr "Očitarų"
-#: ../rules/base.xml.in.h:508
+#: ../rules/base.xml.in.h:532
msgid "Ogham"
msgstr "Ogham"
-#: ../rules/base.xml.in.h:509
+#: ../rules/base.xml.in.h:533
msgid "Ogham IS434"
msgstr "Ogham IS434"
-#: ../rules/base.xml.in.h:510
+#: ../rules/base.xml.in.h:534
msgid "Oriya"
msgstr "Orijų"
-#: ../rules/base.xml.in.h:511
+#: ../rules/base.xml.in.h:535
msgid "Ortek MCK-800 MM/Internet keyboard"
msgstr "Ortek MCK-800 MM/Internet keyboard"
-#: ../rules/base.xml.in.h:512
+#: ../rules/base.xml.in.h:536
msgid "Ossetian"
-msgstr "Ossetian"
+msgstr "Osetinų"
-#: ../rules/base.xml.in.h:513
+#: ../rules/base.xml.in.h:537
msgid "Ossetian, Winkeys"
msgstr "Osetinų, „Windows“ išdėstymas"
-#: ../rules/base.xml.in.h:514
+#: ../rules/base.xml.in.h:538
msgid "Ossetian, legacy"
-msgstr "Osetų (senasis)"
+msgstr "Osetinų (senasis)"
-#: ../rules/base.xml.in.h:515
+#: ../rules/base.xml.in.h:539
msgid "PC-98xx Series"
-msgstr "PC-98xx Series"
+msgstr "PC-98xx serijos kompiuterio klaviatūra"
-#: ../rules/base.xml.in.h:516
+#: ../rules/base.xml.in.h:540
msgid "Pak"
msgstr "Pak"
-#: ../rules/base.xml.in.h:517
+#: ../rules/base.xml.in.h:541
msgid "Pakistan"
msgstr "Pakistanas"
-#: ../rules/base.xml.in.h:518
+#: ../rules/base.xml.in.h:542
+msgid "Pannonian Rusyn Homophonic"
+msgstr "Panonijos „Rusyn“ homofoninė"
+
+#: ../rules/base.xml.in.h:543
msgid "Pashto"
-msgstr "Puštu"
+msgstr "Puštų"
-#: ../rules/base.xml.in.h:519
+#: ../rules/base.xml.in.h:544
msgid "Pattachote"
msgstr "Pattachote"
-#: ../rules/base.xml.in.h:520
+#: ../rules/base.xml.in.h:545
+msgid "Pause"
+msgstr "Pauzė"
+
+#: ../rules/base.xml.in.h:546
msgid "Persian, with Persian Keypad"
msgstr "Persų, su persiška skaitmenų sritimi"
-#: ../rules/base.xml.in.h:521
+#: ../rules/base.xml.in.h:547
msgid "Phonetic"
msgstr "Fonetinis"
-#: ../rules/base.xml.in.h:522
+#: ../rules/base.xml.in.h:548
msgid "Phonetic Winkeys"
msgstr "Fonetinis „Windows“ išdėstymas"
-#: ../rules/base.xml.in.h:523
+#: ../rules/base.xml.in.h:549
msgid "Pol"
msgstr "Pol"
-#: ../rules/base.xml.in.h:524
+#: ../rules/base.xml.in.h:550
msgid "Poland"
msgstr "Lenkija"
-#: ../rules/base.xml.in.h:525
+#: ../rules/base.xml.in.h:551
msgid "Polytonic"
msgstr "Politoninis"
-#: ../rules/base.xml.in.h:526
+#: ../rules/base.xml.in.h:552
msgid "Portugal"
msgstr "Portugalija"
-#: ../rules/base.xml.in.h:527
+#: ../rules/base.xml.in.h:553
msgid "Probhat"
msgstr "Probhat"
-#: ../rules/base.xml.in.h:528
+#: ../rules/base.xml.in.h:554
msgid "Programmer Dvorak"
msgstr "Dvorako programuotojų"
-#: ../rules/base.xml.in.h:529
+#: ../rules/base.xml.in.h:555
msgid "Propeller Voyager (KTEZ-1000)"
msgstr "Propeller Voyager (KTEZ-1000)"
-#: ../rules/base.xml.in.h:530
+#: ../rules/base.xml.in.h:556
msgid "Prt"
msgstr "Prt"
-#: ../rules/base.xml.in.h:531
+#: ../rules/base.xml.in.h:557
+msgid "PrtSc"
+msgstr "Sp"
+
+#: ../rules/base.xml.in.h:558
msgid "QTronix Scorpius 98N+"
msgstr "QTronix Scorpius 98N+"
-#: ../rules/base.xml.in.h:532
+#: ../rules/base.xml.in.h:559
msgid "Right Alt"
msgstr "Dešinysis Alt"
-#: ../rules/base.xml.in.h:533
+#: ../rules/base.xml.in.h:560
msgid "Right Alt (while pressed)"
msgstr "Dešinysis Alt (kol nuspaustas)"
-#: ../rules/base.xml.in.h:534
+#: ../rules/base.xml.in.h:561
+msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr "Dešinysis Alt įjungia penktąjį lygį, arba jį užfiksuoja, jeigu naudojamas kartu su kitu penktojo lygio parinkimo klavišu"
+
+#: ../rules/base.xml.in.h:562
+msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr "Dešinysis Alt įjungia penktąjį lygį, arba jį užfiksuoja, jeigu naudojamas kartu su kitu penktojo lygio parinkimo klavišu. Vieno klavišo spustelėjimas nutraukia fiksavimą"
+
+#: ../rules/base.xml.in.h:563
msgid "Right Alt key never chooses 3rd level"
msgstr "Dešinysis Alt niekada neįjungia trečiojo lygio"
-#: ../rules/base.xml.in.h:535
+#: ../rules/base.xml.in.h:564
msgid "Right Alt, Shift+Right Alt key is Multi_Key"
-msgstr "Dešinysis Alt, Lyg2+dešinysis Alt atlieka Multi_Key (Compose) funkciją"
+msgstr "Dešinysis Alt; Lyg2+dešinysis Alt atlieka Multi_Key (Komponavimo klavišo) funkciją"
-#: ../rules/base.xml.in.h:536
+#: ../rules/base.xml.in.h:565
msgid "Right Ctrl"
msgstr "Dešinysis Vald"
-#: ../rules/base.xml.in.h:537
+#: ../rules/base.xml.in.h:566
msgid "Right Ctrl (while pressed)"
msgstr "Dešinysis Vald (kol nuspaustas)"
-#: ../rules/base.xml.in.h:538
+#: ../rules/base.xml.in.h:567
msgid "Right Ctrl as Right Alt"
msgstr "Dešiniajam Vald klavišui priskirti dešiniojo Alt funkciją"
-#: ../rules/base.xml.in.h:539
+#: ../rules/base.xml.in.h:568
msgid "Right Ctrl+Right Shift"
msgstr "Dešinysis Vald+dešinysis Lyg2"
-#: ../rules/base.xml.in.h:540
+#: ../rules/base.xml.in.h:569
msgid "Right Shift"
msgstr "Dešinysis Lyg2"
-#: ../rules/base.xml.in.h:541
+#: ../rules/base.xml.in.h:570
msgid "Right Win"
msgstr "Dešinysis Win"
-#: ../rules/base.xml.in.h:542
+#: ../rules/base.xml.in.h:571
msgid "Right Win (while pressed)"
msgstr "Dešinysis Win (kol nuspaustas)"
-#: ../rules/base.xml.in.h:543
+#: ../rules/base.xml.in.h:572
+msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr "Dešinysis Win įjungia penktąjį lygį, arba jį užfiksuoja, jeigu naudojamas kartu su kitu penktojo lygio parinkimo klavišu"
+
+#: ../rules/base.xml.in.h:573
+msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr "Dešinysis Win įjungia penktąjį lygį, arba jį užfiksuoja, jeigu naudojamas kartu su kitu penktojo lygio parinkimo klavišu. Vieno klavišo spustelėjimas nutraukia fiksavimą"
+
+#: ../rules/base.xml.in.h:574
msgid "Right hand"
msgstr "Dešinei rankai"
-#: ../rules/base.xml.in.h:544
+#: ../rules/base.xml.in.h:575
msgid "Right handed Dvorak"
msgstr "Dvorako dešiniarankiams"
-#: ../rules/base.xml.in.h:545
+#: ../rules/base.xml.in.h:576
msgid "Romania"
msgstr "Rumunija"
-#: ../rules/base.xml.in.h:546
+#: ../rules/base.xml.in.h:577
msgid "Romanian keyboard with German letters"
msgstr "Rumunų klaviatūra su vokiškomis raidėmis"
-#: ../rules/base.xml.in.h:547
+#: ../rules/base.xml.in.h:578
msgid "Romanian keyboard with German letters, eliminate dead keys"
-msgstr "Rumunų klaviatūra su vokiškomis raidėmis, be tęsties ženklų"
+msgstr "Rumunų klaviatūra su vokiškomis raidėmis, be tęsties klavišų"
-#: ../rules/base.xml.in.h:548
+#: ../rules/base.xml.in.h:579
msgid "Rou"
msgstr "Rou"
-#: ../rules/base.xml.in.h:549
+#: ../rules/base.xml.in.h:580
msgid "Rus"
msgstr "Rus"
-#: ../rules/base.xml.in.h:550
+#: ../rules/base.xml.in.h:581
msgid "Russia"
msgstr "Rusija"
-#: ../rules/base.xml.in.h:551
+#: ../rules/base.xml.in.h:582
msgid "Russian"
msgstr "Rusų"
-#: ../rules/base.xml.in.h:552
+#: ../rules/base.xml.in.h:583
msgid "Russian phonetic"
msgstr "Rusų fonetinis"
-#: ../rules/base.xml.in.h:553
+#: ../rules/base.xml.in.h:584
msgid "Russian phonetic Dvorak"
msgstr "Rusų fonetinis Dvorako"
-#: ../rules/base.xml.in.h:554
+#: ../rules/base.xml.in.h:585
msgid "Russian phonetic, eliminate dead keys"
-msgstr "Rusų fonetinis, be tęsties ženklų"
+msgstr "Rusų fonetinis, be tęsties klavišų"
-#: ../rules/base.xml.in.h:555
+#: ../rules/base.xml.in.h:586
msgid "Russian with Kazakh"
msgstr "Rusų, su kazachų raidėmis"
-#: ../rules/base.xml.in.h:556
+#: ../rules/base.xml.in.h:587
msgid "SILVERCREST Multimedia Wireless Keyboard"
-msgstr "SILVERCREST Multimedia Wireless Keyboard"
+msgstr "SILVERCREST belaidė multimedinė klaviatūra"
-#: ../rules/base.xml.in.h:557
+#: ../rules/base.xml.in.h:588
msgid "SK-1300"
msgstr "SK-1300"
-#: ../rules/base.xml.in.h:558
+#: ../rules/base.xml.in.h:589
msgid "SK-2500"
msgstr "SK-2500"
-#: ../rules/base.xml.in.h:559
+#: ../rules/base.xml.in.h:590
msgid "SK-6200"
msgstr "SK-6200"
-#: ../rules/base.xml.in.h:560
+#: ../rules/base.xml.in.h:591
msgid "SK-7100"
msgstr "SK-7100"
-#: ../rules/base.xml.in.h:561 ../rules/base.extras.xml.in.h:7
+#: ../rules/base.xml.in.h:592 ../rules/base.extras.xml.in.h:7
msgid "SRB"
msgstr "SRB"
-#: ../rules/base.xml.in.h:562
+#: ../rules/base.xml.in.h:593
msgid "SVEN Ergonomic 2500"
msgstr "SVEN Ergonomic 2500"
-#: ../rules/base.xml.in.h:563
+#: ../rules/base.xml.in.h:594
msgid "SVEN Slim 303"
msgstr "SVEN Slim 303"
-#: ../rules/base.xml.in.h:564
+#: ../rules/base.xml.in.h:595
msgid "Samsung SDM 4500P"
msgstr "Samsung SDM 4500P"
-#: ../rules/base.xml.in.h:565
+#: ../rules/base.xml.in.h:596
msgid "Samsung SDM 4510P"
msgstr "Samsung SDM 4510P"
-#: ../rules/base.xml.in.h:566
-msgid "Scroll Lock"
-msgstr "Ekrano slinkimas"
-
-#: ../rules/base.xml.in.h:567
+#: ../rules/base.xml.in.h:597
msgid "ScrollLock"
-msgstr "Ekrano slinkimas"
+msgstr "Slinkti"
-#: ../rules/base.xml.in.h:568
+#: ../rules/base.xml.in.h:598
msgid "Secwepemctsin"
msgstr "Šušvapų"
-#: ../rules/base.xml.in.h:569
+#: ../rules/base.xml.in.h:599
msgid "Semi-colon on third level"
-msgstr "Kabliataškis trečiąjame lygyje"
+msgstr "Kabliataškis trečiajame lygyje"
+
+#: ../rules/base.xml.in.h:600
+msgid "Sen"
+msgstr "Sen"
+
+#: ../rules/base.xml.in.h:601
+msgid "Senegal"
+msgstr "Senegaliečių"
-#: ../rules/base.xml.in.h:570 ../rules/base.extras.xml.in.h:8
+#: ../rules/base.xml.in.h:602 ../rules/base.extras.xml.in.h:8
msgid "Serbia"
msgstr "Serbija"
-#: ../rules/base.xml.in.h:571
+#: ../rules/base.xml.in.h:603
+msgid "Serbian"
+msgstr "Serbų"
+
+#: ../rules/base.xml.in.h:604
msgid "Shift cancels CapsLock"
-msgstr "Lyg2 atšaukia Didžiąsias raides"
+msgstr "Lyg2 nutraukia Didž veikimą"
-#: ../rules/base.xml.in.h:572
-msgid "Shift does not cancel NumLock, chooses 3d level instead"
-msgstr "Lyg2 neatšaukia didžiųjų raidžių, o įjungia 3-iąjį lygį"
+#: ../rules/base.xml.in.h:605
+msgid "Shift does not cancel NumLock, chooses 3rd level instead"
+msgstr "Lyg2 neatšaukia Skaitm veikimo, o įjungia trečiąjį lygį"
-#: ../rules/base.xml.in.h:573
+#: ../rules/base.xml.in.h:606
msgid "Shift with numeric keypad keys works as in MS Windows"
msgstr "Lyg2 su skaitmenų srities klavišais veikia kaip MS Windows sistemoje"
-#: ../rules/base.xml.in.h:574
+#: ../rules/base.xml.in.h:607
msgid "Shift+CapsLock"
msgstr "Lyg2+Didž"
-#: ../rules/base.xml.in.h:575
+#: ../rules/base.xml.in.h:608
msgid "Simple"
msgstr "Paprastasis"
-#: ../rules/base.xml.in.h:576
+#: ../rules/base.xml.in.h:609
msgid "Slovakia"
msgstr "Slovakija"
-#: ../rules/base.xml.in.h:577
+#: ../rules/base.xml.in.h:610
msgid "Slovenia"
msgstr "Slovėnija"
-#: ../rules/base.xml.in.h:578
+#: ../rules/base.xml.in.h:611
msgid "South Africa"
msgstr "Pietų Afrika"
-#: ../rules/base.xml.in.h:579
+#: ../rules/base.xml.in.h:612
msgid "Southern Uzbek"
msgstr "Pietų Uzbekijos"
-#: ../rules/base.xml.in.h:580
+#: ../rules/base.xml.in.h:613
msgid "Spain"
msgstr "Ispanija"
-#: ../rules/base.xml.in.h:581
+#: ../rules/base.xml.in.h:614
msgid "Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server"
msgstr "Specialiosios sekos (Vald+Alt+&lt;klavišas&gt;) apdorojamos serveryje"
-#: ../rules/base.xml.in.h:582
-msgid "SrL"
-msgstr "SrL"
-
-#: ../rules/base.xml.in.h:583
+#: ../rules/base.xml.in.h:615
msgid "Sri Lanka"
-msgstr "Šri lanka"
+msgstr "Šri Lanka"
-#: ../rules/base.xml.in.h:584
+#: ../rules/base.xml.in.h:616
msgid "Standard"
msgstr "Standartinis"
-#: ../rules/base.xml.in.h:585
+#: ../rules/base.xml.in.h:617
msgid "Standard (Cedilla)"
-msgstr "Standartinis (su sedile)"
+msgstr "Standartinis (su cedila)"
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:587
+#: ../rules/base.xml.in.h:619
msgid "Standard RSTU"
msgstr "Standartinis RSTU"
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:589
+#: ../rules/base.xml.in.h:621
msgid "Standard RSTU on Russian layout"
msgstr "Standartinis RSTU ant rusiško išdėstymo"
-#: ../rules/base.xml.in.h:590
+#: ../rules/base.xml.in.h:622
msgid "Sun Type 5/6"
msgstr "Sun Type 5/6"
-#: ../rules/base.xml.in.h:591
+#: ../rules/base.xml.in.h:623
msgid "Sun dead keys"
-msgstr "Sun su tęsties ženklais"
+msgstr "Su „Sun“ tęsties klavišais"
-#: ../rules/base.xml.in.h:592
+#: ../rules/base.xml.in.h:624
msgid "Super Power Multimedia Keyboard"
msgstr "Super Power Multimedia Keyboard"
-#: ../rules/base.xml.in.h:593
+#: ../rules/base.xml.in.h:625
msgid "Svdvorak"
msgstr "Svdvorak"
-#: ../rules/base.xml.in.h:594
+#: ../rules/base.xml.in.h:626
msgid "Svk"
msgstr "Svk"
-#: ../rules/base.xml.in.h:595
+#: ../rules/base.xml.in.h:627
msgid "Svn"
msgstr "Svn"
-#: ../rules/base.xml.in.h:596
+#: ../rules/base.xml.in.h:628
msgid "Swap Ctrl and CapsLock"
-msgstr "Sukeisti Valdymo ir Didžiųjų raidžių klavišus"
+msgstr "Sukeisti Vald ir Didž klavišus"
-#: ../rules/base.xml.in.h:597
+#: ../rules/base.xml.in.h:629
msgid "Swap ESC and CapsLock"
-msgstr "Sukeisti Grįžimo (Esc) ir Didžiųjų raidžių klavišus"
+msgstr "Sukeisti Gr ir Didž klavišus"
-#: ../rules/base.xml.in.h:598
+#: ../rules/base.xml.in.h:630
msgid "Swe"
msgstr "Swe"
-#: ../rules/base.xml.in.h:599
+#: ../rules/base.xml.in.h:631
msgid "Sweden"
msgstr "Švedija"
-#: ../rules/base.xml.in.h:600
+#: ../rules/base.xml.in.h:632
msgid "Switzerland"
msgstr "Šveicarija"
-#: ../rules/base.xml.in.h:601
+#: ../rules/base.xml.in.h:633
msgid "Symplon PaceBook (tablet PC)"
msgstr "Symplon PaceBook (planšetinis kompiuteris)"
-#: ../rules/base.xml.in.h:602
+#: ../rules/base.xml.in.h:634
msgid "Syr"
msgstr "Syr"
-#: ../rules/base.xml.in.h:603
+#: ../rules/base.xml.in.h:635
msgid "Syria"
msgstr "Sirija"
-#: ../rules/base.xml.in.h:604
+#: ../rules/base.xml.in.h:636
msgid "Syriac"
msgstr "Sirijos"
-#: ../rules/base.xml.in.h:605
+#: ../rules/base.xml.in.h:637
msgid "Syriac phonetic"
msgstr "Sirijos fonetinis"
-#: ../rules/base.xml.in.h:606
+#: ../rules/base.xml.in.h:638
msgid "TIS-820.2538"
msgstr "TIS-820.2538"
-#: ../rules/base.xml.in.h:607
+#: ../rules/base.xml.in.h:639
msgid "Tajikistan"
msgstr "Tadžikistanas"
-#: ../rules/base.xml.in.h:608
+#: ../rules/base.xml.in.h:640
msgid "Tamil"
msgstr "Tamilų"
-#: ../rules/base.xml.in.h:609
+#: ../rules/base.xml.in.h:641
+msgid "Tamil Keyboard with Numerals"
+msgstr "Tamilų klaviatūra su skaitvardžiais"
+
+#: ../rules/base.xml.in.h:642
msgid "Tamil TAB Typewriter"
-msgstr "Tamilų TAB rašomoji mašinėlė"
+msgstr "Tamilų TAB rašomosios mašinėlės išdėstymas"
-#: ../rules/base.xml.in.h:610
+#: ../rules/base.xml.in.h:643
msgid "Tamil TSCII Typewriter"
-msgstr "Tamilų TSCII rašomoji mašinėlė"
+msgstr "Tamilų TSCII rašomosios mašinėlės išdėstymas"
-#: ../rules/base.xml.in.h:611
+#: ../rules/base.xml.in.h:644
msgid "Tamil Unicode"
msgstr "Tamilų unikodinis"
-#: ../rules/base.xml.in.h:612
+#: ../rules/base.xml.in.h:645
+msgid "Tanzania"
+msgstr "Tanzanija"
+
+#: ../rules/base.xml.in.h:646
msgid "Targa Visionary 811"
msgstr "Targa Visionary 811"
-#: ../rules/base.xml.in.h:613
+#: ../rules/base.xml.in.h:647
msgid "Tatar"
msgstr "Totorių"
-#: ../rules/base.xml.in.h:614
+#: ../rules/base.xml.in.h:648
msgid "Telugu"
-msgstr "Telugu"
+msgstr "Telugų"
-#: ../rules/base.xml.in.h:615
+#: ../rules/base.xml.in.h:649
msgid "Tha"
msgstr "Tha"
-#: ../rules/base.xml.in.h:616
+#: ../rules/base.xml.in.h:650
msgid "Thailand"
msgstr "Tailandas"
-#: ../rules/base.xml.in.h:617
+#: ../rules/base.xml.in.h:651
msgid "Tibetan"
msgstr "Tibetiečių"
-#: ../rules/base.xml.in.h:618
+#: ../rules/base.xml.in.h:652
msgid "Tibetan (with ASCII numerals)"
msgstr "Tibetiečių (su ASCII skaitmenimis)"
-#: ../rules/base.xml.in.h:619
+#: ../rules/base.xml.in.h:653
msgid "Tifinagh"
msgstr "Berberų"
-#: ../rules/base.xml.in.h:620
+#: ../rules/base.xml.in.h:654
msgid "Tifinagh Alternative"
msgstr "Berberų alternatyvusis"
-#: ../rules/base.xml.in.h:621
+#: ../rules/base.xml.in.h:655
msgid "Tifinagh Alternative Phonetic"
msgstr "Berberų alternatyvusis fonetinis"
-#: ../rules/base.xml.in.h:622
+#: ../rules/base.xml.in.h:656
msgid "Tifinagh Extended"
msgstr "Berberų išplėstasis"
-#: ../rules/base.xml.in.h:623
+#: ../rules/base.xml.in.h:657
msgid "Tifinagh Extended Phonetic"
msgstr "Berberų išplėstasis fonetinis"
-#: ../rules/base.xml.in.h:624
+#: ../rules/base.xml.in.h:658
msgid "Tifinagh Phonetic"
msgstr "Berberų fonetinis"
-#: ../rules/base.xml.in.h:625
+#: ../rules/base.xml.in.h:659
msgid "Tilde (~) variant"
msgstr "Tildės (~) variantas"
-#: ../rules/base.xml.in.h:626
+#: ../rules/base.xml.in.h:660
msgid "Tjk"
msgstr "Tjk"
-#: ../rules/base.xml.in.h:627
+#: ../rules/base.xml.in.h:661
+msgid "Tkm"
+msgstr "Tkm"
+
+#: ../rules/base.xml.in.h:662
msgid "To the corresponding key in a Dvorak keyboard."
-msgstr "Ant atitinkamų Dvorako klaviatūros klavišų"
+msgstr "Ant atitinkamų klavišų Dvorako klaviatūroje."
-#: ../rules/base.xml.in.h:628
+#: ../rules/base.xml.in.h:663
msgid "To the corresponding key in a Qwerty keyboard."
-msgstr "Ant atitinkamų QWERTY klaviatūros klavišų"
+msgstr "Ant atitinkamų klavišų QWERTY klaviatūroje."
-#: ../rules/base.xml.in.h:629
+#: ../rules/base.xml.in.h:664
msgid "Toshiba Satellite S3000"
msgstr "Toshiba Satellite S3000"
-#: ../rules/base.xml.in.h:630
+#: ../rules/base.xml.in.h:665
msgid "Traditional phonetic"
msgstr "Tradicinis fonetinis"
-#: ../rules/base.xml.in.h:631
+#: ../rules/base.xml.in.h:666
msgid "Trust Direct Access Keyboard"
msgstr "Trust Direct Access Keyboard"
-#: ../rules/base.xml.in.h:632
+#: ../rules/base.xml.in.h:667
msgid "Trust Slimline"
msgstr "Trust Slimline"
-#: ../rules/base.xml.in.h:633
+#: ../rules/base.xml.in.h:668
msgid "Trust Wireless Keyboard Classic"
msgstr "Trust Wireless Keyboard Classic"
-#: ../rules/base.xml.in.h:634
+#: ../rules/base.xml.in.h:669
msgid "Tur"
msgstr "Tur"
-#: ../rules/base.xml.in.h:635
+#: ../rules/base.xml.in.h:670
msgid "Turkey"
msgstr "Turkija"
-#: ../rules/base.xml.in.h:636
+#: ../rules/base.xml.in.h:671
msgid "Turkmenistan"
msgstr "Turkmėnistanas"
-#: ../rules/base.xml.in.h:637
+#: ../rules/base.xml.in.h:672
+msgid "TypeMatrix EZ-Reach 2020"
+msgstr "TypeMatrix EZ-Reach 2020"
+
+#: ../rules/base.xml.in.h:673
+msgid "TypeMatrix EZ-Reach 2030 PS2"
+msgstr "TypeMatrix EZ-Reach 2030 PS2"
+
+#: ../rules/base.xml.in.h:674
+msgid "TypeMatrix EZ-Reach 2030 USB"
+msgstr "TypeMatrix EZ-Reach 2030 USB"
+
+#: ../rules/base.xml.in.h:675
+msgid "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)"
+msgstr "TypeMatrix EZ-Reach 2030 USB (102/105 klavišų europinis variantas)"
+
+#: ../rules/base.xml.in.h:676
+msgid "TypeMatrix EZ-Reach 2030 USB (106:JP mode)"
+msgstr "TypeMatrix EZ-Reach 2030 USB (106 klavišų japoninis variantas)"
+
+#: ../rules/base.xml.in.h:677
msgid "Typewriter"
-msgstr "Spausdinimo mašinėlės išdėstymas"
+msgstr "Rašomosios mašinėlės išdėstymas"
-#: ../rules/base.xml.in.h:638
+#: ../rules/base.xml.in.h:678
msgid "Typewriter, legacy"
-msgstr "Spausdinimo mašinėlės išdėstymas (senasis)"
+msgstr "Rašomosios mašinėlės išdėstymas (senasis)"
-#: ../rules/base.xml.in.h:639
+#: ../rules/base.xml.in.h:679
+msgid "Tza"
+msgstr "Tza"
+
+#: ../rules/base.xml.in.h:680
msgid "UCW layout (accented letters only)"
msgstr "UCW išdėstymas (tik raidės su diakritikais)"
-#: ../rules/base.xml.in.h:640
+#: ../rules/base.xml.in.h:681
+msgid "US Dvorak with CZ UCW support"
+msgstr "JAV Dvorako klaviatūra su CZ UCW palaikymu"
+
+#: ../rules/base.xml.in.h:682
msgid "US keyboard with Bosnian digraphs"
msgstr "JAV klaviatūra su bosniškais dviraidžiais"
-#: ../rules/base.xml.in.h:641
+#: ../rules/base.xml.in.h:683
msgid "US keyboard with Bosnian letters"
msgstr "JAV klaviatūra su bosniškais rašmenimis"
-#: ../rules/base.xml.in.h:642
+#: ../rules/base.xml.in.h:684
msgid "US keyboard with Croatian digraphs"
msgstr "JAV klaviatūra su kroatiškais dviraidžiais"
-#: ../rules/base.xml.in.h:643
+#: ../rules/base.xml.in.h:685
msgid "US keyboard with Croatian letters"
msgstr "JAV klaviatūra su kroatiškais rašmenimis"
-#: ../rules/base.xml.in.h:644
+#: ../rules/base.xml.in.h:686
msgid "US keyboard with Estonian letters"
msgstr "JAV klaviatūra su estiškais rašmenimis"
-#: ../rules/base.xml.in.h:645
+#: ../rules/base.xml.in.h:687
msgid "US keyboard with Italian letters"
msgstr "JAV klaviatūra su itališkais rašmenimis"
-#: ../rules/base.xml.in.h:646
+#: ../rules/base.xml.in.h:688
msgid "US keyboard with Lithuanian letters"
msgstr "JAV klaviatūra su lietuviškais rašmenimis"
-#: ../rules/base.xml.in.h:647
+#: ../rules/base.xml.in.h:689
msgid "US keyboard with Slovenian letters"
msgstr "JAV klaviatūra su slovėniškais rašmenimis"
-#: ../rules/base.xml.in.h:648 ../rules/base.extras.xml.in.h:9
+#: ../rules/base.xml.in.h:690 ../rules/base.extras.xml.in.h:9
msgid "USA"
msgstr "JAV"
-#: ../rules/base.xml.in.h:649
+#: ../rules/base.xml.in.h:691
msgid "Udmurt"
msgstr "Udmurtų"
-#: ../rules/base.xml.in.h:650
+#: ../rules/base.xml.in.h:692
msgid "Ukr"
msgstr "Ukr"
-#: ../rules/base.xml.in.h:651
+#: ../rules/base.xml.in.h:693
msgid "Ukraine"
msgstr "Ukraina"
-#: ../rules/base.xml.in.h:652
+#: ../rules/base.xml.in.h:694
msgid "Unicode additions (arrows and math operators)"
msgstr "Unikodiniai priedai (rodyklės ir matematiniai operatoriai)"
-#: ../rules/base.xml.in.h:653
+#: ../rules/base.xml.in.h:695
msgid "Unicode additions (arrows and math operators). Math operators on default level"
msgstr "Unikodiniai priedai (rodyklės ir matematiniai operatoriai). Matematiniai operatoriai numatytame lygyje"
-#: ../rules/base.xml.in.h:654
+#: ../rules/base.xml.in.h:696
msgid "UnicodeExpert"
msgstr "UnicodeExpert"
-#: ../rules/base.xml.in.h:655
+#: ../rules/base.xml.in.h:697
msgid "United Kingdom"
msgstr "Jungtinė karalystė"
-#: ../rules/base.xml.in.h:656
+#: ../rules/base.xml.in.h:698
msgid "Unitek KB-1925"
msgstr "Unitek KB-1925"
-#: ../rules/base.xml.in.h:657
+#: ../rules/base.xml.in.h:699
msgid "Urdu, Alternative phonetic"
msgstr "Urdu, alternatyvus fonetinis"
-#: ../rules/base.xml.in.h:658
+#: ../rules/base.xml.in.h:700
msgid "Urdu, Phonetic"
msgstr "Urdu, fonetinis"
-#: ../rules/base.xml.in.h:659
+#: ../rules/base.xml.in.h:701
msgid "Urdu, Winkeys"
msgstr "Urdu, „Windows“ išdėstymas"
-#: ../rules/base.xml.in.h:660
+#: ../rules/base.xml.in.h:702
msgid "Use Bosnian digraphs"
msgstr "Bosniški dviraidžiai"
-#: ../rules/base.xml.in.h:661
+#: ../rules/base.xml.in.h:703
msgid "Use Croatian digraphs"
msgstr "Kroatiški dviraidžiai"
-#: ../rules/base.xml.in.h:662
+#: ../rules/base.xml.in.h:704
msgid "Use guillemets for quotes"
msgstr "Kampinės kabutės"
-#: ../rules/base.xml.in.h:663
+#: ../rules/base.xml.in.h:705
msgid "Use keyboard LED to show alternative layout"
msgstr "Klaviatūros diodu indikuoti nepagrindinius išdėstymus"
-#: ../rules/base.xml.in.h:664
+#: ../rules/base.xml.in.h:706
msgid "Using space key to input non-breakable space character"
msgstr "Tarpo klavišo naudojimas jungiamajam tarpui įvesti"
-#: ../rules/base.xml.in.h:665
+#: ../rules/base.xml.in.h:707
msgid "Usual space at any level"
msgstr "Įprastas tarpas visuose lygiuose"
-#: ../rules/base.xml.in.h:666
+#: ../rules/base.xml.in.h:708
msgid "Uzb"
msgstr "Uzb"
-#: ../rules/base.xml.in.h:667
+#: ../rules/base.xml.in.h:709
msgid "Uzbekistan"
msgstr "Uzbekistanas"
-#: ../rules/base.xml.in.h:668
+#: ../rules/base.xml.in.h:710
msgid "Vietnam"
msgstr "Vietnamas"
-#: ../rules/base.xml.in.h:669
+#: ../rules/base.xml.in.h:711
msgid "ViewSonic KU-306 Internet Keyboard"
msgstr "ViewSonic KU-306 Internet Keyboard"
-#: ../rules/base.xml.in.h:670
+#: ../rules/base.xml.in.h:712
msgid "Vnm"
msgstr "Vnm"
-#: ../rules/base.xml.in.h:671
+#: ../rules/base.xml.in.h:713
msgid "Wang 724 keypad with unicode additions (arrows and math operators)"
-msgstr "Wang 724 skaitmenų sritis su unikodiniais priedais (rodyklėmis ir matematiniais operatoriais)"
+msgstr "„Wang 724“ skaitmenų sritis su unikodiniais priedais (rodyklėmis ir matematiniais operatoriais)"
-#: ../rules/base.xml.in.h:672
+#: ../rules/base.xml.in.h:714
msgid "Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level"
-msgstr "Wang 724 skaitmenų sritis su unikodiniais priedais (rodyklėmis ir matematiniais operatoriais). Matematiniai operatoriai numatytame lygyje"
+msgstr "„Wang 724“ skaitmenų sritis su unikodiniais priedais (rodyklėmis ir matematiniais operatoriais). Matematiniai operatoriai numatytame lygyje"
-#: ../rules/base.xml.in.h:673
+#: ../rules/base.xml.in.h:715
msgid "Wang model 724 azerty"
-msgstr "Wang 724, AZERTY modelis"
+msgstr "„Wang 724“, AZERTY variantas"
-#: ../rules/base.xml.in.h:674
+#: ../rules/base.xml.in.h:716
msgid "Western"
msgstr "Vakarietiškasis"
-#: ../rules/base.xml.in.h:675
+#: ../rules/base.xml.in.h:717
msgid "Winbook Model XP5"
-msgstr "Winbook XP5 modelis"
+msgstr "Winbook Model XP5"
-#: ../rules/base.xml.in.h:676
+#: ../rules/base.xml.in.h:718
msgid "Winkeys"
msgstr "„Windows“ išdėstymas"
-#: ../rules/base.xml.in.h:677
+#: ../rules/base.xml.in.h:719
msgid "With &lt;\\|&gt; key"
msgstr "Su &lt;\\|&gt; klavišu"
-#: ../rules/base.xml.in.h:678
+#: ../rules/base.xml.in.h:720
msgid "With EuroSign on 5"
msgstr "Euro ženklas ant klavišo 5"
-#: ../rules/base.xml.in.h:679
+#: ../rules/base.xml.in.h:721
msgid "With guillemets"
msgstr "Su kampinėmis kabutėmis"
-#: ../rules/base.xml.in.h:680
+#: ../rules/base.xml.in.h:722
msgid "Yahoo! Internet Keyboard"
msgstr "Yahoo! Internet Keyboard"
-#: ../rules/base.xml.in.h:681
+#: ../rules/base.xml.in.h:723
msgid "Yakut"
msgstr "Jakutų"
-#: ../rules/base.xml.in.h:682
+#: ../rules/base.xml.in.h:724
msgid "Yoruba"
msgstr "Jorubų"
-#: ../rules/base.xml.in.h:683
+#: ../rules/base.xml.in.h:725
msgid "Z and ZHE swapped"
msgstr "Raidės Z ir Ž sukeistos"
-#: ../rules/base.xml.in.h:684
-msgid "Zar"
-msgstr "Zar"
+#: ../rules/base.xml.in.h:726
+msgid "Zaf"
+msgstr "Zaf"
-#: ../rules/base.xml.in.h:685
+#: ../rules/base.xml.in.h:727
+msgid "Zero-width non-joiner character at second level"
+msgstr "Nulinio pločio skirtukas antrajame lygyje"
+
+#: ../rules/base.xml.in.h:728
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level"
+msgstr "Nulinio pločio skirtukas antrajame lygyje, jungiamasis tarpas trečiajame lygyje"
+
+#: ../rules/base.xml.in.h:729
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level"
+msgstr "Nulinio pločio skirtukas antrajame lygyje, jungiamasis tarpas trečiajame lygyje, ketvirtajame lygyje nieko"
+
+#: ../rules/base.xml.in.h:730
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level"
+msgstr "Nulinio pločio skirtukas antrajame lygyje, jungiamasis tarpas trečiajame lygyje, siauras jungiamasis tarpas ketvirtajame lygyje"
+
+#: ../rules/base.xml.in.h:731
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level"
+msgstr "Nulinio pločio skirtukas antrajame lygyje, jungiamasis tarpas trečiajame lygyje, nulinio pločio jungtukas ketvirtajame lygyje"
+
+#: ../rules/base.xml.in.h:732
+msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level"
+msgstr "Nulinio pločio skirtukas antrajame lygyje, nulinio pločio jungtukas trečiajame lygyje"
+
+#: ../rules/base.xml.in.h:733
+msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level"
+msgstr "Nulinio pločio skirtukas antrajame lygyje, nulinio pločio jungtukas trečiajame lygyje, jungiamasis tarpas ketvirtajame lygyje"
+
+#: ../rules/base.xml.in.h:734
+msgid "Zero-width non-joiner character at third level, zero-width joiner at fourth level"
+msgstr "Nulinio pločio skirtukas trečiajame lygyje, nulinio pločio jungtukas ketvirtajame lygyje"
+
+#: ../rules/base.xml.in.h:735
msgid "azerty"
msgstr "AZERTY"
-#: ../rules/base.xml.in.h:686
+#: ../rules/base.xml.in.h:736
msgid "azerty/digits"
msgstr "AZERTY/skaitmenys"
-#: ../rules/base.xml.in.h:687
+#: ../rules/base.xml.in.h:737
msgid "digits"
msgstr "skaitmenys"
-#: ../rules/base.xml.in.h:688
+#: ../rules/base.xml.in.h:738
msgid "displaced semicolon and quote (obsolete)"
msgstr "nukeltas kabliataškis ir kabutė (nenaudotina)"
-#: ../rules/base.xml.in.h:689
+#: ../rules/base.xml.in.h:739
msgid "lyx"
msgstr "lyx"
-#: ../rules/base.xml.in.h:690
+#: ../rules/base.xml.in.h:740
msgid "qwerty"
msgstr "QWERTY"
-#: ../rules/base.xml.in.h:691
+#: ../rules/base.xml.in.h:741
msgid "qwerty, extended Backslash"
msgstr "QWERTY, išplėstas kairinis brūkšnys"
-#: ../rules/base.xml.in.h:692
+#: ../rules/base.xml.in.h:742
msgid "qwerty/digits"
msgstr "QWERTY/skaitmenys"
-#: ../rules/base.xml.in.h:693
+#: ../rules/base.xml.in.h:743
msgid "qwertz"
msgstr "QWERTZ"
@@ -2799,15 +2999,48 @@ msgstr "Tarptautinis (unikodo ženklai kombinuojami Lyg3 klavišu)"
msgid "International (AltGr Unicode combining, alternative)"
msgstr "Tarptautinis (unikodo ženklai kombinuojami Lyg3 klavišu, alternatyvusis)"
+#~ msgid "ACPI Standard"
+#~ msgstr "Įprastinė ACPI"
+
+#~ msgid "Bhu"
+#~ msgstr "Bhu"
+
+#~ msgid "Caps Lock"
+#~ msgstr "Didžiosios raidės"
+
+#~ msgid "DRC"
+#~ msgstr "DRC"
+
+#~ msgid "Dvorak international"
+#~ msgstr "Dvorako tarptautinis"
+
+#~ msgid "Evdev-managed keyboard"
+#~ msgstr "Evdev valdoma klaviatūra"
+
+#~ msgid "Gre"
+#~ msgstr "Gre"
+
+#~ msgid "Gui"
+#~ msgstr "Gui"
+
+#~ msgid "Lav"
+#~ msgstr "Lav"
+
+#~ msgid "Nep"
+#~ msgstr "Nep"
+
+#~ msgid "Scroll Lock"
+#~ msgstr "Ekrano slinkimas"
+
+#~ msgid "SrL"
+#~ msgstr "SrL"
+
#~ msgid "Baltic+"
#~ msgstr "Baltic+"
#~ msgid "IBM ThinkPad 560Z/600/600E/A22E, Intl"
#~ msgstr "IBM ThinkPad 560Z/600/600E/A22E (europinė)"
-#~ msgid "Keypad"
-#~ msgstr "Skaitmenų sritis"
-
#~ msgid "Pro"
#~ msgstr "Pro"
diff --git a/xorg-server/xkeyboard-config/po/pl.po b/xorg-server/xkeyboard-config/po/pl.po
index 1b477879f..71a5e306b 100644
--- a/xorg-server/xkeyboard-config/po/pl.po
+++ b/xorg-server/xkeyboard-config/po/pl.po
@@ -4,10 +4,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: xkeyboard-config 1.9\n"
+"Project-Id-Version: xkeyboard-config 2.0\n"
"Report-Msgid-Bugs-To: svu@users.sourceforge.net\n"
-"POT-Creation-Date: 2010-05-11 21:34+0100\n"
-"PO-Revision-Date: 2010-05-13 08:09+0200\n"
+"POT-Creation-Date: 2010-09-15 21:57+0100\n"
+"PO-Revision-Date: 2010-09-16 21:41+0200\n"
"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
@@ -199,7 +199,7 @@ msgid "Alt is mapped to Right Win, Super to Menu"
msgstr "Alt pod prawym Win, Super pod Menu"
#: ../rules/base.xml.in.h:47
-msgid "Alt+CapsLock"
+msgid "Alt+Caps Lock"
msgstr "Alt+CapsLock"
#: ../rules/base.xml.in.h:48
@@ -291,8 +291,8 @@ msgid "Apple Aluminium Keyboard (JIS)"
msgstr "Apple Aluminium Keyboard (JIS)"
#: ../rules/base.xml.in.h:70
-msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll_Lock, Pause, NumLock)"
-msgstr "Apple Aluminium Keyboard: emulacja klawiszy PC (Print, Scroll_Lock, pause, NumLock)"
+msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num Lock)"
+msgstr "Apple Aluminium Keyboard: emulacja klawiszy PC (Print, ScrollLock, Pause, NumLock)"
#: ../rules/base.xml.in.h:71
msgid "Apple Laptop"
@@ -331,2643 +331,2663 @@ msgid "At left of 'A'"
msgstr "Z lewej 'A'"
#: ../rules/base.xml.in.h:80
+msgid "Austria"
+msgstr "Austriacki"
+
+#: ../rules/base.xml.in.h:81
+msgid "Aut"
+msgstr "Aut"
+
+#: ../rules/base.xml.in.h:82
msgid "Avatime"
msgstr "Avatime"
-#: ../rules/base.xml.in.h:81
+#: ../rules/base.xml.in.h:83
msgid "Aze"
msgstr "AZE"
-#: ../rules/base.xml.in.h:82
+#: ../rules/base.xml.in.h:84
msgid "Azerbaijan"
msgstr "Azerbejdżański"
-#: ../rules/base.xml.in.h:83
+#: ../rules/base.xml.in.h:85
msgid "Azona RF2300 wireless Internet Keyboard"
msgstr "Azona RF2300 wireless Internet Keyboard"
-#: ../rules/base.xml.in.h:84
+#: ../rules/base.xml.in.h:86
msgid "BTC 5090"
msgstr "BTC 5090"
-#: ../rules/base.xml.in.h:85
+#: ../rules/base.xml.in.h:87
msgid "BTC 5113RF Multimedia"
msgstr "BTC 5113RF Multimedia"
-#: ../rules/base.xml.in.h:86
+#: ../rules/base.xml.in.h:88
msgid "BTC 5126T"
msgstr "BTC 5126T"
-#: ../rules/base.xml.in.h:87
+#: ../rules/base.xml.in.h:89
msgid "BTC 6301URF"
msgstr "BTC 6301URF"
-#: ../rules/base.xml.in.h:88
+#: ../rules/base.xml.in.h:90
msgid "BTC 9000"
msgstr "BTC 9000"
-#: ../rules/base.xml.in.h:89
+#: ../rules/base.xml.in.h:91
msgid "BTC 9000A"
msgstr "BTC 9000A"
-#: ../rules/base.xml.in.h:90
+#: ../rules/base.xml.in.h:92
msgid "BTC 9001AH"
msgstr "BTC 9001AH"
-#: ../rules/base.xml.in.h:91
+#: ../rules/base.xml.in.h:93
msgid "BTC 9019U"
msgstr "BTC 9019U"
-#: ../rules/base.xml.in.h:92
+#: ../rules/base.xml.in.h:94
msgid "BTC 9116U Mini Wireless Internet and Gaming"
msgstr "BTC 9116U Mini Wireless Internet and Gaming"
-#: ../rules/base.xml.in.h:93
+#: ../rules/base.xml.in.h:95
msgid "Backslash"
msgstr "Backslash"
-#: ../rules/base.xml.in.h:94
+#: ../rules/base.xml.in.h:96
msgid "Bangladesh"
msgstr "Bangladeski"
-#: ../rules/base.xml.in.h:95
+#: ../rules/base.xml.in.h:97
msgid "Bashkirian"
msgstr "Baszkirski"
-#: ../rules/base.xml.in.h:96
+#: ../rules/base.xml.in.h:98
msgid "Bel"
msgstr "BEL"
-#: ../rules/base.xml.in.h:97
+#: ../rules/base.xml.in.h:99
msgid "Belarus"
msgstr "Białoruski"
-#: ../rules/base.xml.in.h:98
+#: ../rules/base.xml.in.h:100
msgid "Belgium"
msgstr "Belgijski"
-#: ../rules/base.xml.in.h:99
+#: ../rules/base.xml.in.h:101
msgid "BenQ X-Touch"
msgstr "BenQ X-Touch"
-#: ../rules/base.xml.in.h:100
+#: ../rules/base.xml.in.h:102
msgid "BenQ X-Touch 730"
msgstr "BenQ X-Touch 730"
-#: ../rules/base.xml.in.h:101
+#: ../rules/base.xml.in.h:103
msgid "BenQ X-Touch 800"
msgstr "BenQ X-Touch 800"
-#: ../rules/base.xml.in.h:102
+#: ../rules/base.xml.in.h:104
msgid "Bengali"
msgstr "Bengalski"
-#: ../rules/base.xml.in.h:103
+#: ../rules/base.xml.in.h:105
msgid "Bengali Probhat"
msgstr "Bengalski Probhat"
-#: ../rules/base.xml.in.h:104
+#: ../rules/base.xml.in.h:106
msgid "Bepo, ergonomic, Dvorak way"
msgstr "Bepo, ergonomiczny, w stylu Dvoraka"
-#: ../rules/base.xml.in.h:105
+#: ../rules/base.xml.in.h:107
msgid "Bepo, ergonomic, Dvorak way, latin-9 only"
msgstr "Bepo, ergonomiczny, w stylu Dvoraka, tylko latin-9"
-#: ../rules/base.xml.in.h:106
+#: ../rules/base.xml.in.h:108
msgid "Bgd"
msgstr "BGD"
-#: ../rules/base.xml.in.h:107
+#: ../rules/base.xml.in.h:109
msgid "Bgr"
msgstr "BGR"
-#: ../rules/base.xml.in.h:108
+#: ../rules/base.xml.in.h:110
msgid "Bhutan"
msgstr "Bhutański"
-#: ../rules/base.xml.in.h:109
+#: ../rules/base.xml.in.h:111
msgid "Biblical Hebrew (Tiro)"
msgstr "Hebrajski biblijny (Tiro)"
-#: ../rules/base.xml.in.h:110
+#: ../rules/base.xml.in.h:112
msgid "Bih"
msgstr "BIH"
-#: ../rules/base.xml.in.h:111
+#: ../rules/base.xml.in.h:113
msgid "Blr"
msgstr "BLR"
-#: ../rules/base.xml.in.h:112
+#: ../rules/base.xml.in.h:114
msgid "Bosnia and Herzegovina"
msgstr "Bośniacko-hercegowiński"
-#: ../rules/base.xml.in.h:113
+#: ../rules/base.xml.in.h:115
msgid "Both Alt keys together"
msgstr "Oba klawisze Alt naraz"
-#: ../rules/base.xml.in.h:114
+#: ../rules/base.xml.in.h:116
msgid "Both Ctrl keys together"
msgstr "Oba klawisze Ctrl naraz"
-#: ../rules/base.xml.in.h:115
+#: ../rules/base.xml.in.h:117
msgid "Both Shift keys together"
msgstr "Oba klawisze Shift naraz"
-#: ../rules/base.xml.in.h:116
-msgid "Both Shift-Keys together toggle CapsLock"
+#: ../rules/base.xml.in.h:118
+msgid "Both Shift-Keys together toggle Caps Lock"
msgstr "Oba klawisze Shift naraz przełączają CapsLock"
-#: ../rules/base.xml.in.h:117
+#: ../rules/base.xml.in.h:119
msgid "Botswana"
msgstr "Botswański"
-#: ../rules/base.xml.in.h:118
+#: ../rules/base.xml.in.h:120
msgid "Bra"
msgstr "BRA"
-#: ../rules/base.xml.in.h:119
+#: ../rules/base.xml.in.h:121
msgid "Braille"
msgstr "Braille'a"
-#: ../rules/base.xml.in.h:120
+#: ../rules/base.xml.in.h:122
msgid "Brazil"
msgstr "Brazylijski"
-#: ../rules/base.xml.in.h:121
+#: ../rules/base.xml.in.h:123
msgid "Breton"
msgstr "Bretoński"
-#: ../rules/base.xml.in.h:122
+#: ../rules/base.xml.in.h:124
msgid "Brl"
msgstr "BRL"
-#: ../rules/base.xml.in.h:123
+#: ../rules/base.xml.in.h:125
msgid "Brother Internet Keyboard"
msgstr "Brother Internet Keyboard"
-#: ../rules/base.xml.in.h:124
+#: ../rules/base.xml.in.h:126
msgid "Btn"
msgstr "BTN"
-#: ../rules/base.xml.in.h:125
+#: ../rules/base.xml.in.h:127
msgid "Buckwalter"
msgstr "Buckwalter"
-#: ../rules/base.xml.in.h:126
+#: ../rules/base.xml.in.h:128
msgid "Bulgaria"
msgstr "Bułgarski"
-#: ../rules/base.xml.in.h:127
+#: ../rules/base.xml.in.h:129
msgid "Bwa"
msgstr "BWA"
-#: ../rules/base.xml.in.h:128
+#: ../rules/base.xml.in.h:130
msgid "COD"
msgstr "COD"
-#: ../rules/base.xml.in.h:129
+#: ../rules/base.xml.in.h:131
msgid "CRULP"
msgstr "CRULP"
-#: ../rules/base.xml.in.h:130
+#: ../rules/base.xml.in.h:132
msgid "Cambodia"
msgstr "Kambodżański"
-#: ../rules/base.xml.in.h:131
+#: ../rules/base.xml.in.h:133
msgid "Can"
msgstr "CAN"
-#: ../rules/base.xml.in.h:132
+#: ../rules/base.xml.in.h:134
msgid "Canada"
msgstr "Kanadyjski"
-#: ../rules/base.xml.in.h:133
-msgid "CapsLock"
+#: ../rules/base.xml.in.h:135
+msgid "Caps Lock"
msgstr "CapsLock"
-#: ../rules/base.xml.in.h:134
-msgid "CapsLock (to first layout), Shift+CapsLock (to last layout)"
+#: ../rules/base.xml.in.h:136
+msgid "Caps Lock (to first layout), Shift+Caps Lock (to last layout)"
msgstr "CapsLock (do pierwszego układu), Shift+CapsLock (do ostatniego układu)"
-#: ../rules/base.xml.in.h:135
-msgid "CapsLock (while pressed), Alt+CapsLock does the original capslock action"
+#: ../rules/base.xml.in.h:137
+msgid "Caps Lock (while pressed), Alt+Caps Lock does the original capslock action"
msgstr "CapsLock (wciśnięty), Alt+CapsLock działa jak zwykły CapsLock"
-#: ../rules/base.xml.in.h:136
-msgid "CapsLock acts as Shift with locking. Shift \"pauses\" CapsLock"
+#: ../rules/base.xml.in.h:138
+msgid "Caps Lock acts as Shift with locking. Shift \"pauses\" Caps Lock"
msgstr "CapsLock działa jako Shift z blokadą. Shift wstrzymuje CapsLock"
-#: ../rules/base.xml.in.h:137
-msgid "CapsLock acts as Shift with locking. Shift doesn't affect CapsLock"
+#: ../rules/base.xml.in.h:139
+msgid "Caps Lock acts as Shift with locking. Shift doesn't affect Caps Lock"
msgstr "CapsLock działa jako Shift z blokadą. Shift nie wpływa na CapsLock"
-#: ../rules/base.xml.in.h:138
-msgid "CapsLock is disabled"
+#: ../rules/base.xml.in.h:140
+msgid "Caps Lock is disabled"
msgstr "CapsLock wyłączony"
-#: ../rules/base.xml.in.h:139
-msgid "CapsLock key behavior"
+#: ../rules/base.xml.in.h:141
+msgid "Caps Lock key behavior"
msgstr "Zachowanie klawisza CapsLock"
-#: ../rules/base.xml.in.h:140
-msgid "CapsLock toggles Shift so all keys are affected"
+#: ../rules/base.xml.in.h:142
+msgid "Caps Lock toggles Shift so all keys are affected"
msgstr "CapsLock przełącza Shift wpływając na wszystkie klawisze"
-#: ../rules/base.xml.in.h:141
-msgid "CapsLock toggles normal capitalization of alphabetic characters"
+#: ../rules/base.xml.in.h:143
+msgid "Caps Lock toggles normal capitalization of alphabetic characters"
msgstr "CapsLock przełącza wielkość znaków alfabetycznych"
-#: ../rules/base.xml.in.h:142
-msgid "CapsLock uses internal capitalization. Shift \"pauses\" CapsLock"
+#: ../rules/base.xml.in.h:144
+msgid "Caps Lock uses internal capitalization. Shift \"pauses\" Caps Lock"
msgstr "CapsLock używa wewnętrznej zmiany rozmiaru liter. Shift wstrzymuje CapsLock"
-#: ../rules/base.xml.in.h:143
-msgid "CapsLock uses internal capitalization. Shift doesn't affect CapsLock"
+#: ../rules/base.xml.in.h:145
+msgid "Caps Lock uses internal capitalization. Shift doesn't affect Caps Lock"
msgstr "CapsLock używa wewnętrznej zmiany rozmiaru liter. Shift nie wpływa na CapsLock"
-#: ../rules/base.xml.in.h:144
+#: ../rules/base.xml.in.h:146
msgid "Catalan variant with middle-dot L"
msgstr "Wariant kataloński z L ze środkową kropką"
-#: ../rules/base.xml.in.h:145
+#: ../rules/base.xml.in.h:147
msgid "Cedilla"
msgstr "Cedilla"
-#: ../rules/base.xml.in.h:146
+#: ../rules/base.xml.in.h:148
msgid "Che"
msgstr "CHE"
-#: ../rules/base.xml.in.h:147
+#: ../rules/base.xml.in.h:149
msgid "Cherokee"
msgstr "Czerokeski"
-#: ../rules/base.xml.in.h:148
+#: ../rules/base.xml.in.h:150
msgid "Cherry B.UNLIMITED"
msgstr "Cherry B.UNLIMITED"
-#: ../rules/base.xml.in.h:149
+#: ../rules/base.xml.in.h:151
msgid "Cherry Blue Line CyBo@rd"
msgstr "Cherry Blue Line CyBo@rd"
-#: ../rules/base.xml.in.h:150
+#: ../rules/base.xml.in.h:152
msgid "Cherry Blue Line CyBo@rd (alternate option)"
msgstr "Cherry Blue Line CyBo@rd (opcja zmiany)"
-#: ../rules/base.xml.in.h:151
+#: ../rules/base.xml.in.h:153
msgid "Cherry CyBo@rd USB-Hub"
msgstr "Cherry CyBo@rd USB-Hub"
-#: ../rules/base.xml.in.h:152
+#: ../rules/base.xml.in.h:154
msgid "Cherry CyMotion Expert"
msgstr "Cherry CyMotion Expert"
-#: ../rules/base.xml.in.h:153
+#: ../rules/base.xml.in.h:155
msgid "Cherry CyMotion Master Linux"
msgstr "Cherry CyMotion Master Linux"
-#: ../rules/base.xml.in.h:154
+#: ../rules/base.xml.in.h:156
msgid "Cherry CyMotion Master XPress"
msgstr "Cherry CyMotion Master XPress"
-#: ../rules/base.xml.in.h:155
+#: ../rules/base.xml.in.h:157
msgid "Chicony Internet Keyboard"
msgstr "Chicony Internet Keyboard"
-#: ../rules/base.xml.in.h:156
+#: ../rules/base.xml.in.h:158
msgid "Chicony KB-9885"
msgstr "Chicony KB-9885"
-#: ../rules/base.xml.in.h:157
+#: ../rules/base.xml.in.h:159
msgid "Chicony KU-0108"
msgstr "Chicony KU-0108"
-#: ../rules/base.xml.in.h:158
+#: ../rules/base.xml.in.h:160
msgid "Chicony KU-0420"
msgstr "Chicony KU-0420"
-#: ../rules/base.xml.in.h:159
+#: ../rules/base.xml.in.h:161
msgid "China"
msgstr "Chiński"
-#: ../rules/base.xml.in.h:160
+#: ../rules/base.xml.in.h:162
msgid "Chn"
msgstr "CHN"
-#: ../rules/base.xml.in.h:161
+#: ../rules/base.xml.in.h:163
msgid "Chuvash"
msgstr "Czuwaski"
-#: ../rules/base.xml.in.h:162
+#: ../rules/base.xml.in.h:164
msgid "Chuvash Latin"
msgstr "Czuwaski łaciński"
-#: ../rules/base.xml.in.h:163
+#: ../rules/base.xml.in.h:165
msgid "Classic"
msgstr "Klasyczny"
-#: ../rules/base.xml.in.h:164
+#: ../rules/base.xml.in.h:166
msgid "Classic Dvorak"
msgstr "Klasyczny Dvoraka"
-#: ../rules/base.xml.in.h:165
+#: ../rules/base.xml.in.h:167
msgid "Classic, eliminate dead keys"
msgstr "Klasyczny, bez klawiszy akcentów"
-#: ../rules/base.xml.in.h:166
+#: ../rules/base.xml.in.h:168
msgid "Classmate PC"
msgstr "Classmate PC"
-#: ../rules/base.xml.in.h:167
+#: ../rules/base.xml.in.h:169
msgid "CloGaelach"
msgstr "Szkocki gaelicki"
-#: ../rules/base.xml.in.h:168
+#: ../rules/base.xml.in.h:170
msgid "Colemak"
msgstr "Colemak"
-#: ../rules/base.xml.in.h:169
+#: ../rules/base.xml.in.h:171
msgid "Compaq Easy Access Keyboard"
msgstr "Compaq Easy Access Keyboard"
-#: ../rules/base.xml.in.h:170
+#: ../rules/base.xml.in.h:172
msgid "Compaq Internet Keyboard (13 keys)"
msgstr "Compaq Internet Keyboard (13 klawiszy)"
-#: ../rules/base.xml.in.h:171
+#: ../rules/base.xml.in.h:173
msgid "Compaq Internet Keyboard (18 keys)"
msgstr "Compaq Internet Keyboard (18 klawiszy)"
-#: ../rules/base.xml.in.h:172
+#: ../rules/base.xml.in.h:174
msgid "Compaq Internet Keyboard (7 keys)"
msgstr "Compaq Internet Keyboard (7 klawiszy)"
-#: ../rules/base.xml.in.h:173
+#: ../rules/base.xml.in.h:175
msgid "Compaq iPaq Keyboard"
msgstr "Compaq iPaq Keyboard"
-#: ../rules/base.xml.in.h:174
+#: ../rules/base.xml.in.h:176
msgid "Compose key position"
msgstr "Położenie klawisza Compose"
-#: ../rules/base.xml.in.h:175
+#: ../rules/base.xml.in.h:177
msgid "Congo, Democratic Republic of the"
msgstr "Kongijski"
-#: ../rules/base.xml.in.h:176
+#: ../rules/base.xml.in.h:178
msgid "Control + Alt + Backspace"
msgstr "Control + Alt + Backspace"
-#: ../rules/base.xml.in.h:177
+#: ../rules/base.xml.in.h:179
msgid "Control is mapped to Alt keys, Alt is mapped to Win keys"
msgstr "Control pod klawiszami Alt, Alt pod klawiszami Win"
-#: ../rules/base.xml.in.h:178
+#: ../rules/base.xml.in.h:180
msgid "Control is mapped to Win keys (and the usual Ctrl keys)"
msgstr "Control pod klawiszami Win (oraz zwykłymi klawiszami Ctrl)"
-#: ../rules/base.xml.in.h:179
+#: ../rules/base.xml.in.h:181
msgid "Creative Desktop Wireless 7000"
msgstr "Creative Desktop Wireless 7000"
-#: ../rules/base.xml.in.h:180
+#: ../rules/base.xml.in.h:182
msgid "Crimean Tatar (Dobruca-1 Q)"
msgstr "Krymskotatarski (Dobruca-1 Q)"
-#: ../rules/base.xml.in.h:181
+#: ../rules/base.xml.in.h:183
msgid "Crimean Tatar (Dobruca-2 Q)"
msgstr "Krymskotatarski (Dobruca-2 Q)"
-#: ../rules/base.xml.in.h:182
+#: ../rules/base.xml.in.h:184
msgid "Crimean Tatar (Turkish Alt-Q)"
msgstr "Krymskotatarski (turecki Alt-Q)"
-#: ../rules/base.xml.in.h:183
+#: ../rules/base.xml.in.h:185
msgid "Crimean Tatar (Turkish F)"
msgstr "Krymskotatarski (turecki F)"
-#: ../rules/base.xml.in.h:184
+#: ../rules/base.xml.in.h:186
msgid "Crimean Tatar (Turkish Q)"
msgstr "Krymskotatarski (turecki Q)"
-#: ../rules/base.xml.in.h:185
+#: ../rules/base.xml.in.h:187
msgid "Croatia"
msgstr "Chorwacki"
-#: ../rules/base.xml.in.h:186
+#: ../rules/base.xml.in.h:188
msgid "Ctrl key position"
msgstr "Położenie klawisza Ctrl"
-#: ../rules/base.xml.in.h:187
+#: ../rules/base.xml.in.h:189
msgid "Ctrl+Shift"
msgstr "Ctrl+Shift"
-#: ../rules/base.xml.in.h:188
+#: ../rules/base.xml.in.h:190
msgid "Cyrillic"
msgstr "Cyrylicki"
-#: ../rules/base.xml.in.h:189
+#: ../rules/base.xml.in.h:191
msgid "Cyrillic with guillemets"
msgstr "Cyrylicki z cudzysłowami"
-#: ../rules/base.xml.in.h:190
+#: ../rules/base.xml.in.h:192
msgid "Cyrillic, Z and ZHE swapped"
msgstr "Cyrylicki, zamienione Z i Ż"
-#: ../rules/base.xml.in.h:191
+#: ../rules/base.xml.in.h:193
msgid "Cze"
msgstr "CZE"
-#: ../rules/base.xml.in.h:192
+#: ../rules/base.xml.in.h:194
msgid "Czechia"
msgstr "Czeski"
-#: ../rules/base.xml.in.h:193
+#: ../rules/base.xml.in.h:195
msgid "DOS"
msgstr "DOS"
-#: ../rules/base.xml.in.h:194
+#: ../rules/base.xml.in.h:196
msgid "DTK2000"
msgstr "DTK2000"
-#: ../rules/base.xml.in.h:195
+#: ../rules/base.xml.in.h:197
msgid "Dead acute"
msgstr "Akcent ostry"
-#: ../rules/base.xml.in.h:196
+#: ../rules/base.xml.in.h:198
msgid "Dead grave acute"
msgstr "Akcent gravis"
-#: ../rules/base.xml.in.h:197
+#: ../rules/base.xml.in.h:199
msgid "Default numeric keypad keys"
msgstr "Domyślne klawisze klawiatury numerycznej"
-#: ../rules/base.xml.in.h:198
+#: ../rules/base.xml.in.h:200
msgid "Dell"
msgstr "Dell"
-#: ../rules/base.xml.in.h:199
+#: ../rules/base.xml.in.h:201
msgid "Dell 101-key PC"
msgstr "Dell 101-key PC"
-#: ../rules/base.xml.in.h:200
+#: ../rules/base.xml.in.h:202
msgid "Dell Laptop/notebook Inspiron 6xxx/8xxx"
msgstr "Laptop/notebook Dell Inspiron 6xxx/8xxx"
-#: ../rules/base.xml.in.h:201
+#: ../rules/base.xml.in.h:203
msgid "Dell Laptop/notebook Precision M series"
msgstr "Laptop/notebook z serii Dell Precision M"
-#: ../rules/base.xml.in.h:202
+#: ../rules/base.xml.in.h:204
msgid "Dell Latitude series laptop"
msgstr "Laptop z serii Dell Latitude"
-#: ../rules/base.xml.in.h:203
+#: ../rules/base.xml.in.h:205
msgid "Dell Precision M65"
msgstr "Dell Precision M65"
-#: ../rules/base.xml.in.h:204
+#: ../rules/base.xml.in.h:206
msgid "Dell SK-8125"
msgstr "Dell SK-8125"
-#: ../rules/base.xml.in.h:205
+#: ../rules/base.xml.in.h:207
msgid "Dell SK-8135"
msgstr "Dell SK-8135"
-#: ../rules/base.xml.in.h:206
+#: ../rules/base.xml.in.h:208
msgid "Dell USB Multimedia Keyboard"
msgstr "Dell USB Multimedia Keyboard"
-#: ../rules/base.xml.in.h:207
+#: ../rules/base.xml.in.h:209
msgid "Denmark"
msgstr "Duński"
-#: ../rules/base.xml.in.h:208
+#: ../rules/base.xml.in.h:210
msgid "Deu"
msgstr "DEU"
-#: ../rules/base.xml.in.h:209
+#: ../rules/base.xml.in.h:211
msgid "Dexxa Wireless Desktop Keyboard"
msgstr "Dexxa Wireless Desktop Keyboard"
-#: ../rules/base.xml.in.h:210
+#: ../rules/base.xml.in.h:212
msgid "Diamond 9801 / 9802 series"
msgstr "Diamond z serii 9801 / 9802"
-#: ../rules/base.xml.in.h:211
+#: ../rules/base.xml.in.h:213
msgid "Dnk"
msgstr "DNK"
-#: ../rules/base.xml.in.h:212
+#: ../rules/base.xml.in.h:214
msgid "Dvorak"
msgstr "Dvoraka"
-#: ../rules/base.xml.in.h:213
+#: ../rules/base.xml.in.h:215
msgid "Dvorak (UK Punctuation)"
msgstr "Dvoraka (znaki przestankowe UK)"
-#: ../rules/base.xml.in.h:214
+#: ../rules/base.xml.in.h:216
msgid "Dvorak alternative international (no dead keys)"
msgstr "Alternatywny międzynarodowy Dvoraka (bez klawiszy akcentów)"
-#: ../rules/base.xml.in.h:215
+#: ../rules/base.xml.in.h:217
msgid "Dvorak international (with dead keys)"
msgstr "Międzynarodowy Dvoraka (z klawiszami akcentów)"
-#: ../rules/base.xml.in.h:216
+#: ../rules/base.xml.in.h:218
msgid "Dvorak, Polish quotes on key 1"
msgstr "Dvoraka, polskie cudzysłowy pod klawiszem 1"
-#: ../rules/base.xml.in.h:217
+#: ../rules/base.xml.in.h:219
msgid "Dvorak, Polish quotes on quotemark key"
msgstr "Dvoraka, polskie cudzysłowy pod klawiszem cudzysłowu"
-#: ../rules/base.xml.in.h:218
+#: ../rules/base.xml.in.h:220
msgid "E"
msgstr "E"
-#: ../rules/base.xml.in.h:219
+#: ../rules/base.xml.in.h:221
msgid "Eastern"
msgstr "Wschodni"
-#: ../rules/base.xml.in.h:220
+#: ../rules/base.xml.in.h:222
msgid "Eliminate dead keys"
msgstr "Bez klawiszy akcentów"
-#: ../rules/base.xml.in.h:221
+#: ../rules/base.xml.in.h:223
msgid "Enable extra typographic characters"
msgstr "Włączenie dodatkowych znaków typograficznych"
-#: ../rules/base.xml.in.h:222
+#: ../rules/base.xml.in.h:224
msgid "English"
msgstr "Angielski"
-#: ../rules/base.xml.in.h:223
+#: ../rules/base.xml.in.h:225
msgid "English (USA International)"
msgstr "Angielski (USA - międzynarodowy)"
-#: ../rules/base.xml.in.h:224
+#: ../rules/base.xml.in.h:226
msgid "English (USA Macintosh)"
msgstr "Angielski (USA - Macintosh)"
-#: ../rules/base.xml.in.h:225
+#: ../rules/base.xml.in.h:227
msgid "Ennyah DKB-1008"
msgstr "Ennyah DKB-1008"
-#: ../rules/base.xml.in.h:226
+#: ../rules/base.xml.in.h:228
msgid "Enter on keypad"
msgstr "Enter na klawiaturze numerycznej"
-#: ../rules/base.xml.in.h:227
+#: ../rules/base.xml.in.h:229
msgid "Epo"
msgstr "EPO"
-#: ../rules/base.xml.in.h:228
+#: ../rules/base.xml.in.h:230
msgid "Ergonomic"
msgstr "Ergonomiczny"
-#: ../rules/base.xml.in.h:229
+#: ../rules/base.xml.in.h:231
msgid "Esp"
msgstr "ESP"
-#: ../rules/base.xml.in.h:230
+#: ../rules/base.xml.in.h:232
msgid "Esperanto"
msgstr "Esperancki"
-#: ../rules/base.xml.in.h:231
+#: ../rules/base.xml.in.h:233
msgid "Est"
msgstr "EST"
-#: ../rules/base.xml.in.h:232
+#: ../rules/base.xml.in.h:234
msgid "Estonia"
msgstr "Estoński"
-#: ../rules/base.xml.in.h:233
+#: ../rules/base.xml.in.h:235
msgid "Eth"
msgstr "ETH"
-#: ../rules/base.xml.in.h:234
+#: ../rules/base.xml.in.h:236
msgid "Ethiopia"
msgstr "Etiopski"
-#: ../rules/base.xml.in.h:235
+#: ../rules/base.xml.in.h:237
msgid "Everex STEPnote"
msgstr "Everex STEPnote"
-#: ../rules/base.xml.in.h:236
+#: ../rules/base.xml.in.h:238
msgid "Ewe"
msgstr "Ewe"
-#: ../rules/base.xml.in.h:237
+#: ../rules/base.xml.in.h:239
msgid "Extended"
msgstr "Rozszerzony"
-#: ../rules/base.xml.in.h:238
+#: ../rules/base.xml.in.h:240
msgid "Extended - Winkeys"
msgstr "Rozszerzony - klawisze Win"
-#: ../rules/base.xml.in.h:239
+#: ../rules/base.xml.in.h:241
msgid "Extended Backslash"
msgstr "Rozszerzony backslash"
-#: ../rules/base.xml.in.h:240
+#: ../rules/base.xml.in.h:242
msgid "F-letter (F) variant"
msgstr "Wariant z literą F (F)"
-#: ../rules/base.xml.in.h:241
+#: ../rules/base.xml.in.h:243
msgid "FL90"
msgstr "FL90"
-#: ../rules/base.xml.in.h:242
+#: ../rules/base.xml.in.h:244
msgid "Faroe Islands"
msgstr "Wysp Owczych"
-#: ../rules/base.xml.in.h:243
+#: ../rules/base.xml.in.h:245
msgid "Fin"
msgstr "FIN"
-#: ../rules/base.xml.in.h:244
+#: ../rules/base.xml.in.h:246
msgid "Finland"
msgstr "Fiński"
#. This assumes the KP_ abstract symbols are actually useful for some apps
#. The description needs to be rewritten
-#: ../rules/base.xml.in.h:247
+#: ../rules/base.xml.in.h:249
msgid "Four-level key with abstract separators"
msgstr "Klawisz czterofunkcyjny z abstrakcyjnymi separatorami"
-#: ../rules/base.xml.in.h:248
+#: ../rules/base.xml.in.h:250
msgid "Four-level key with comma"
msgstr "Klawisz czterofunkcyjny z przecinkiem"
-#: ../rules/base.xml.in.h:249
+#: ../rules/base.xml.in.h:251
msgid "Four-level key with dot"
msgstr "Klawisz czterofunkcyjny z kropką"
-#: ../rules/base.xml.in.h:250
+#: ../rules/base.xml.in.h:252
msgid "Four-level key with dot, latin-9 restriction"
msgstr "Klawisz czterofunkcyjny z kropką, tylko latin-9"
-#: ../rules/base.xml.in.h:251
+#: ../rules/base.xml.in.h:253
msgid "Four-level key with momayyez"
msgstr "Klawisz czterofunkcyjny ze znakiem momayyez"
-#: ../rules/base.xml.in.h:252
+#: ../rules/base.xml.in.h:254
msgid "Fra"
msgstr "FRA"
-#: ../rules/base.xml.in.h:253
+#: ../rules/base.xml.in.h:255
msgid "France"
msgstr "Francuski"
-#: ../rules/base.xml.in.h:254
+#: ../rules/base.xml.in.h:256
msgid "Français (France Alternative)"
msgstr "Francuski (Francja - alternatywny)"
-#: ../rules/base.xml.in.h:255
+#: ../rules/base.xml.in.h:257
msgid "French"
msgstr "Francuski"
-#: ../rules/base.xml.in.h:256
+#: ../rules/base.xml.in.h:258
msgid "French (Macintosh)"
msgstr "Francuski (Macintosh)"
-#: ../rules/base.xml.in.h:257
+#: ../rules/base.xml.in.h:259
msgid "French (legacy)"
msgstr "Francuski (stary)"
-#: ../rules/base.xml.in.h:258
+#: ../rules/base.xml.in.h:260
msgid "French Dvorak"
msgstr "Francuski Dvoraka"
-#: ../rules/base.xml.in.h:259
+#: ../rules/base.xml.in.h:261
msgid "French, Sun dead keys"
msgstr "Francuski, klawisze akcentów Suna"
-#: ../rules/base.xml.in.h:260
+#: ../rules/base.xml.in.h:262
msgid "French, eliminate dead keys"
msgstr "Francuski, bez klawiszy akcentów"
-#: ../rules/base.xml.in.h:261
+#: ../rules/base.xml.in.h:263
msgid "Fro"
msgstr "FRO"
-#: ../rules/base.xml.in.h:262
+#: ../rules/base.xml.in.h:264
msgid "Fujitsu-Siemens Computers AMILO laptop"
msgstr "Laptop Fujitsu-Siemens Computers AMILO"
-#: ../rules/base.xml.in.h:263
+#: ../rules/base.xml.in.h:265
msgid "Fula"
msgstr "Fulani"
-#: ../rules/base.xml.in.h:264
+#: ../rules/base.xml.in.h:266
msgid "GBr"
msgstr "GBr"
-#: ../rules/base.xml.in.h:265
+#: ../rules/base.xml.in.h:267
msgid "GILLBT"
msgstr "GILLBT"
-#: ../rules/base.xml.in.h:266
+#: ../rules/base.xml.in.h:268
msgid "Ga"
msgstr "Ga"
-#: ../rules/base.xml.in.h:267
+#: ../rules/base.xml.in.h:269
msgid "Generic 101-key PC"
msgstr "Zwykła PC 101-klawiszowa"
-#: ../rules/base.xml.in.h:268
+#: ../rules/base.xml.in.h:270
msgid "Generic 102-key (Intl) PC"
msgstr "Zwykła PC 102-klawiszowa (Intl)"
-#: ../rules/base.xml.in.h:269
+#: ../rules/base.xml.in.h:271
msgid "Generic 104-key PC"
msgstr "Zwykła PC 104-klawiszowa"
-#: ../rules/base.xml.in.h:270
+#: ../rules/base.xml.in.h:272
msgid "Generic 105-key (Intl) PC"
msgstr "Zwykła PC 105-klawiszowa (Intl)"
-#: ../rules/base.xml.in.h:271
+#: ../rules/base.xml.in.h:273
msgid "Genius Comfy KB-12e"
msgstr "Genius Comfy KB-12e"
-#: ../rules/base.xml.in.h:272
+#: ../rules/base.xml.in.h:274
msgid "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
msgstr "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
-#: ../rules/base.xml.in.h:273
+#: ../rules/base.xml.in.h:275
msgid "Genius Comfy KB-21e-Scroll"
msgstr "Genius Comfy KB-21e-Scroll"
-#: ../rules/base.xml.in.h:274
+#: ../rules/base.xml.in.h:276
msgid "Genius KB-19e NB"
msgstr "Genius KB-19e NB"
-#: ../rules/base.xml.in.h:275
+#: ../rules/base.xml.in.h:277
msgid "Genius KKB-2050HS"
msgstr "Genius KKB-2050HS"
-#: ../rules/base.xml.in.h:276
+#: ../rules/base.xml.in.h:278
msgid "Geo"
msgstr "GEO"
-#: ../rules/base.xml.in.h:277
+#: ../rules/base.xml.in.h:279
msgid "Georgia"
msgstr "Gruziński"
-#: ../rules/base.xml.in.h:278
+#: ../rules/base.xml.in.h:280
msgid "Georgian"
msgstr "Gruziński"
-#: ../rules/base.xml.in.h:279
+#: ../rules/base.xml.in.h:281
msgid "Georgian AZERTY Tskapo"
msgstr "Gruziński AZERTY Tskapo"
-#: ../rules/base.xml.in.h:280
+#: ../rules/base.xml.in.h:282
msgid "German (Macintosh)"
msgstr "Niemiecki (Macintosh)"
-#: ../rules/base.xml.in.h:281
+#: ../rules/base.xml.in.h:283
msgid "German, Sun dead keys"
msgstr "Niemiecki, klawisze akcentów Suna"
-#: ../rules/base.xml.in.h:282
+#: ../rules/base.xml.in.h:284
msgid "German, eliminate dead keys"
msgstr "Niemiecki, bez klawiszy akcentów"
-#: ../rules/base.xml.in.h:283
+#: ../rules/base.xml.in.h:285
msgid "Germany"
msgstr "Niemiecki"
-#: ../rules/base.xml.in.h:284
+#: ../rules/base.xml.in.h:286
msgid "Gha"
msgstr "GHA"
-#: ../rules/base.xml.in.h:285
+#: ../rules/base.xml.in.h:287
msgid "Ghana"
msgstr "Ghański"
-#: ../rules/base.xml.in.h:286
+#: ../rules/base.xml.in.h:288
msgid "Gin"
msgstr "GIN"
-#: ../rules/base.xml.in.h:287
+#: ../rules/base.xml.in.h:289
msgid "Grc"
msgstr "GRC"
-#: ../rules/base.xml.in.h:288
+#: ../rules/base.xml.in.h:290
msgid "Greece"
msgstr "Grecki"
-#: ../rules/base.xml.in.h:289
+#: ../rules/base.xml.in.h:291
msgid "Guinea"
msgstr "Gwinejski"
-#: ../rules/base.xml.in.h:290
+#: ../rules/base.xml.in.h:292
msgid "Gujarati"
msgstr "Gudźarati"
-#: ../rules/base.xml.in.h:291
+#: ../rules/base.xml.in.h:293
msgid "Gurmukhi"
msgstr "Gurmukhi"
-#: ../rules/base.xml.in.h:292
+#: ../rules/base.xml.in.h:294
msgid "Gurmukhi Jhelum"
msgstr "Gurmukhi Jhelum"
-#: ../rules/base.xml.in.h:293
+#: ../rules/base.xml.in.h:295
msgid "Gyration"
msgstr "Gyration"
-#: ../rules/base.xml.in.h:294
+#: ../rules/base.xml.in.h:296
msgid "Happy Hacking Keyboard"
msgstr "Happy Hacking Keyboard"
-#: ../rules/base.xml.in.h:295
+#: ../rules/base.xml.in.h:297
msgid "Happy Hacking Keyboard for Mac"
msgstr "Happy Hacking Keyboard for Mac"
-#: ../rules/base.xml.in.h:296
+#: ../rules/base.xml.in.h:298
msgid "Hausa"
msgstr "Hausa"
-#: ../rules/base.xml.in.h:297
+#: ../rules/base.xml.in.h:299
msgid "Hewlett-Packard Internet Keyboard"
msgstr "Hewlett-Packard Internet Keyboard"
-#: ../rules/base.xml.in.h:298
+#: ../rules/base.xml.in.h:300
msgid "Hewlett-Packard Mini 110 Notebook"
msgstr "Hewlett-Packard Mini 110 Notebook"
-#: ../rules/base.xml.in.h:299
+#: ../rules/base.xml.in.h:301
msgid "Hewlett-Packard Omnibook 500 FA"
msgstr "Hewlett-Packard Omnibook 500 FA"
-#: ../rules/base.xml.in.h:300
+#: ../rules/base.xml.in.h:302
msgid "Hewlett-Packard Omnibook 5xx"
msgstr "Hewlett-Packard Omnibook 5xx"
-#: ../rules/base.xml.in.h:301
+#: ../rules/base.xml.in.h:303
msgid "Hewlett-Packard Omnibook 6000/6100"
msgstr "Hewlett-Packard Omnibook 6000/6100"
-#: ../rules/base.xml.in.h:302
+#: ../rules/base.xml.in.h:304
msgid "Hewlett-Packard Omnibook XE3 GC"
msgstr "Hewlett-Packard Omnibook XE3 GC"
-#: ../rules/base.xml.in.h:303
+#: ../rules/base.xml.in.h:305
msgid "Hewlett-Packard Omnibook XE3 GF"
msgstr "Hewlett-Packard Omnibook XE3 GF"
-#: ../rules/base.xml.in.h:304
+#: ../rules/base.xml.in.h:306
msgid "Hewlett-Packard Omnibook XT1000"
msgstr "Hewlett-Packard Omnibook XT1000"
-#: ../rules/base.xml.in.h:305
+#: ../rules/base.xml.in.h:307
msgid "Hewlett-Packard Pavilion ZT11xx"
msgstr "Hewlett-Packard Pavilion ZT11xx"
-#: ../rules/base.xml.in.h:306
+#: ../rules/base.xml.in.h:308
msgid "Hewlett-Packard Pavilion dv5"
msgstr "Hewlett-Packard Pavilion dv5"
-#: ../rules/base.xml.in.h:307
+#: ../rules/base.xml.in.h:309
msgid "Hewlett-Packard SK-250x Multimedia Keyboard"
msgstr "Hewlett-Packard SK-250x Multimedia Keyboard"
-#: ../rules/base.xml.in.h:308
+#: ../rules/base.xml.in.h:310
msgid "Hewlett-Packard nx9020"
msgstr "Hewlett-Packard nx9020"
-#: ../rules/base.xml.in.h:309
+#: ../rules/base.xml.in.h:311
msgid "Hexadecimal"
msgstr "Szesnastkowy"
-#: ../rules/base.xml.in.h:310
+#: ../rules/base.xml.in.h:312
msgid "Hindi Bolnagri"
msgstr "Hindi Bolnagri"
-#: ../rules/base.xml.in.h:311
+#: ../rules/base.xml.in.h:313
msgid "Hindi Wx"
msgstr "Hindi Wx"
-#: ../rules/base.xml.in.h:312
+#: ../rules/base.xml.in.h:314
msgid "Homophonic"
msgstr "Homofoniczny"
-#: ../rules/base.xml.in.h:313
+#: ../rules/base.xml.in.h:315
msgid "Honeywell Euroboard"
msgstr "Honeywell Euroboard"
-#: ../rules/base.xml.in.h:314
+#: ../rules/base.xml.in.h:316
msgid "Hrv"
msgstr "HRV"
-#: ../rules/base.xml.in.h:315
+#: ../rules/base.xml.in.h:317
msgid "Hun"
msgstr "HUN"
-#: ../rules/base.xml.in.h:316
+#: ../rules/base.xml.in.h:318
msgid "Hungary"
msgstr "Węgierski"
-#: ../rules/base.xml.in.h:317
+#: ../rules/base.xml.in.h:319
msgid "Hyper is mapped to Win-keys"
msgstr "Hyper pod klawiszami Win"
-#: ../rules/base.xml.in.h:318
+#: ../rules/base.xml.in.h:320
msgid "IBM (LST 1205-92)"
msgstr "IBM (LST 1205-92)"
-#: ../rules/base.xml.in.h:319
+#: ../rules/base.xml.in.h:321
msgid "IBM Rapid Access"
msgstr "IBM Rapid Access"
-#: ../rules/base.xml.in.h:320
+#: ../rules/base.xml.in.h:322
msgid "IBM Rapid Access II"
msgstr "IBM Rapid Access II"
-#: ../rules/base.xml.in.h:321
+#: ../rules/base.xml.in.h:323
msgid "IBM Space Saver"
msgstr "IBM Space Saver"
-#: ../rules/base.xml.in.h:322
+#: ../rules/base.xml.in.h:324
msgid "IBM ThinkPad 560Z/600/600E/A22E"
msgstr "IBM ThinkPad 560Z/600/600E/A22E"
-#: ../rules/base.xml.in.h:323
+#: ../rules/base.xml.in.h:325
msgid "IBM ThinkPad R60/T60/R61/T61"
msgstr "IBM ThinkPad R60/T60/R61/T61"
-#: ../rules/base.xml.in.h:324
+#: ../rules/base.xml.in.h:326
msgid "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
msgstr "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
-#: ../rules/base.xml.in.h:325
+#: ../rules/base.xml.in.h:327
msgid "ISO Alternate"
msgstr "Zmienny ISO"
-#: ../rules/base.xml.in.h:326
+#: ../rules/base.xml.in.h:328
msgid "Iceland"
msgstr "Islandzki"
-#: ../rules/base.xml.in.h:327
+#: ../rules/base.xml.in.h:329
msgid "Igbo"
msgstr "Ibo"
-#: ../rules/base.xml.in.h:328
+#: ../rules/base.xml.in.h:330
msgid "Include dead tilde"
msgstr "Dołączenie tyldy górnej"
-#: ../rules/base.xml.in.h:329
+#: ../rules/base.xml.in.h:331
msgid "Ind"
msgstr "IND"
-#: ../rules/base.xml.in.h:330
+#: ../rules/base.xml.in.h:332
msgid "India"
msgstr "Indyjski"
-#: ../rules/base.xml.in.h:331
+#: ../rules/base.xml.in.h:333
msgid "International (AltGr dead keys)"
msgstr "Międzynarodowy (klawisze akcentów pod AltGr)"
-#: ../rules/base.xml.in.h:332
+#: ../rules/base.xml.in.h:334
msgid "International (with dead keys)"
msgstr "Międzynarodowy (z klawiszami akcentów)"
-#: ../rules/base.xml.in.h:333
+#: ../rules/base.xml.in.h:335
msgid "Inuktitut"
msgstr "Inuktitut"
-#: ../rules/base.xml.in.h:334
+#: ../rules/base.xml.in.h:336 ../rules/base.extras.xml.in.h:8
msgid "Iran"
msgstr "Irański"
-#: ../rules/base.xml.in.h:335
+#: ../rules/base.xml.in.h:337
msgid "Iraq"
msgstr "Iracki"
-#: ../rules/base.xml.in.h:336
+#: ../rules/base.xml.in.h:338
msgid "Ireland"
msgstr "Irlandzki"
-#: ../rules/base.xml.in.h:337
+#: ../rules/base.xml.in.h:339
msgid "Irl"
msgstr "IRL"
-#: ../rules/base.xml.in.h:338
+#: ../rules/base.xml.in.h:340
msgid "Irn"
msgstr "IRN"
-#: ../rules/base.xml.in.h:339
+#: ../rules/base.xml.in.h:341
msgid "Irq"
msgstr "IRQ"
-#: ../rules/base.xml.in.h:340
+#: ../rules/base.xml.in.h:342
msgid "Isl"
msgstr "ISL"
-#: ../rules/base.xml.in.h:341
+#: ../rules/base.xml.in.h:343
msgid "Isr"
msgstr "ISR"
-#: ../rules/base.xml.in.h:342
+#: ../rules/base.xml.in.h:344
msgid "Israel"
msgstr "Izraelski"
-#: ../rules/base.xml.in.h:343
+#: ../rules/base.xml.in.h:345
msgid "Ita"
msgstr "ITA"
-#: ../rules/base.xml.in.h:344
+#: ../rules/base.xml.in.h:346
msgid "Italy"
msgstr "Włoski"
-#: ../rules/base.xml.in.h:345
+#: ../rules/base.xml.in.h:347
msgid "Japan"
msgstr "Japoński"
-#: ../rules/base.xml.in.h:346
+#: ../rules/base.xml.in.h:348
msgid "Japan (PC-98xx Series)"
msgstr "Japoński (serie PC-98xx)"
-#: ../rules/base.xml.in.h:347
+#: ../rules/base.xml.in.h:349
msgid "Japanese keyboard options"
msgstr "Opcje klawiatury japońskiej"
-#: ../rules/base.xml.in.h:348
+#: ../rules/base.xml.in.h:350
msgid "Jpn"
msgstr "JPN"
-#: ../rules/base.xml.in.h:349
+#: ../rules/base.xml.in.h:351
msgid "Kalmyk"
msgstr "Kałmucki"
-#: ../rules/base.xml.in.h:350
+#: ../rules/base.xml.in.h:352
msgid "Kana"
msgstr "Kana"
-#: ../rules/base.xml.in.h:351
+#: ../rules/base.xml.in.h:353
msgid "Kana Lock key is locking"
msgstr "Blokujący klawisz Kana Lock"
-#: ../rules/base.xml.in.h:352
+#: ../rules/base.xml.in.h:354
msgid "Kannada"
msgstr "Kannada"
-#: ../rules/base.xml.in.h:353
+#: ../rules/base.xml.in.h:355
msgid "Kashubian"
msgstr "Kaszubski"
-#: ../rules/base.xml.in.h:354
+#: ../rules/base.xml.in.h:356
msgid "Kaz"
msgstr "KAZ"
-#: ../rules/base.xml.in.h:355
+#: ../rules/base.xml.in.h:357
msgid "Kazakh with Russian"
msgstr "Kazaski z rosyjskim"
-#: ../rules/base.xml.in.h:356
+#: ../rules/base.xml.in.h:358
msgid "Kazakhstan"
msgstr "Kazachstański"
-#: ../rules/base.xml.in.h:357
+#: ../rules/base.xml.in.h:359
msgid "Ken"
msgstr "KEN"
-#: ../rules/base.xml.in.h:358
+#: ../rules/base.xml.in.h:360
msgid "Kenya"
msgstr "Kenijski"
-#: ../rules/base.xml.in.h:359
+#: ../rules/base.xml.in.h:361
msgid "Key sequence to kill the X server"
msgstr "Sekwencja klawiszy zabijająca serwer X"
-#: ../rules/base.xml.in.h:360
+#: ../rules/base.xml.in.h:362
msgid "Key to choose 3rd level"
msgstr "Klawisz wybierający poziom 3."
-#: ../rules/base.xml.in.h:361
+#: ../rules/base.xml.in.h:363
msgid "Key to choose 5th level"
msgstr "Klawisz wybierający poziom 5."
-#: ../rules/base.xml.in.h:362
+#: ../rules/base.xml.in.h:364
msgid "Key(s) to change layout"
msgstr "Klawisze zmieniające układ"
-#: ../rules/base.xml.in.h:363
+#: ../rules/base.xml.in.h:365
msgid "Keytronic FlexPro"
msgstr "Keytronic FlexPro"
-#: ../rules/base.xml.in.h:364
+#: ../rules/base.xml.in.h:366
msgid "Kgz"
msgstr "KGZ"
-#: ../rules/base.xml.in.h:365
+#: ../rules/base.xml.in.h:367
msgid "Khm"
msgstr "KHM"
-#: ../rules/base.xml.in.h:366
+#: ../rules/base.xml.in.h:368
msgid "Kikuyu"
msgstr "Kikiju"
-#: ../rules/base.xml.in.h:367
+#: ../rules/base.xml.in.h:369
+msgid "Kinesis"
+msgstr "Kinesis"
+
+#: ../rules/base.xml.in.h:370
msgid "Komi"
msgstr "Komi"
-#: ../rules/base.xml.in.h:368
+#: ../rules/base.xml.in.h:371
msgid "Kor"
msgstr "KOR"
-#: ../rules/base.xml.in.h:369
+#: ../rules/base.xml.in.h:372
msgid "Korea, Republic of"
msgstr "Koreański"
-#: ../rules/base.xml.in.h:370
+#: ../rules/base.xml.in.h:373
msgid "Ktunaxa"
msgstr "Kutanejski"
-#: ../rules/base.xml.in.h:371
+#: ../rules/base.xml.in.h:374
msgid "Kurdish, (F)"
msgstr "Kurdyjski (F)"
-#: ../rules/base.xml.in.h:372
+#: ../rules/base.xml.in.h:375
msgid "Kurdish, Arabic-Latin"
msgstr "Kurdyjski, arabsko-łaciński"
-#: ../rules/base.xml.in.h:373
+#: ../rules/base.xml.in.h:376
msgid "Kurdish, Latin Alt-Q"
msgstr "Kurdyjski, łaciński Alt-Q"
-#: ../rules/base.xml.in.h:374
+#: ../rules/base.xml.in.h:377
msgid "Kurdish, Latin Q"
msgstr "Kurdyjski, łaciński Q"
-#: ../rules/base.xml.in.h:375
+#: ../rules/base.xml.in.h:378
msgid "Kyrgyzstan"
msgstr "Kirgijski"
-#: ../rules/base.xml.in.h:376
+#: ../rules/base.xml.in.h:379
msgid "LAm"
msgstr "LAm"
-#: ../rules/base.xml.in.h:377
+#: ../rules/base.xml.in.h:380
msgid "LEKP"
msgstr "LEKP"
-#: ../rules/base.xml.in.h:378
+#: ../rules/base.xml.in.h:381
msgid "LEKPa"
msgstr "LEKPa"
-#: ../rules/base.xml.in.h:379
+#: ../rules/base.xml.in.h:382
msgid "Lao"
msgstr "Lao"
-#: ../rules/base.xml.in.h:380
+#: ../rules/base.xml.in.h:383
msgid "Laos"
msgstr "Laoski"
-#: ../rules/base.xml.in.h:381
+#: ../rules/base.xml.in.h:384
msgid "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard"
msgstr "Klawiatura laptopowa Compaq (np. Armada)"
-#: ../rules/base.xml.in.h:382
+#: ../rules/base.xml.in.h:385
msgid "Laptop/notebook Compaq (eg. Presario) Internet Keyboard"
msgstr "Klawiatura internetowa laptopów/notebooków Compaq (np. Presario)"
-#: ../rules/base.xml.in.h:383
+#: ../rules/base.xml.in.h:386
msgid "Laptop/notebook eMachines m68xx"
msgstr "Laptop/notebook eMachines m68xx"
-#: ../rules/base.xml.in.h:384
+#: ../rules/base.xml.in.h:387
msgid "Latin"
msgstr "Łaciński"
-#: ../rules/base.xml.in.h:385
+#: ../rules/base.xml.in.h:388
msgid "Latin American"
msgstr "Ameryki Łacińskiej"
-#: ../rules/base.xml.in.h:386
+#: ../rules/base.xml.in.h:389
msgid "Latin Unicode"
msgstr "Łaciński Unicode"
-#: ../rules/base.xml.in.h:387
+#: ../rules/base.xml.in.h:390
msgid "Latin Unicode qwerty"
msgstr "Łaciński QWERTY Unicode"
-#: ../rules/base.xml.in.h:388
+#: ../rules/base.xml.in.h:391
msgid "Latin qwerty"
msgstr "Łaciński QWERTY"
-#: ../rules/base.xml.in.h:389
+#: ../rules/base.xml.in.h:392
msgid "Latin unicode"
msgstr "Łaciński"
-#: ../rules/base.xml.in.h:390
+#: ../rules/base.xml.in.h:393
msgid "Latin unicode qwerty"
msgstr "Łaciński QWERTY Unicode"
-#: ../rules/base.xml.in.h:391
+#: ../rules/base.xml.in.h:394
msgid "Latin with guillemets"
msgstr "Łaciński z cudzysłowami"
-#: ../rules/base.xml.in.h:392
+#: ../rules/base.xml.in.h:395
msgid "Latvia"
msgstr "Łotewski"
-#: ../rules/base.xml.in.h:393
+#: ../rules/base.xml.in.h:396
msgid "Layout toggle on multiply/divide key"
msgstr "Przełączanie układu klawiszem mnożenia/dzielenia"
-#: ../rules/base.xml.in.h:394
+#: ../rules/base.xml.in.h:397
msgid "Left Alt"
msgstr "Lewy Alt"
-#: ../rules/base.xml.in.h:395
+#: ../rules/base.xml.in.h:398
msgid "Left Alt (while pressed)"
msgstr "Lewy Alt (wciśnięty)"
-#: ../rules/base.xml.in.h:396
+#: ../rules/base.xml.in.h:399
msgid "Left Alt is swapped with Left Win"
msgstr "Lewy Alt zamieniony z lewym Win"
-#: ../rules/base.xml.in.h:397
+#: ../rules/base.xml.in.h:400
msgid "Left Ctrl"
msgstr "Lewy Ctrl"
-#: ../rules/base.xml.in.h:398
+#: ../rules/base.xml.in.h:401
msgid "Left Ctrl (to first layout), Right Ctrl (to last layout)"
msgstr "Lewy Ctrl (do pierwszego układu), prawy Ctrl (do ostatniego układu)"
-#: ../rules/base.xml.in.h:399
+#: ../rules/base.xml.in.h:402
msgid "Left Ctrl+Left Shift"
msgstr "Lewy Ctrl+lewy Shift"
-#: ../rules/base.xml.in.h:400
+#: ../rules/base.xml.in.h:403
msgid "Left Shift"
msgstr "Lewy Shift"
-#: ../rules/base.xml.in.h:401
+#: ../rules/base.xml.in.h:404
msgid "Left Win"
msgstr "Lewy Win"
-#: ../rules/base.xml.in.h:402
+#: ../rules/base.xml.in.h:405
msgid "Left Win (to first layout), Right Win/Menu (to last layout)"
msgstr "Lewy Win (do pierwszego układu), prawy Win/Menu (do ostatniego układu)"
-#: ../rules/base.xml.in.h:403
+#: ../rules/base.xml.in.h:406
msgid "Left Win (while pressed)"
msgstr "Lewy Win (wciśnięty)"
-#: ../rules/base.xml.in.h:404
+#: ../rules/base.xml.in.h:407
msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "Lewy Win wybiera poziom 5., blokuje przy naciśnięciu z innym klawiszem wybierającym poziom 5."
-#: ../rules/base.xml.in.h:405
+#: ../rules/base.xml.in.h:408
msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "Lewy Win wybiera poziom 5., blokuje przy naciśnięciu z innym klawiszem wybierającym poziom 5.; jedno naciśnięcie zwalnia blokadę"
-#: ../rules/base.xml.in.h:406
+#: ../rules/base.xml.in.h:409
msgid "Left hand"
msgstr "Leworęczny"
-#: ../rules/base.xml.in.h:407
+#: ../rules/base.xml.in.h:410
msgid "Left handed Dvorak"
msgstr "Leworęczny Dvoraka"
-#: ../rules/base.xml.in.h:408
+#: ../rules/base.xml.in.h:411
msgid "Legacy"
msgstr "Stary"
-#: ../rules/base.xml.in.h:409
+#: ../rules/base.xml.in.h:412
msgid "Legacy Wang 724"
msgstr "Legacy Wang 724"
#. Actually, with KP_SEPARATOR, as the old keypad(comma)
-#: ../rules/base.xml.in.h:411
+#: ../rules/base.xml.in.h:414
msgid "Legacy key with comma"
msgstr "Klawisz tradycyjny z przecinkiem"
-#: ../rules/base.xml.in.h:412
+#: ../rules/base.xml.in.h:415
msgid "Legacy key with dot"
msgstr "Klawisz tradycyjny z kropką"
-#: ../rules/base.xml.in.h:413
+#: ../rules/base.xml.in.h:416
msgid "Lithuania"
msgstr "Litewski"
-#: ../rules/base.xml.in.h:414
+#: ../rules/base.xml.in.h:417
msgid "Lka"
msgstr "LKA"
-#: ../rules/base.xml.in.h:415
+#: ../rules/base.xml.in.h:418
msgid "Logitech Access Keyboard"
msgstr "Logitech Access Keyboard"
-#: ../rules/base.xml.in.h:416
+#: ../rules/base.xml.in.h:419
msgid "Logitech Cordless Desktop"
msgstr "Logitech Cordless Desktop"
-#: ../rules/base.xml.in.h:417
+#: ../rules/base.xml.in.h:420
msgid "Logitech Cordless Desktop (alternate option)"
msgstr "Logitech Cordless Desktop (opcja zmiany)"
-#: ../rules/base.xml.in.h:418
+#: ../rules/base.xml.in.h:421
msgid "Logitech Cordless Desktop EX110"
msgstr "Logitech Cordless Desktop EX110"
-#: ../rules/base.xml.in.h:419
+#: ../rules/base.xml.in.h:422
msgid "Logitech Cordless Desktop LX-300"
msgstr "Logitech Cordless Desktop LX-300"
-#: ../rules/base.xml.in.h:420
+#: ../rules/base.xml.in.h:423
msgid "Logitech Cordless Desktop Navigator"
msgstr "Logitech Cordless Desktop Navigator"
-#: ../rules/base.xml.in.h:421
+#: ../rules/base.xml.in.h:424
msgid "Logitech Cordless Desktop Optical"
msgstr "Logitech Cordless Desktop Optical"
-#: ../rules/base.xml.in.h:422
+#: ../rules/base.xml.in.h:425
msgid "Logitech Cordless Desktop Pro (alternate option 2)"
msgstr "Logitech Cordless Desktop Pro (opcja zmiany 2)"
-#: ../rules/base.xml.in.h:423
+#: ../rules/base.xml.in.h:426
msgid "Logitech Cordless Desktop iTouch"
msgstr "Logitech Cordless Desktop iTouch"
-#: ../rules/base.xml.in.h:424
+#: ../rules/base.xml.in.h:427
msgid "Logitech Cordless Freedom/Desktop Navigator"
msgstr "Logitech Cordless Freedom/Desktop Navigator"
-#: ../rules/base.xml.in.h:425
+#: ../rules/base.xml.in.h:428
msgid "Logitech G15 extra keys via G15daemon"
msgstr "Logitech G15 - dodatkowe glawisze poprzez G15daemon"
-#: ../rules/base.xml.in.h:426
+#: ../rules/base.xml.in.h:429
msgid "Logitech Generic Keyboard"
msgstr "Logitech Generic Keyboard"
-#: ../rules/base.xml.in.h:427
+#: ../rules/base.xml.in.h:430
msgid "Logitech Internet 350 Keyboard"
msgstr "Logitech Internet 350 Keyboard"
-#: ../rules/base.xml.in.h:428
+#: ../rules/base.xml.in.h:431
msgid "Logitech Internet Keyboard"
msgstr "Logitech Internet Keyboard"
-#: ../rules/base.xml.in.h:429
+#: ../rules/base.xml.in.h:432
msgid "Logitech Internet Navigator Keyboard"
msgstr "Logitech Internet Navigator Keyboard"
-#: ../rules/base.xml.in.h:430
+#: ../rules/base.xml.in.h:433
msgid "Logitech Media Elite Keyboard"
msgstr "Logitech Media Elite Keyboard"
-#: ../rules/base.xml.in.h:431
+#: ../rules/base.xml.in.h:434
msgid "Logitech Ultra-X Cordless Media Desktop Keyboard"
msgstr "Logitech Ultra-X Cordless Media Desktop Keyboard"
-#: ../rules/base.xml.in.h:432
+#: ../rules/base.xml.in.h:435
msgid "Logitech Ultra-X Keyboard"
msgstr "Logitech Ultra-X Keyboard"
-#: ../rules/base.xml.in.h:433
+#: ../rules/base.xml.in.h:436
msgid "Logitech diNovo Edge Keyboard"
msgstr "Logitech diNovo Edge Keyboard"
-#: ../rules/base.xml.in.h:434
+#: ../rules/base.xml.in.h:437
msgid "Logitech diNovo Keyboard"
msgstr "Logitech diNovo Keyboard"
-#: ../rules/base.xml.in.h:435
+#: ../rules/base.xml.in.h:438
msgid "Logitech iTouch"
msgstr "Logitech iTouch"
-#: ../rules/base.xml.in.h:436
+#: ../rules/base.xml.in.h:439
msgid "Logitech iTouch Cordless Keyboard (model Y-RB6)"
msgstr "Logitech iTouch Cordless Keyboard (model Y-RB6)"
-#: ../rules/base.xml.in.h:437
+#: ../rules/base.xml.in.h:440
msgid "Logitech iTouch Internet Navigator Keyboard SE"
msgstr "Logitech iTouch Internet Navigator Keyboard SE"
-#: ../rules/base.xml.in.h:438
+#: ../rules/base.xml.in.h:441
msgid "Logitech iTouch Internet Navigator Keyboard SE (USB)"
msgstr "Logitech iTouch Internet Navigator Keyboard SE (USB)"
-#: ../rules/base.xml.in.h:439
+#: ../rules/base.xml.in.h:442
msgid "Lower Sorbian"
msgstr "Dolnołużycki"
-#: ../rules/base.xml.in.h:440
+#: ../rules/base.xml.in.h:443
msgid "Lower Sorbian (qwertz)"
msgstr "Dolnołużycki (QWERTZ)"
-#: ../rules/base.xml.in.h:441
+#: ../rules/base.xml.in.h:444
msgid "Ltu"
msgstr "LTU"
-#: ../rules/base.xml.in.h:442
+#: ../rules/base.xml.in.h:445
msgid "Lva"
msgstr "LVA"
-#: ../rules/base.xml.in.h:443
+#: ../rules/base.xml.in.h:446
msgid "MESS"
msgstr "MESS"
-#: ../rules/base.xml.in.h:444
+#: ../rules/base.xml.in.h:447
msgid "MNE"
msgstr "MNE"
-#: ../rules/base.xml.in.h:445
+#: ../rules/base.xml.in.h:448
msgid "MacBook/MacBook Pro"
msgstr "MacBook/MacBook Pro"
-#: ../rules/base.xml.in.h:446
+#: ../rules/base.xml.in.h:449
msgid "MacBook/MacBook Pro (Intl)"
msgstr "MacBook/MacBook Pro (Intl)"
-#: ../rules/base.xml.in.h:447
+#: ../rules/base.xml.in.h:450
msgid "Macedonia"
msgstr "Macedoński"
-#: ../rules/base.xml.in.h:448
+#: ../rules/base.xml.in.h:451
msgid "Macintosh"
msgstr "Macintosh"
-#: ../rules/base.xml.in.h:449
+#: ../rules/base.xml.in.h:452
+msgid "Macintosh (International)"
+msgstr "Macintosh (międzynarodowy)"
+
+#: ../rules/base.xml.in.h:453
msgid "Macintosh Old"
msgstr "Macintosh - stary"
-#: ../rules/base.xml.in.h:450
+#: ../rules/base.xml.in.h:454
msgid "Macintosh, Sun dead keys"
msgstr "Macintosh, klawisze akcentów Suna"
-#: ../rules/base.xml.in.h:451
+#: ../rules/base.xml.in.h:455
msgid "Macintosh, eliminate dead keys"
msgstr "Macintosh, bez klawiszy akcentów"
-#: ../rules/base.xml.in.h:452
-msgid "Make CapsLock an additional Backspace"
+#: ../rules/base.xml.in.h:456
+msgid "Make Caps Lock an additional Backspace"
msgstr "CapsLock jako dodatkowy Backspace"
-#: ../rules/base.xml.in.h:453
-msgid "Make CapsLock an additional Ctrl"
+#: ../rules/base.xml.in.h:457
+msgid "Make Caps Lock an additional Ctrl"
msgstr "CapsLock jako dodatkowy Ctrl"
-#: ../rules/base.xml.in.h:454
-msgid "Make CapsLock an additional ESC"
+#: ../rules/base.xml.in.h:458
+msgid "Make Caps Lock an additional ESC"
msgstr "CapsLock jako dodatkowy Esc"
-#: ../rules/base.xml.in.h:455
-msgid "Make CapsLock an additional Hyper"
+#: ../rules/base.xml.in.h:459
+msgid "Make Caps Lock an additional Hyper"
msgstr "CapsLock jako dodatkowy Hyper"
-#: ../rules/base.xml.in.h:456
-msgid "Make CapsLock an additional NumLock"
+#: ../rules/base.xml.in.h:460
+msgid "Make Caps Lock an additional Num Lock"
msgstr "CapsLock jako dodatkowy NumLock"
-#: ../rules/base.xml.in.h:457
-msgid "Make CapsLock an additional Super"
+#: ../rules/base.xml.in.h:461
+msgid "Make Caps Lock an additional Super"
msgstr "CapsLock jako dodatkowy Super"
-#: ../rules/base.xml.in.h:458
+#: ../rules/base.xml.in.h:462
msgid "Malayalam"
msgstr "Malajalam"
-#: ../rules/base.xml.in.h:459
+#: ../rules/base.xml.in.h:463
msgid "Malayalam Lalitha"
msgstr "Malajalam Lalitha"
-#: ../rules/base.xml.in.h:460
+#: ../rules/base.xml.in.h:464
msgid "Maldives"
msgstr "Malediwski"
-#: ../rules/base.xml.in.h:461
+#: ../rules/base.xml.in.h:465
msgid "Mali"
msgstr "Mali"
-#: ../rules/base.xml.in.h:462
+#: ../rules/base.xml.in.h:466
msgid "Malta"
msgstr "Maltański"
-#: ../rules/base.xml.in.h:463
+#: ../rules/base.xml.in.h:467
msgid "Maltese keyboard with US layout"
msgstr "Klawiatura maltańska z układem US"
-#: ../rules/base.xml.in.h:464
+#: ../rules/base.xml.in.h:468
msgid "Mao"
msgstr "MAO"
-#: ../rules/base.xml.in.h:465
+#: ../rules/base.xml.in.h:469
msgid "Maori"
msgstr "Maoryski"
-#: ../rules/base.xml.in.h:466
+#: ../rules/base.xml.in.h:470
msgid "Mdv"
msgstr "MDV"
-#: ../rules/base.xml.in.h:467
+#: ../rules/base.xml.in.h:471
msgid "Memorex MX1998"
msgstr "Memorex MX1998"
-#: ../rules/base.xml.in.h:468
+#: ../rules/base.xml.in.h:472
msgid "Memorex MX2500 EZ-Access Keyboard"
msgstr "Memorex MX2500 EZ-Access Keyboard"
-#: ../rules/base.xml.in.h:469
+#: ../rules/base.xml.in.h:473
msgid "Memorex MX2750"
msgstr "Memorex MX2750"
-#: ../rules/base.xml.in.h:470
+#: ../rules/base.xml.in.h:474
msgid "Menu"
msgstr "Menu"
-#: ../rules/base.xml.in.h:471
+#: ../rules/base.xml.in.h:475
msgid "Meta is mapped to Left Win"
msgstr "Meta pod lewym Win"
-#: ../rules/base.xml.in.h:472
+#: ../rules/base.xml.in.h:476
msgid "Meta is mapped to Win keys"
msgstr "Meta pod klawiszami Win"
-#: ../rules/base.xml.in.h:473
+#: ../rules/base.xml.in.h:477
msgid "Microsoft Comfort Curve Keyboard 2000"
msgstr "Microsoft Comfort Curve Keyboard 2000"
-#: ../rules/base.xml.in.h:474
+#: ../rules/base.xml.in.h:478
msgid "Microsoft Internet Keyboard"
msgstr "Microsoft Internet Keyboard"
-#: ../rules/base.xml.in.h:475
+#: ../rules/base.xml.in.h:479
msgid "Microsoft Internet Keyboard Pro, Swedish"
msgstr "Microsoft Internet Keyboard Pro, Swedish"
-#: ../rules/base.xml.in.h:476
+#: ../rules/base.xml.in.h:480
msgid "Microsoft Natural"
msgstr "Microsoft Natural"
-#: ../rules/base.xml.in.h:477
+#: ../rules/base.xml.in.h:481
msgid "Microsoft Natural Keyboard Elite"
msgstr "Microsoft Natural Keyboard Elite"
-#: ../rules/base.xml.in.h:478
+#: ../rules/base.xml.in.h:482
msgid "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
msgstr "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
-#: ../rules/base.xml.in.h:479
+#: ../rules/base.xml.in.h:483
msgid "Microsoft Natural Keyboard Pro OEM"
msgstr "Microsoft Natural Keyboard Pro OEM"
-#: ../rules/base.xml.in.h:480
+#: ../rules/base.xml.in.h:484
msgid "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
msgstr "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
-#: ../rules/base.xml.in.h:481
+#: ../rules/base.xml.in.h:485
msgid "Microsoft Natural Wireless Ergonomic Keyboard 7000"
msgstr "Microsoft Natural Wireless Ergonomic Keyboard 7000"
-#: ../rules/base.xml.in.h:482
+#: ../rules/base.xml.in.h:486
msgid "Microsoft Office Keyboard"
msgstr "Microsoft Office Keyboard"
-#: ../rules/base.xml.in.h:483
+#: ../rules/base.xml.in.h:487
msgid "Microsoft Wireless Multimedia Keyboard 1.0A"
msgstr "Microsoft Wireless Multimedia Keyboard 1.0A"
-#: ../rules/base.xml.in.h:484
+#: ../rules/base.xml.in.h:488
msgid "Miscellaneous compatibility options"
msgstr "Różne opcje kompatybilności"
-#: ../rules/base.xml.in.h:485
+#: ../rules/base.xml.in.h:489
msgid "Mkd"
msgstr "MKD"
-#: ../rules/base.xml.in.h:486
+#: ../rules/base.xml.in.h:490
msgid "Mli"
msgstr "MLI"
-#: ../rules/base.xml.in.h:487
+#: ../rules/base.xml.in.h:491
msgid "Mlt"
msgstr "MLT"
-#: ../rules/base.xml.in.h:488
+#: ../rules/base.xml.in.h:492
msgid "Mmr"
msgstr "MMR"
-#: ../rules/base.xml.in.h:489
+#: ../rules/base.xml.in.h:493
msgid "Mng"
msgstr "MNG"
-#: ../rules/base.xml.in.h:490
+#: ../rules/base.xml.in.h:494
msgid "Mongolia"
msgstr "Mongolski"
-#: ../rules/base.xml.in.h:491
+#: ../rules/base.xml.in.h:495
msgid "Montenegro"
msgstr "Czarnogórski"
-#: ../rules/base.xml.in.h:492
+#: ../rules/base.xml.in.h:496
msgid "Morocco"
msgstr "Marokański"
-#: ../rules/base.xml.in.h:493
+#: ../rules/base.xml.in.h:497
msgid "Multilingual"
msgstr "Wielojęzyczny"
-#: ../rules/base.xml.in.h:494
+#: ../rules/base.xml.in.h:498
msgid "Multilingual, first part"
msgstr "Wielojęzyczny, część pierwsza"
-#: ../rules/base.xml.in.h:495
+#: ../rules/base.xml.in.h:499
msgid "Multilingual, second part"
msgstr "Wielojęzyczny, część druga"
-#: ../rules/base.xml.in.h:496
+#: ../rules/base.xml.in.h:500
msgid "Myanmar"
msgstr "Myanmarski"
-#: ../rules/base.xml.in.h:497
+#: ../rules/base.xml.in.h:501
msgid "NICOLA-F style Backspace"
msgstr "Backspace w stylu NICOLA-F"
-#: ../rules/base.xml.in.h:498
+#: ../rules/base.xml.in.h:502
msgid "NLA"
msgstr "NLA"
-#: ../rules/base.xml.in.h:499
+#: ../rules/base.xml.in.h:503
msgid "Nativo"
msgstr "Nativo"
-#: ../rules/base.xml.in.h:500
+#: ../rules/base.xml.in.h:504
msgid "Nativo for Esperanto"
msgstr "Nativo dla esperanto"
-#: ../rules/base.xml.in.h:501
+#: ../rules/base.xml.in.h:505
msgid "Nativo for USA keyboards"
msgstr "Nativo dla klawiatur USA"
-#: ../rules/base.xml.in.h:502
+#: ../rules/base.xml.in.h:506
msgid "Neo 2"
msgstr "Neo 2"
-#: ../rules/base.xml.in.h:503
+#: ../rules/base.xml.in.h:507
msgid "Nepal"
msgstr "Nepalski"
-#: ../rules/base.xml.in.h:504
+#: ../rules/base.xml.in.h:508
msgid "Netherlands"
msgstr "Holenderski"
-#: ../rules/base.xml.in.h:505
+#: ../rules/base.xml.in.h:509
msgid "New phonetic"
msgstr "Nowy fonetyczny"
-#: ../rules/base.xml.in.h:506
+#: ../rules/base.xml.in.h:510
msgid "Nga"
msgstr "NGA"
-#: ../rules/base.xml.in.h:507
+#: ../rules/base.xml.in.h:511
msgid "Nigeria"
msgstr "Nigeryjski"
-#: ../rules/base.xml.in.h:508
+#: ../rules/base.xml.in.h:512
msgid "Nld"
msgstr "NLD"
-#: ../rules/base.xml.in.h:509
+#: ../rules/base.xml.in.h:513
msgid "Non-breakable space character at fourth level"
msgstr "Znak niełamliwej spacji na poziomie 4."
-#: ../rules/base.xml.in.h:510
+#: ../rules/base.xml.in.h:514
msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level"
msgstr "Znak niełamliwej spacji na poziomie 4., wąskiej niełamliwej spacji na poziomie 6."
-#: ../rules/base.xml.in.h:511
+#: ../rules/base.xml.in.h:515
msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)"
msgstr "Znak niełamliwej spacji na poziomie 4., wąskiej niełamliwej spacji na poziomie 6. (z Ctrl+Shift)"
-#: ../rules/base.xml.in.h:512
+#: ../rules/base.xml.in.h:516
msgid "Non-breakable space character at second level"
msgstr "Znak niełamliwej spacji na poziomie 2."
-#: ../rules/base.xml.in.h:513
+#: ../rules/base.xml.in.h:517
msgid "Non-breakable space character at third level"
msgstr "Znak niełamliwej spacji na poziomie 3."
-#: ../rules/base.xml.in.h:514
+#: ../rules/base.xml.in.h:518
msgid "Non-breakable space character at third level, nothing at fourth level"
msgstr "Znak niełamliwej spacji na poziomie 3., nic na poziomie 4."
-#: ../rules/base.xml.in.h:515
+#: ../rules/base.xml.in.h:519
msgid "Non-breakable space character at third level, thin non-breakable space character at fourth level"
msgstr "Znak niełamliwej spacji na poziomie 3., wąskiej niełamliwej spacji na poziomie 4."
-#: ../rules/base.xml.in.h:516
+#: ../rules/base.xml.in.h:520
msgid "Nor"
msgstr "NOR"
-#: ../rules/base.xml.in.h:517
+#: ../rules/base.xml.in.h:521
msgid "Northern Saami"
msgstr "Północnolapoński"
-#: ../rules/base.xml.in.h:518
+#: ../rules/base.xml.in.h:522
msgid "Northern Saami, eliminate dead keys"
msgstr "Północnolapoński, bez klawiszy akcentów"
-#: ../rules/base.xml.in.h:519
+#: ../rules/base.xml.in.h:523
msgid "Northgate OmniKey 101"
msgstr "Northgate OmniKey 101"
-#: ../rules/base.xml.in.h:520
+#: ../rules/base.xml.in.h:524
msgid "Norway"
msgstr "Norweski"
-#: ../rules/base.xml.in.h:521
+#: ../rules/base.xml.in.h:525
msgid "Npl"
msgstr "NPL"
-#: ../rules/base.xml.in.h:522
-msgid "NumLock"
+#: ../rules/base.xml.in.h:526
+msgid "Num Lock"
msgstr "NumLock"
-#: ../rules/base.xml.in.h:523
+#: ../rules/base.xml.in.h:527
msgid "Numeric keypad delete key behaviour"
msgstr "Zachowanie klawisza Delete na klawiaturze numerycznej"
-#: ../rules/base.xml.in.h:524
+#: ../rules/base.xml.in.h:528
msgid "Numeric keypad keys work as with Mac"
msgstr "Klawiatura numeryczna działająca jak w Macu"
-#: ../rules/base.xml.in.h:525
+#: ../rules/base.xml.in.h:529
msgid "Numeric keypad layout selection"
msgstr "Wybór układu klawiatury numerycznej"
-#: ../rules/base.xml.in.h:526
+#: ../rules/base.xml.in.h:530
msgid "OADG 109A"
msgstr "OADG 109A"
-#: ../rules/base.xml.in.h:527
+#: ../rules/base.xml.in.h:531
msgid "OLPC"
msgstr "OLPC"
-#: ../rules/base.xml.in.h:528
+#: ../rules/base.xml.in.h:532
msgid "OLPC Dari"
msgstr "OLPC Dari"
-#: ../rules/base.xml.in.h:529
+#: ../rules/base.xml.in.h:533
msgid "OLPC Pashto"
msgstr "OLPC pasztuński"
-#: ../rules/base.xml.in.h:530
+#: ../rules/base.xml.in.h:534
msgid "OLPC Southern Uzbek"
msgstr "OLPC południowouzbecki"
-#: ../rules/base.xml.in.h:531
+#: ../rules/base.xml.in.h:535
msgid "Occitan"
msgstr "Okcytański"
-#: ../rules/base.xml.in.h:532
+#: ../rules/base.xml.in.h:536
msgid "Ogham"
msgstr "Ogham"
-#: ../rules/base.xml.in.h:533
+#: ../rules/base.xml.in.h:537
msgid "Ogham IS434"
msgstr "Ogham IS434"
-#: ../rules/base.xml.in.h:534
+#: ../rules/base.xml.in.h:538
msgid "Oriya"
msgstr "Orija"
-#: ../rules/base.xml.in.h:535
+#: ../rules/base.xml.in.h:539
msgid "Ortek MCK-800 MM/Internet keyboard"
msgstr "Ortek MCK-800 MM/Internet keyboard"
-#: ../rules/base.xml.in.h:536
+#: ../rules/base.xml.in.h:540
msgid "Ossetian"
msgstr "Osetyjski"
-#: ../rules/base.xml.in.h:537
+#: ../rules/base.xml.in.h:541
msgid "Ossetian, Winkeys"
msgstr "Osetyjski, klawisze Win"
-#: ../rules/base.xml.in.h:538
+#: ../rules/base.xml.in.h:542
msgid "Ossetian, legacy"
msgstr "Osetyjski, stary"
-#: ../rules/base.xml.in.h:539
+#: ../rules/base.xml.in.h:543
msgid "PC-98xx Series"
msgstr "Serie PC-98xx"
-#: ../rules/base.xml.in.h:540
+#: ../rules/base.xml.in.h:544
msgid "Pak"
msgstr "PAK"
-#: ../rules/base.xml.in.h:541
+#: ../rules/base.xml.in.h:545
msgid "Pakistan"
msgstr "Pakistański"
-#: ../rules/base.xml.in.h:542
+#: ../rules/base.xml.in.h:546
msgid "Pannonian Rusyn Homophonic"
msgstr "Rusiński homofoniczny"
-#: ../rules/base.xml.in.h:543
+#: ../rules/base.xml.in.h:547
msgid "Pashto"
msgstr "Pasztuński"
-#: ../rules/base.xml.in.h:544
+#: ../rules/base.xml.in.h:548
msgid "Pattachote"
msgstr "Pattachote"
-#: ../rules/base.xml.in.h:545
+#: ../rules/base.xml.in.h:549
msgid "Pause"
msgstr "Pauza"
-#: ../rules/base.xml.in.h:546
+#: ../rules/base.xml.in.h:550
msgid "Persian, with Persian Keypad"
msgstr "Perski, z perską klawiaturą numeryczną"
-#: ../rules/base.xml.in.h:547
+#: ../rules/base.xml.in.h:551
msgid "Phonetic"
msgstr "Fonetyczny"
-#: ../rules/base.xml.in.h:548
+#: ../rules/base.xml.in.h:552
msgid "Phonetic Winkeys"
msgstr "Fonetyczny z klawiszami Win"
-#: ../rules/base.xml.in.h:549
+#: ../rules/base.xml.in.h:553
msgid "Pol"
msgstr "POL"
-#: ../rules/base.xml.in.h:550
+#: ../rules/base.xml.in.h:554
msgid "Poland"
msgstr "Polski"
-#: ../rules/base.xml.in.h:551
+#: ../rules/base.xml.in.h:555
msgid "Polytonic"
msgstr "Politoniczny"
-#: ../rules/base.xml.in.h:552
+#: ../rules/base.xml.in.h:556
msgid "Portugal"
msgstr "Portugalski"
-#: ../rules/base.xml.in.h:553
+#: ../rules/base.xml.in.h:557
msgid "Probhat"
msgstr "Probhat"
-#: ../rules/base.xml.in.h:554
+#: ../rules/base.xml.in.h:558
msgid "Programmer Dvorak"
msgstr "Dvoraka programisty"
-#: ../rules/base.xml.in.h:555
+#: ../rules/base.xml.in.h:559
msgid "Propeller Voyager (KTEZ-1000)"
msgstr "Propeller Voyager (KTEZ-1000)"
-#: ../rules/base.xml.in.h:556
+#: ../rules/base.xml.in.h:560
msgid "Prt"
msgstr "PRT"
-#: ../rules/base.xml.in.h:557
+#: ../rules/base.xml.in.h:561
msgid "PrtSc"
msgstr "PrtSc"
-#: ../rules/base.xml.in.h:558
+#: ../rules/base.xml.in.h:562
msgid "QTronix Scorpius 98N+"
msgstr "QTronix Scorpius 98N+"
-#: ../rules/base.xml.in.h:559
+#: ../rules/base.xml.in.h:563
msgid "Right Alt"
msgstr "Prawy Alt"
-#: ../rules/base.xml.in.h:560
+#: ../rules/base.xml.in.h:564
msgid "Right Alt (while pressed)"
msgstr "Prawy Alt (wciśnięty)"
-#: ../rules/base.xml.in.h:561
+#: ../rules/base.xml.in.h:565
msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "Prawy Alt wybiera poziom 5., blokuje przy naciśnięciu z innym klawiszem wybierającym poziom 5."
-#: ../rules/base.xml.in.h:562
+#: ../rules/base.xml.in.h:566
msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "Prawy Alt wybiera poziom 5., blokuje przy naciśnięciu z innym klawiszem wybierającym poziom 5.; jedno naciśnięcie zwalnia blokadę"
-#: ../rules/base.xml.in.h:563
+#: ../rules/base.xml.in.h:567
msgid "Right Alt key never chooses 3rd level"
msgstr "Prawy Alt nigdy nie wybierający poziomu 3."
-#: ../rules/base.xml.in.h:564
+#: ../rules/base.xml.in.h:568
msgid "Right Alt, Shift+Right Alt key is Multi_Key"
msgstr "Prawy Alt, Shift+prawy Alt jako Multi_Key"
-#: ../rules/base.xml.in.h:565
+#: ../rules/base.xml.in.h:569
msgid "Right Ctrl"
msgstr "Prawy Ctrl"
-#: ../rules/base.xml.in.h:566
+#: ../rules/base.xml.in.h:570
msgid "Right Ctrl (while pressed)"
msgstr "Prawy Ctrl (wciśnięty)"
-#: ../rules/base.xml.in.h:567
+#: ../rules/base.xml.in.h:571
msgid "Right Ctrl as Right Alt"
msgstr "Prawy Ctrl jako prawy Alt"
-#: ../rules/base.xml.in.h:568
+#: ../rules/base.xml.in.h:572
msgid "Right Ctrl+Right Shift"
msgstr "Prawy Ctrl+prawy Shift"
-#: ../rules/base.xml.in.h:569
+#: ../rules/base.xml.in.h:573
msgid "Right Shift"
msgstr "Prawy Shift"
-#: ../rules/base.xml.in.h:570
+#: ../rules/base.xml.in.h:574
msgid "Right Win"
msgstr "Prawy Win"
-#: ../rules/base.xml.in.h:571
+#: ../rules/base.xml.in.h:575
msgid "Right Win (while pressed)"
msgstr "Prawy Win (wciśnięty)"
-#: ../rules/base.xml.in.h:572
+#: ../rules/base.xml.in.h:576
msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "Prawy Win wybiera poziom 5., blokuje przy naciśnięciu z innym klawiszem wybierającym poziom 5."
-#: ../rules/base.xml.in.h:573
+#: ../rules/base.xml.in.h:577
msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "Prawy Win wybiera poziom 5., blokuje przy naciśnięciu z innym klawiszem wybierającym poziom 5.; jedno naciśnięcie zwalnia blokadę"
-#: ../rules/base.xml.in.h:574
+#: ../rules/base.xml.in.h:578
msgid "Right hand"
msgstr "Praworęczny"
-#: ../rules/base.xml.in.h:575
+#: ../rules/base.xml.in.h:579
msgid "Right handed Dvorak"
msgstr "Praworęczny Dvoraka"
-#: ../rules/base.xml.in.h:576
+#: ../rules/base.xml.in.h:580
msgid "Romania"
msgstr "Rumuński"
-#: ../rules/base.xml.in.h:577
+#: ../rules/base.xml.in.h:581
msgid "Romanian keyboard with German letters"
msgstr "Klawiatura rumuńska z literami niemieckimi"
-#: ../rules/base.xml.in.h:578
+#: ../rules/base.xml.in.h:582
msgid "Romanian keyboard with German letters, eliminate dead keys"
msgstr "Klawiatura rumuńska z literami niemieckimi, bez klawiszy akcentów"
-#: ../rules/base.xml.in.h:579
+#: ../rules/base.xml.in.h:583
msgid "Rou"
msgstr "ROU"
-#: ../rules/base.xml.in.h:580
+#: ../rules/base.xml.in.h:584
msgid "Rus"
msgstr "RUS"
-#: ../rules/base.xml.in.h:581
+#: ../rules/base.xml.in.h:585
msgid "Russia"
msgstr "Rosyjski"
-#: ../rules/base.xml.in.h:582
+#: ../rules/base.xml.in.h:586
msgid "Russian"
msgstr "Rosyjski"
-#: ../rules/base.xml.in.h:583
+#: ../rules/base.xml.in.h:587
msgid "Russian phonetic"
msgstr "Rosyjski fonetyczny"
-#: ../rules/base.xml.in.h:584
+#: ../rules/base.xml.in.h:588
msgid "Russian phonetic Dvorak"
msgstr "Rosyjski fonetyczny Dvoraka"
-#: ../rules/base.xml.in.h:585
+#: ../rules/base.xml.in.h:589
msgid "Russian phonetic, eliminate dead keys"
msgstr "Rosyjski fonetyczny, bez klawiszy akcentów"
-#: ../rules/base.xml.in.h:586
+#: ../rules/base.xml.in.h:590
msgid "Russian with Kazakh"
msgstr "Rosyjski z kazaskim"
-#: ../rules/base.xml.in.h:587
+#: ../rules/base.xml.in.h:591
msgid "SILVERCREST Multimedia Wireless Keyboard"
msgstr "SILVERCREST Multimedia Wireless Keyboard"
-#: ../rules/base.xml.in.h:588
+#: ../rules/base.xml.in.h:592
msgid "SK-1300"
msgstr "SK-1300"
-#: ../rules/base.xml.in.h:589
+#: ../rules/base.xml.in.h:593
msgid "SK-2500"
msgstr "SK-2500"
-#: ../rules/base.xml.in.h:590
+#: ../rules/base.xml.in.h:594
msgid "SK-6200"
msgstr "SK-6200"
-#: ../rules/base.xml.in.h:591
+#: ../rules/base.xml.in.h:595
msgid "SK-7100"
msgstr "SK-7100"
-#: ../rules/base.xml.in.h:592 ../rules/base.extras.xml.in.h:7
+#: ../rules/base.xml.in.h:596 ../rules/base.extras.xml.in.h:9
msgid "SRB"
msgstr "SRB"
-#: ../rules/base.xml.in.h:593
+#: ../rules/base.xml.in.h:597
msgid "SVEN Ergonomic 2500"
msgstr "SVEN Ergonomic 2500"
-#: ../rules/base.xml.in.h:594
+#: ../rules/base.xml.in.h:598
msgid "SVEN Slim 303"
msgstr "SVEN Slim 303"
-#: ../rules/base.xml.in.h:595
+#: ../rules/base.xml.in.h:599
msgid "Samsung SDM 4500P"
msgstr "Samsung SDM 4500P"
-#: ../rules/base.xml.in.h:596
+#: ../rules/base.xml.in.h:600
msgid "Samsung SDM 4510P"
msgstr "Samsung SDM 4510P"
-#: ../rules/base.xml.in.h:597
-msgid "ScrollLock"
+#: ../rules/base.xml.in.h:601
+msgid "Scroll Lock"
msgstr "ScrollLock"
-#: ../rules/base.xml.in.h:598
+#: ../rules/base.xml.in.h:602
msgid "Secwepemctsin"
msgstr "Shuswap"
-#: ../rules/base.xml.in.h:599
+#: ../rules/base.xml.in.h:603
msgid "Semi-colon on third level"
msgstr "Średnik na poziomie 3."
-#: ../rules/base.xml.in.h:600
+#: ../rules/base.xml.in.h:604
msgid "Sen"
msgstr "SEN"
-#: ../rules/base.xml.in.h:601
+#: ../rules/base.xml.in.h:605
msgid "Senegal"
msgstr "Senegalski"
-#: ../rules/base.xml.in.h:602 ../rules/base.extras.xml.in.h:8
+#: ../rules/base.xml.in.h:606 ../rules/base.extras.xml.in.h:10
msgid "Serbia"
msgstr "Serbski"
-#: ../rules/base.xml.in.h:603
+#: ../rules/base.xml.in.h:607
msgid "Serbian"
msgstr "Serbski"
-#: ../rules/base.xml.in.h:604
-msgid "Shift cancels CapsLock"
+#: ../rules/base.xml.in.h:608
+msgid "Shift cancels Caps Lock"
msgstr "Shift anuluje CapsLock"
-#: ../rules/base.xml.in.h:605
-msgid "Shift does not cancel NumLock, chooses 3rd level instead"
+#: ../rules/base.xml.in.h:609
+msgid "Shift does not cancel Num Lock, chooses 3rd level instead"
msgstr "Shift nie anuluje NumLocka, wybiera poziom 3."
-#: ../rules/base.xml.in.h:606
+#: ../rules/base.xml.in.h:610
msgid "Shift with numeric keypad keys works as in MS Windows"
msgstr "Shift z klawiaturą numeryczną działą jak pod MS Windows"
-#: ../rules/base.xml.in.h:607
-msgid "Shift+CapsLock"
+#: ../rules/base.xml.in.h:611
+msgid "Shift+Caps Lock"
msgstr "Shift+CapsLock"
-#: ../rules/base.xml.in.h:608
+#: ../rules/base.xml.in.h:612
msgid "Simple"
msgstr "Prosty"
-#: ../rules/base.xml.in.h:609
+#: ../rules/base.xml.in.h:613
+msgid "Sindhi"
+msgstr "Sindhi"
+
+#: ../rules/base.xml.in.h:614
msgid "Slovakia"
msgstr "Słowacki"
-#: ../rules/base.xml.in.h:610
+#: ../rules/base.xml.in.h:615
msgid "Slovenia"
msgstr "Słoweński"
-#: ../rules/base.xml.in.h:611
+#: ../rules/base.xml.in.h:616
msgid "South Africa"
msgstr "Południowoafrykański"
-#: ../rules/base.xml.in.h:612
+#: ../rules/base.xml.in.h:617
msgid "Southern Uzbek"
msgstr "Południowouzbecki"
-#: ../rules/base.xml.in.h:613
+#: ../rules/base.xml.in.h:618
msgid "Spain"
msgstr "Hiszpański"
-#: ../rules/base.xml.in.h:614
+#: ../rules/base.xml.in.h:619
msgid "Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server"
msgstr "Klawisze specjalne (Ctrl+Alt+&lt;klawisz&gt;) obsługiwane przez serwer"
-#: ../rules/base.xml.in.h:615
+#: ../rules/base.xml.in.h:620
msgid "Sri Lanka"
msgstr "Sri Lanki"
-#: ../rules/base.xml.in.h:616
+#: ../rules/base.xml.in.h:621
msgid "Standard"
msgstr "Standardowy"
-#: ../rules/base.xml.in.h:617
+#: ../rules/base.xml.in.h:622
msgid "Standard (Cedilla)"
msgstr "Standardowy (Cedilla)"
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:619
+#: ../rules/base.xml.in.h:624
msgid "Standard RSTU"
msgstr "Standardowy RSTU"
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:621
+#: ../rules/base.xml.in.h:626
msgid "Standard RSTU on Russian layout"
msgstr "Standardowy RSTU przy rosyjskim układzie"
-#: ../rules/base.xml.in.h:622
+#: ../rules/base.xml.in.h:627
msgid "Sun Type 5/6"
msgstr "Sun Type 5/6"
-#: ../rules/base.xml.in.h:623
+#: ../rules/base.xml.in.h:628
msgid "Sun dead keys"
msgstr "Klawisze akcentów Suna"
-#: ../rules/base.xml.in.h:624
+#: ../rules/base.xml.in.h:629
msgid "Super Power Multimedia Keyboard"
msgstr "Super Power Multimedia Keyboard"
-#: ../rules/base.xml.in.h:625
+#: ../rules/base.xml.in.h:630
msgid "Svdvorak"
msgstr "Svdvorak"
-#: ../rules/base.xml.in.h:626
+#: ../rules/base.xml.in.h:631
msgid "Svk"
msgstr "SVK"
-#: ../rules/base.xml.in.h:627
+#: ../rules/base.xml.in.h:632
msgid "Svn"
msgstr "SVN"
-#: ../rules/base.xml.in.h:628
-msgid "Swap Ctrl and CapsLock"
+#: ../rules/base.xml.in.h:633
+msgid "Swap Ctrl and Caps Lock"
msgstr "Zamiana Ctrl i CapsLocka"
-#: ../rules/base.xml.in.h:629
-msgid "Swap ESC and CapsLock"
+#: ../rules/base.xml.in.h:634
+msgid "Swap ESC and Caps Lock"
msgstr "Zamiana Esc i CapsLocka"
-#: ../rules/base.xml.in.h:630
+#: ../rules/base.xml.in.h:635
msgid "Swe"
msgstr "SWE"
-#: ../rules/base.xml.in.h:631
+#: ../rules/base.xml.in.h:636
msgid "Sweden"
msgstr "Szwedzki"
-#: ../rules/base.xml.in.h:632
+#: ../rules/base.xml.in.h:637
msgid "Switzerland"
msgstr "Szwajcarski"
-#: ../rules/base.xml.in.h:633
+#: ../rules/base.xml.in.h:638
msgid "Symplon PaceBook (tablet PC)"
msgstr "Symplon PaceBook (tablet PC)"
-#: ../rules/base.xml.in.h:634
+#: ../rules/base.xml.in.h:639
msgid "Syr"
msgstr "SYR"
-#: ../rules/base.xml.in.h:635
+#: ../rules/base.xml.in.h:640
msgid "Syria"
msgstr "Syryjski"
-#: ../rules/base.xml.in.h:636
+#: ../rules/base.xml.in.h:641
msgid "Syriac"
msgstr "Syryjski"
-#: ../rules/base.xml.in.h:637
+#: ../rules/base.xml.in.h:642
msgid "Syriac phonetic"
msgstr "Syryjski fonetyczny"
-#: ../rules/base.xml.in.h:638
+#: ../rules/base.xml.in.h:643
msgid "TIS-820.2538"
msgstr "TIS-820.2538"
-#: ../rules/base.xml.in.h:639
+#: ../rules/base.xml.in.h:644
msgid "Tajikistan"
msgstr "Tadżykistański"
-#: ../rules/base.xml.in.h:640
+#: ../rules/base.xml.in.h:645
msgid "Tamil"
msgstr "Tamilski"
-#: ../rules/base.xml.in.h:641
+#: ../rules/base.xml.in.h:646
msgid "Tamil Keyboard with Numerals"
msgstr "Klawiatura tamilska z cyframi"
-#: ../rules/base.xml.in.h:642
+#: ../rules/base.xml.in.h:647
msgid "Tamil TAB Typewriter"
msgstr "Tamilski maszyny do pisania TAB"
-#: ../rules/base.xml.in.h:643
+#: ../rules/base.xml.in.h:648
msgid "Tamil TSCII Typewriter"
msgstr "Tamilski maszyny do pisania TSCII"
-#: ../rules/base.xml.in.h:644
+#: ../rules/base.xml.in.h:649
msgid "Tamil Unicode"
msgstr "Tamilski Unicode"
-#: ../rules/base.xml.in.h:645
+#: ../rules/base.xml.in.h:650
msgid "Tanzania"
msgstr "Tanzański"
-#: ../rules/base.xml.in.h:646
+#: ../rules/base.xml.in.h:651
msgid "Targa Visionary 811"
msgstr "Targa Visionary 811"
-#: ../rules/base.xml.in.h:647
+#: ../rules/base.xml.in.h:652
msgid "Tatar"
msgstr "Tatarski"
-#: ../rules/base.xml.in.h:648
+#: ../rules/base.xml.in.h:653
msgid "Telugu"
msgstr "Telugu"
-#: ../rules/base.xml.in.h:649
+#: ../rules/base.xml.in.h:654
msgid "Tha"
msgstr "THA"
-#: ../rules/base.xml.in.h:650
+#: ../rules/base.xml.in.h:655
msgid "Thailand"
msgstr "Tajlandzki"
-#: ../rules/base.xml.in.h:651
+#: ../rules/base.xml.in.h:656
msgid "Tibetan"
msgstr "Tybetański"
-#: ../rules/base.xml.in.h:652
+#: ../rules/base.xml.in.h:657
msgid "Tibetan (with ASCII numerals)"
msgstr "Tybetański (z liczbami ASCII)"
-#: ../rules/base.xml.in.h:653
+#: ../rules/base.xml.in.h:658
msgid "Tifinagh"
msgstr "Tifinagh"
-#: ../rules/base.xml.in.h:654
-msgid "Tifinagh Alternative"
+#: ../rules/base.xml.in.h:659
+msgid "Tifinagh alternative"
msgstr "Alternatywny tifinagh"
-#: ../rules/base.xml.in.h:655
-msgid "Tifinagh Alternative Phonetic"
+#: ../rules/base.xml.in.h:660
+msgid "Tifinagh alternative phonetic"
msgstr "Alternatywny fonetyczny tifinagh"
-#: ../rules/base.xml.in.h:656
-msgid "Tifinagh Extended"
+#: ../rules/base.xml.in.h:661
+msgid "Tifinagh extended"
msgstr "Rozszerzony tifinagh"
-#: ../rules/base.xml.in.h:657
-msgid "Tifinagh Extended Phonetic"
+#: ../rules/base.xml.in.h:662
+msgid "Tifinagh extended phonetic"
msgstr "Rozszerzony fonetyczny tifinagh"
-#: ../rules/base.xml.in.h:658
-msgid "Tifinagh Phonetic"
+#: ../rules/base.xml.in.h:663
+msgid "Tifinagh phonetic"
msgstr "Tifinagh fonetyczny"
-#: ../rules/base.xml.in.h:659
+#: ../rules/base.xml.in.h:664
msgid "Tilde (~) variant"
msgstr "Wariant z tyldą (~)"
-#: ../rules/base.xml.in.h:660
+#: ../rules/base.xml.in.h:665
msgid "Tjk"
msgstr "TJK"
-#: ../rules/base.xml.in.h:661
+#: ../rules/base.xml.in.h:666
msgid "Tkm"
msgstr "TKM"
-#: ../rules/base.xml.in.h:662
+#: ../rules/base.xml.in.h:667
msgid "To the corresponding key in a Dvorak keyboard."
msgstr "Pod odpowiednimi klawiszami wg układu Dvoraka."
-#: ../rules/base.xml.in.h:663
+#: ../rules/base.xml.in.h:668
msgid "To the corresponding key in a Qwerty keyboard."
msgstr "Pod odpowiednimi klawiszami wg układu QWERTY."
-#: ../rules/base.xml.in.h:664
+#: ../rules/base.xml.in.h:669
msgid "Toshiba Satellite S3000"
msgstr "Toshiba Satellite S3000"
-#: ../rules/base.xml.in.h:665
+#: ../rules/base.xml.in.h:670
msgid "Traditional phonetic"
msgstr "Tradycyjny fonetyczny"
-#: ../rules/base.xml.in.h:666
+#: ../rules/base.xml.in.h:671
msgid "Trust Direct Access Keyboard"
msgstr "Trust Direct Access Keyboard"
-#: ../rules/base.xml.in.h:667
+#: ../rules/base.xml.in.h:672
msgid "Trust Slimline"
msgstr "Trust Slimline"
-#: ../rules/base.xml.in.h:668
+#: ../rules/base.xml.in.h:673
msgid "Trust Wireless Keyboard Classic"
msgstr "Trust Wireless Keyboard Classic"
-#: ../rules/base.xml.in.h:669
+#: ../rules/base.xml.in.h:674
msgid "Tur"
msgstr "TUR"
-#: ../rules/base.xml.in.h:670
+#: ../rules/base.xml.in.h:675
msgid "Turkey"
msgstr "Turecki"
-#: ../rules/base.xml.in.h:671
+#: ../rules/base.xml.in.h:676
msgid "Turkmenistan"
msgstr "Turkmeński"
-#: ../rules/base.xml.in.h:672
+#: ../rules/base.xml.in.h:677
msgid "TypeMatrix EZ-Reach 2020"
msgstr "TypeMatrix EZ-Reach 2020"
-#: ../rules/base.xml.in.h:673
+#: ../rules/base.xml.in.h:678
msgid "TypeMatrix EZ-Reach 2030 PS2"
msgstr "TypeMatrix EZ-Reach 2030 PS2"
-#: ../rules/base.xml.in.h:674
+#: ../rules/base.xml.in.h:679
msgid "TypeMatrix EZ-Reach 2030 USB"
msgstr "TypeMatrix EZ-Reach 2030 USB"
-#: ../rules/base.xml.in.h:675
+#: ../rules/base.xml.in.h:680
msgid "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)"
msgstr "TypeMatrix EZ-Reach 2030 USB (tryb 102/105:EU)"
-#: ../rules/base.xml.in.h:676
+#: ../rules/base.xml.in.h:681
msgid "TypeMatrix EZ-Reach 2030 USB (106:JP mode)"
msgstr "TypeMatrix EZ-Reach 2030 USB (tryb 106:JP)"
-#: ../rules/base.xml.in.h:677
+#: ../rules/base.xml.in.h:682
msgid "Typewriter"
msgstr "Maszynistki"
-#: ../rules/base.xml.in.h:678
+#: ../rules/base.xml.in.h:683
msgid "Typewriter, legacy"
msgstr "Maszynistki, stary"
-#: ../rules/base.xml.in.h:679
+#: ../rules/base.xml.in.h:684
msgid "Tza"
msgstr "TZA"
-#: ../rules/base.xml.in.h:680
+#: ../rules/base.xml.in.h:685
msgid "UCW layout (accented letters only)"
msgstr "Układ UCW (tylko litery akcentowane)"
-#: ../rules/base.xml.in.h:681
+#: ../rules/base.xml.in.h:686
msgid "US Dvorak with CZ UCW support"
msgstr "US Dvoraka z obsługą CZ UCW"
-#: ../rules/base.xml.in.h:682
+#: ../rules/base.xml.in.h:687
msgid "US keyboard with Bosnian digraphs"
msgstr "Klawiatura US z dwuznakami bośniackimi"
-#: ../rules/base.xml.in.h:683
+#: ../rules/base.xml.in.h:688
msgid "US keyboard with Bosnian letters"
msgstr "Klawiatura US z literami bośniackimi"
-#: ../rules/base.xml.in.h:684
+#: ../rules/base.xml.in.h:689
msgid "US keyboard with Croatian digraphs"
msgstr "Klawiatura US z dwuznakami chorwacki"
-#: ../rules/base.xml.in.h:685
+#: ../rules/base.xml.in.h:690
msgid "US keyboard with Croatian letters"
msgstr "Klawiatura US z literami chorwackimi"
-#: ../rules/base.xml.in.h:686
+#: ../rules/base.xml.in.h:691
msgid "US keyboard with Estonian letters"
msgstr "Klawiatura US z literami estońskimi"
-#: ../rules/base.xml.in.h:687
+#: ../rules/base.xml.in.h:692
msgid "US keyboard with Italian letters"
msgstr "Klawiatura US z literami włoskimi"
-#: ../rules/base.xml.in.h:688
+#: ../rules/base.xml.in.h:693
msgid "US keyboard with Lithuanian letters"
msgstr "Klawiatura US z literami litewskimi"
-#: ../rules/base.xml.in.h:689
+#: ../rules/base.xml.in.h:694
msgid "US keyboard with Slovenian letters"
msgstr "Klawiatura US z literami słoweńskimi"
-#: ../rules/base.xml.in.h:690 ../rules/base.extras.xml.in.h:9
+#: ../rules/base.xml.in.h:695 ../rules/base.extras.xml.in.h:11
msgid "USA"
msgstr "USA"
-#: ../rules/base.xml.in.h:691
+#: ../rules/base.xml.in.h:696
msgid "Udmurt"
msgstr "Udmurcki"
-#: ../rules/base.xml.in.h:692
+#: ../rules/base.xml.in.h:697
msgid "Ukr"
msgstr "UKR"
-#: ../rules/base.xml.in.h:693
+#: ../rules/base.xml.in.h:698
msgid "Ukraine"
msgstr "Ukraiński"
-#: ../rules/base.xml.in.h:694
+#: ../rules/base.xml.in.h:699
msgid "Unicode additions (arrows and math operators)"
msgstr "Dodatki Unicode (strzałki i symbole matematyczne)"
-#: ../rules/base.xml.in.h:695
+#: ../rules/base.xml.in.h:700
msgid "Unicode additions (arrows and math operators). Math operators on default level"
msgstr "Dodatki Unicode (strzałki i symbole matematyczne). Symbole matematyczne na poziomie domyślnym"
-#: ../rules/base.xml.in.h:696
+#: ../rules/base.xml.in.h:701
msgid "UnicodeExpert"
msgstr "UnicodeExpert"
-#: ../rules/base.xml.in.h:697
+#: ../rules/base.xml.in.h:702
msgid "United Kingdom"
msgstr "Brytyjski"
-#: ../rules/base.xml.in.h:698
+#: ../rules/base.xml.in.h:703
msgid "Unitek KB-1925"
msgstr "Unitek KB-1925"
-#: ../rules/base.xml.in.h:699
+#: ../rules/base.xml.in.h:704
msgid "Urdu, Alternative phonetic"
msgstr "Urdu - alternatywny fonetyczny"
-#: ../rules/base.xml.in.h:700
+#: ../rules/base.xml.in.h:705
msgid "Urdu, Phonetic"
msgstr "Urdu - fonetyczny"
-#: ../rules/base.xml.in.h:701
+#: ../rules/base.xml.in.h:706
msgid "Urdu, Winkeys"
msgstr "Urdu - klawisze Win"
-#: ../rules/base.xml.in.h:702
+#: ../rules/base.xml.in.h:707
msgid "Use Bosnian digraphs"
msgstr "Używanie dwuznaków bośniackich"
-#: ../rules/base.xml.in.h:703
+#: ../rules/base.xml.in.h:708
msgid "Use Croatian digraphs"
msgstr "Używanie dwuznaków chorwackich"
-#: ../rules/base.xml.in.h:704
+#: ../rules/base.xml.in.h:709
msgid "Use guillemets for quotes"
msgstr "Używanie cudzysłowów do cytowania"
-#: ../rules/base.xml.in.h:705
+#: ../rules/base.xml.in.h:710
msgid "Use keyboard LED to show alternative layout"
msgstr "Używanie diody na klawiaturze do sygnalizacji układu alternatywnego"
-#: ../rules/base.xml.in.h:706
+#: ../rules/base.xml.in.h:711
msgid "Using space key to input non-breakable space character"
msgstr "Używanie klawisza spacji do wprowadzania znaku niełamliwej spacji"
-#: ../rules/base.xml.in.h:707
+#: ../rules/base.xml.in.h:712
msgid "Usual space at any level"
msgstr "Zwykła spacja na dowolnym poziomie"
-#: ../rules/base.xml.in.h:708
+#: ../rules/base.xml.in.h:713
msgid "Uzb"
msgstr "UZB"
-#: ../rules/base.xml.in.h:709
+#: ../rules/base.xml.in.h:714
msgid "Uzbekistan"
msgstr "Uzbecki"
-#: ../rules/base.xml.in.h:710
+#: ../rules/base.xml.in.h:715
msgid "Vietnam"
msgstr "Wietnamski"
-#: ../rules/base.xml.in.h:711
+#: ../rules/base.xml.in.h:716
msgid "ViewSonic KU-306 Internet Keyboard"
msgstr "ViewSonic KU-306 Internet Keyboard"
-#: ../rules/base.xml.in.h:712
+#: ../rules/base.xml.in.h:717
msgid "Vnm"
msgstr "VNM"
-#: ../rules/base.xml.in.h:713
+#: ../rules/base.xml.in.h:718
msgid "Wang 724 keypad with unicode additions (arrows and math operators)"
msgstr "Klawiatura numeryczna Wang 724 z dodatkami Unicode (strzałki i symbole matematyczne)"
-#: ../rules/base.xml.in.h:714
+#: ../rules/base.xml.in.h:719
msgid "Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level"
msgstr "Klawiatura numeryczna Wang 724 z dodatkami Unicode (strzałki i symbole matematyczne). Symbole matematyczne na poziomie domyślnym"
-#: ../rules/base.xml.in.h:715
+#: ../rules/base.xml.in.h:720
msgid "Wang model 724 azerty"
msgstr "Wang model 724 AZERTY"
-#: ../rules/base.xml.in.h:716
+#: ../rules/base.xml.in.h:721
msgid "Western"
msgstr "Zachodni"
-#: ../rules/base.xml.in.h:717
+#: ../rules/base.xml.in.h:722
msgid "Winbook Model XP5"
msgstr "Winbook Model XP5"
-#: ../rules/base.xml.in.h:718
+#: ../rules/base.xml.in.h:723
msgid "Winkeys"
msgstr "Klawisze Win"
-#: ../rules/base.xml.in.h:719
+#: ../rules/base.xml.in.h:724
msgid "With &lt;\\|&gt; key"
msgstr "Z klawiszem &lt;\\|&gt;"
-#: ../rules/base.xml.in.h:720
+#: ../rules/base.xml.in.h:725
msgid "With EuroSign on 5"
msgstr "Ze znakiem euro na 5"
-#: ../rules/base.xml.in.h:721
+#: ../rules/base.xml.in.h:726
msgid "With guillemets"
msgstr "Z cudzysłowami"
-#: ../rules/base.xml.in.h:722
+#: ../rules/base.xml.in.h:727
msgid "Yahoo! Internet Keyboard"
msgstr "Yahoo! Internet Keyboard"
-#: ../rules/base.xml.in.h:723
+#: ../rules/base.xml.in.h:728
msgid "Yakut"
msgstr "Jakucki"
-#: ../rules/base.xml.in.h:724
+#: ../rules/base.xml.in.h:729
msgid "Yoruba"
msgstr "Joruba"
-#: ../rules/base.xml.in.h:725
+#: ../rules/base.xml.in.h:730
msgid "Z and ZHE swapped"
msgstr "Zamienione Z i Ż"
-#: ../rules/base.xml.in.h:726
+#: ../rules/base.xml.in.h:731
msgid "Zaf"
msgstr "ZAF"
-#: ../rules/base.xml.in.h:727
+#: ../rules/base.xml.in.h:732
msgid "Zero-width non-joiner character at second level"
msgstr "Znak rozdzielający zerowej szerokości na poziomie 2."
-#: ../rules/base.xml.in.h:728
+#: ../rules/base.xml.in.h:733
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level"
msgstr "Znak rozdzielający zerowej szerokości na poziomie 2., znak niełamliwej spacji na poziomie 3."
-#: ../rules/base.xml.in.h:729
+#: ../rules/base.xml.in.h:734
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level"
msgstr "Znak rozdzielający zerowej szerokości na poziomie 2., znak niełamliwej spacji na poziomie 3., nic na poziomie 4."
-#: ../rules/base.xml.in.h:730
+#: ../rules/base.xml.in.h:735
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level"
msgstr "Znak rozdzielający zerowej szerokości na poziomie 2., znak niełamliwej spacji na poziomie 3., wąskiej niełamliwej spacji na poziomie 4."
-#: ../rules/base.xml.in.h:731
+#: ../rules/base.xml.in.h:736
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level"
msgstr "Znak rozdzielający zerowej szerokości na poziomie 2., znak niełamliwej spacji na poziomie 3., znak łączący zerowej szerokości na poziomie 4."
-#: ../rules/base.xml.in.h:732
+#: ../rules/base.xml.in.h:737
msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level"
msgstr "Znak rozdzielający zerowej szerokości na poziomie 2., znak łączący zerowej szerokości na poziomie 3."
-#: ../rules/base.xml.in.h:733
+#: ../rules/base.xml.in.h:738
msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level"
msgstr "Znak rozdzielający zerowej szerokości na poziomie 2., znak łączący zerowej szerokości na poziomie 3., znak niełamliwej spacji na poziomie 4."
-#: ../rules/base.xml.in.h:734
+#: ../rules/base.xml.in.h:739
msgid "Zero-width non-joiner character at third level, zero-width joiner at fourth level"
msgstr "Znak rozdzielający zerowej szerokości na poziomie 3., znak łączący zerowej szerokości na poziomie 4."
-#: ../rules/base.xml.in.h:735
+#: ../rules/base.xml.in.h:740
msgid "azerty"
msgstr "AZERTY"
-#: ../rules/base.xml.in.h:736
+#: ../rules/base.xml.in.h:741
msgid "azerty/digits"
msgstr "AZERTY/cyfry"
-#: ../rules/base.xml.in.h:737
+#: ../rules/base.xml.in.h:742
msgid "digits"
msgstr "cyfry"
-#: ../rules/base.xml.in.h:738
+#: ../rules/base.xml.in.h:743
msgid "displaced semicolon and quote (obsolete)"
msgstr "zamieniony średnik i apostrof (przestarzałe)"
-#: ../rules/base.xml.in.h:739
+#: ../rules/base.xml.in.h:744
msgid "lyx"
msgstr "lyx"
-#: ../rules/base.xml.in.h:740
+#: ../rules/base.xml.in.h:745
msgid "qwerty"
msgstr "QWERTY"
-#: ../rules/base.xml.in.h:741
+#: ../rules/base.xml.in.h:746
msgid "qwerty, extended Backslash"
msgstr "QWERTY, rozszerzony Backslash"
-#: ../rules/base.xml.in.h:742
+#: ../rules/base.xml.in.h:747
msgid "qwerty/digits"
msgstr "QWERTY/cyfry"
-#: ../rules/base.xml.in.h:743
+#: ../rules/base.xml.in.h:748
msgid "qwertz"
msgstr "QWERTZ"
@@ -2980,17 +3000,21 @@ msgid "Atsina"
msgstr "Atsina"
#: ../rules/base.extras.xml.in.h:3
+msgid "Avestan"
+msgstr "Awestyjski"
+
+#: ../rules/base.extras.xml.in.h:4
msgid "Combining accents instead of dead keys"
msgstr "Łączenie akcentów zamiast klawiszy akcentów"
-#: ../rules/base.extras.xml.in.h:4
+#: ../rules/base.extras.xml.in.h:5
msgid "Couer D'alene Salish"
msgstr "Couer D'alene Salish"
-#: ../rules/base.extras.xml.in.h:5
+#: ../rules/base.extras.xml.in.h:6
msgid "International (AltGr Unicode combining)"
msgstr "Międzynarodowy (łączenie Unicode z AltGr)"
-#: ../rules/base.extras.xml.in.h:6
+#: ../rules/base.extras.xml.in.h:7
msgid "International (AltGr Unicode combining, alternative)"
msgstr "Międzynarodowy (łączenie Unicode z AltGr, alternatywny)"
diff --git a/xorg-server/xkeyboard-config/po/ro.po b/xorg-server/xkeyboard-config/po/ro.po
new file mode 100644
index 000000000..e1c3a3876
--- /dev/null
+++ b/xorg-server/xkeyboard-config/po/ro.po
@@ -0,0 +1,3079 @@
+# Romanian translation for xkeyboard-config
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the xkeyboard-config package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
+# Lucian Adrian Grijincu <lucian.grijincu@gmail.com>, 2010.
+msgid ""
+msgstr ""
+"Project-Id-Version: xkeyboard-config 1.9\n"
+"Report-Msgid-Bugs-To: svu@users.sourceforge.net\n"
+"POT-Creation-Date: 2010-05-11 21:34+0100\n"
+"PO-Revision-Date: 2010-08-06 23:36+0300\n"
+"Last-Translator: Lucian Adrian Grijincu <lucian.grijincu@gmail.com>\n"
+"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ro\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2);;\n"
+"X-Generator: Virtaal 0.6.1\n"
+"X-Launchpad-Export-Date: 2010-08-06 19:56+0000\n"
+
+#: ../rules/base.xml.in.h:1
+msgid "&lt;Less/Greater&gt;"
+msgstr "&lt;Mai mic/Mai mare&gt;"
+
+#: ../rules/base.xml.in.h:2
+msgid "&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr ""
+
+#: ../rules/base.xml.in.h:3
+msgid "&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr ""
+
+#: ../rules/base.xml.in.h:4
+msgid "(F)"
+msgstr "(F)"
+
+#: ../rules/base.xml.in.h:5
+msgid "(Legacy) Alternative"
+msgstr "(Moștenire) Alternativ"
+
+#: ../rules/base.xml.in.h:6
+msgid "(Legacy) Alternative, Sun dead keys"
+msgstr "(Moștenire) Alternativ, taste învechite de la Sun"
+
+#: ../rules/base.xml.in.h:7
+msgid "(Legacy) Alternative, eliminate dead keys"
+msgstr "(Moștenire) Alternative, elimină tastele învechite"
+
+#: ../rules/base.xml.in.h:8
+msgid "101/104 key Compatible"
+msgstr "Compatibil cu tasta 101/104"
+
+#: ../rules/base.xml.in.h:9
+msgid "101/qwerty/comma/Dead keys"
+msgstr "101/qwerty/virgulă/Taste moarte"
+
+#: ../rules/base.xml.in.h:10
+msgid "101/qwerty/comma/Eliminate dead keys"
+msgstr "101/qwerty/virgulă/Elimină tastele moarte"
+
+#: ../rules/base.xml.in.h:11
+msgid "101/qwerty/dot/Dead keys"
+msgstr "101/qwerty/punct/Taste moarte"
+
+#: ../rules/base.xml.in.h:12
+msgid "101/qwerty/dot/Eliminate dead keys"
+msgstr "101/qwerty/punct/Elimină tastele moarte"
+
+#: ../rules/base.xml.in.h:13
+msgid "101/qwertz/comma/Dead keys"
+msgstr "101/qwertz/virgulă/Taste moarte"
+
+#: ../rules/base.xml.in.h:14
+msgid "101/qwertz/comma/Eliminate dead keys"
+msgstr "101/qwertz/virgulă/Elimină tastele moarte"
+
+#: ../rules/base.xml.in.h:15
+msgid "101/qwertz/dot/Dead keys"
+msgstr "101/qwertz/punct/Taste moarte"
+
+#: ../rules/base.xml.in.h:16
+msgid "101/qwertz/dot/Eliminate dead keys"
+msgstr "101/qwertz/punct/Elimină tastele moarte"
+
+#: ../rules/base.xml.in.h:17
+msgid "102/qwerty/comma/Dead keys"
+msgstr "102/qwerty/virgulă/Taste moarte"
+
+#: ../rules/base.xml.in.h:18
+msgid "102/qwerty/comma/Eliminate dead keys"
+msgstr "102/qwerty/virgulă/Elimină tastele moarte"
+
+#: ../rules/base.xml.in.h:19
+msgid "102/qwerty/dot/Dead keys"
+msgstr "102/qwerty/punct/Taste moarte"
+
+#: ../rules/base.xml.in.h:20
+msgid "102/qwerty/dot/Eliminate dead keys"
+msgstr "102/qwerty/punct/Elimină tastele moarte"
+
+#: ../rules/base.xml.in.h:21
+msgid "102/qwertz/comma/Dead keys"
+msgstr "102/qwertz/virgulă/Taste moarte"
+
+#: ../rules/base.xml.in.h:22
+msgid "102/qwertz/comma/Eliminate dead keys"
+msgstr "102/qwertz/virgulă/Elimină tastele moarte"
+
+#: ../rules/base.xml.in.h:23
+msgid "102/qwertz/dot/Dead keys"
+msgstr "102/qwertz/punct/Taste moarte"
+
+#: ../rules/base.xml.in.h:24
+msgid "102/qwertz/dot/Eliminate dead keys"
+msgstr "102/qwertz/punct/Elimină tastele moarte"
+
+#: ../rules/base.xml.in.h:25
+msgid "2"
+msgstr "2"
+
+#: ../rules/base.xml.in.h:26
+msgid "4"
+msgstr "4"
+
+#: ../rules/base.xml.in.h:27
+msgid "5"
+msgstr "5"
+
+#: ../rules/base.xml.in.h:28
+msgid "A4Tech KB-21"
+msgstr "A4Tech KB-21"
+
+#: ../rules/base.xml.in.h:29
+msgid "A4Tech KBS-8"
+msgstr "A4Tech KBS-8"
+
+#: ../rules/base.xml.in.h:30
+msgid "A4Tech Wireless Desktop RFKB-23"
+msgstr "A4Tech Wireless Desktop RFKB-23"
+
+#: ../rules/base.xml.in.h:31
+msgid "ATM/phone-style"
+msgstr "ATM/phone-style"
+
+#: ../rules/base.xml.in.h:32
+msgid "Acer AirKey V"
+msgstr "Acer AirKey V"
+
+#: ../rules/base.xml.in.h:33
+msgid "Acer C300"
+msgstr "Acer C300"
+
+#: ../rules/base.xml.in.h:34
+msgid "Acer Ferrari 4000"
+msgstr "Acer Ferrari 4000"
+
+#: ../rules/base.xml.in.h:35
+msgid "Acer Laptop"
+msgstr "Laptop Acer"
+
+#: ../rules/base.xml.in.h:36
+msgid "Add the standard behavior to Menu key"
+msgstr "Adaugă comportamentul standard la tasta Meniu"
+
+#: ../rules/base.xml.in.h:37
+msgid "Adding Esperanto circumflexes (supersigno)"
+msgstr "Adăugare circumflexe esperanto (supersigno)"
+
+#: ../rules/base.xml.in.h:38
+msgid "Adding EuroSign to certain keys"
+msgstr "Adăugare Semn Euro la anumite taste"
+
+#: ../rules/base.xml.in.h:39
+msgid "Advance Scorpius KI"
+msgstr "Advance Scorpius KI"
+
+#: ../rules/base.xml.in.h:40
+msgid "Afg"
+msgstr "Afg"
+
+#: ../rules/base.xml.in.h:41
+msgid "Afghanistan"
+msgstr "Afganistan"
+
+#: ../rules/base.xml.in.h:42
+msgid "Akan"
+msgstr "Akană"
+
+#: ../rules/base.xml.in.h:43
+msgid "Alb"
+msgstr "Alb"
+
+#: ../rules/base.xml.in.h:44
+msgid "Albania"
+msgstr "Albania"
+
+#: ../rules/base.xml.in.h:45
+msgid "Alt and Meta are on Alt keys"
+msgstr "Alt și Meta sunt pe tastele Alt"
+
+#: ../rules/base.xml.in.h:46
+msgid "Alt is mapped to Right Win, Super to Menu"
+msgstr "Alt e mapat la tasta Win stângă, Super la Meniu"
+
+#: ../rules/base.xml.in.h:47
+msgid "Alt+CapsLock"
+msgstr "Alt+CapsLock"
+
+#: ../rules/base.xml.in.h:48
+msgid "Alt+Ctrl"
+msgstr "Alt+Ctrl"
+
+#: ../rules/base.xml.in.h:49
+msgid "Alt+Shift"
+msgstr "Alt+Shift"
+
+#: ../rules/base.xml.in.h:50
+msgid "Alt+Space"
+msgstr "Alt+Spațiu"
+
+#: ../rules/base.xml.in.h:51
+msgid "Alt-Q"
+msgstr "Alt-Q"
+
+#: ../rules/base.xml.in.h:52
+msgid "Alt/Win key behavior"
+msgstr "Comportamentul tastelor Alt/Win"
+
+#: ../rules/base.xml.in.h:53
+msgid "Alternative"
+msgstr "Alternativ"
+
+#: ../rules/base.xml.in.h:54
+msgid "Alternative Eastern"
+msgstr "Alternativ estic"
+
+#: ../rules/base.xml.in.h:55
+msgid "Alternative Phonetic"
+msgstr "Alternativ fonetic"
+
+#: ../rules/base.xml.in.h:56
+msgid "Alternative international"
+msgstr "Alternativ internațională"
+
+#: ../rules/base.xml.in.h:57
+msgid "Alternative, Sun dead keys"
+msgstr "Alternativ, taste moarte Sun"
+
+#: ../rules/base.xml.in.h:58
+msgid "Alternative, eliminate dead keys"
+msgstr "Alternativ, elimină tastele moarte"
+
+#: ../rules/base.xml.in.h:59
+msgid "Alternative, latin-9 only"
+msgstr "Alternativ, doar latin-9"
+
+#: ../rules/base.xml.in.h:60
+msgid "And"
+msgstr "And"
+
+#: ../rules/base.xml.in.h:61
+msgid "Andorra"
+msgstr "Andora"
+
+#: ../rules/base.xml.in.h:62
+msgid "Any Alt key"
+msgstr "Oricare tastă Alt"
+
+#: ../rules/base.xml.in.h:63
+msgid "Any Win key"
+msgstr "Oricare tastă Win"
+
+#: ../rules/base.xml.in.h:64
+msgid "Any Win key (while pressed)"
+msgstr "Oricare tastă Win (cât timp e apăsată)"
+
+#: ../rules/base.xml.in.h:65
+msgid "Apostrophe (') variant"
+msgstr "Variantă apostrof (')"
+
+#: ../rules/base.xml.in.h:66
+msgid "Apple"
+msgstr "Apple"
+
+#: ../rules/base.xml.in.h:67
+msgid "Apple Aluminium Keyboard (ANSI)"
+msgstr "Tastatură Apple Aluminium (ANSI)"
+
+#: ../rules/base.xml.in.h:68
+msgid "Apple Aluminium Keyboard (ISO)"
+msgstr "Tastatură Apple Aluminium (ISO)"
+
+#: ../rules/base.xml.in.h:69
+msgid "Apple Aluminium Keyboard (JIS)"
+msgstr "Tastatură Apple Aluminium (JIS)"
+
+#: ../rules/base.xml.in.h:70
+msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll_Lock, Pause, NumLock)"
+msgstr ""
+
+#: ../rules/base.xml.in.h:71
+msgid "Apple Laptop"
+msgstr "Laptop Apple"
+
+#: ../rules/base.xml.in.h:72
+msgid "Ara"
+msgstr "Ara"
+
+#: ../rules/base.xml.in.h:73
+msgid "Arabic"
+msgstr "Arabă"
+
+#: ../rules/base.xml.in.h:74
+msgid "Arm"
+msgstr "Arm"
+
+#: ../rules/base.xml.in.h:75
+msgid "Armenia"
+msgstr "Armenia"
+
+#: ../rules/base.xml.in.h:76
+msgid "Asturian variant with bottom-dot H and bottom-dot L"
+msgstr "Varianta asturiană cu punct sub H și sub L"
+
+#: ../rules/base.xml.in.h:77
+msgid "Asus Laptop"
+msgstr "Laptop Asus"
+
+#: ../rules/base.xml.in.h:78
+msgid "At bottom left"
+msgstr "În stânga jos"
+
+#: ../rules/base.xml.in.h:79
+msgid "At left of 'A'"
+msgstr "La stânga lui „A”"
+
+#: ../rules/base.xml.in.h:80
+msgid "Avatime"
+msgstr "Avatime"
+
+#: ../rules/base.xml.in.h:81
+msgid "Aze"
+msgstr "Aze"
+
+#: ../rules/base.xml.in.h:82
+msgid "Azerbaijan"
+msgstr "Azerbaijan"
+
+#: ../rules/base.xml.in.h:83
+msgid "Azona RF2300 wireless Internet Keyboard"
+msgstr "Tastatură internațională fără fir Azona RF2300"
+
+#: ../rules/base.xml.in.h:84
+msgid "BTC 5090"
+msgstr "BTC 5090"
+
+#: ../rules/base.xml.in.h:85
+msgid "BTC 5113RF Multimedia"
+msgstr "BTC 5113RF Multimedia"
+
+#: ../rules/base.xml.in.h:86
+msgid "BTC 5126T"
+msgstr "BTC 5126T"
+
+#: ../rules/base.xml.in.h:87
+msgid "BTC 6301URF"
+msgstr "BTC 6301URF"
+
+#: ../rules/base.xml.in.h:88
+msgid "BTC 9000"
+msgstr "BTC 9000"
+
+#: ../rules/base.xml.in.h:89
+msgid "BTC 9000A"
+msgstr "BTC 9000A"
+
+#: ../rules/base.xml.in.h:90
+msgid "BTC 9001AH"
+msgstr "BTC 9001AH"
+
+#: ../rules/base.xml.in.h:91
+msgid "BTC 9019U"
+msgstr "BTC 9019U"
+
+#: ../rules/base.xml.in.h:92
+msgid "BTC 9116U Mini Wireless Internet and Gaming"
+msgstr "BTC 9116U Mini fără fir, pentru Internet și jocuri"
+
+#: ../rules/base.xml.in.h:93
+msgid "Backslash"
+msgstr ""
+
+#: ../rules/base.xml.in.h:94
+msgid "Bangladesh"
+msgstr "Bangladeș"
+
+#: ../rules/base.xml.in.h:95
+msgid "Bashkirian"
+msgstr "Bashkirian"
+
+#: ../rules/base.xml.in.h:96
+msgid "Bel"
+msgstr "Bel"
+
+#: ../rules/base.xml.in.h:97
+msgid "Belarus"
+msgstr "Belarus"
+
+#: ../rules/base.xml.in.h:98
+msgid "Belgium"
+msgstr "Belgia"
+
+#: ../rules/base.xml.in.h:99
+msgid "BenQ X-Touch"
+msgstr "BenQ X-Touch"
+
+#: ../rules/base.xml.in.h:100
+msgid "BenQ X-Touch 730"
+msgstr "BenQ X-Touch 730"
+
+#: ../rules/base.xml.in.h:101
+msgid "BenQ X-Touch 800"
+msgstr "BenQ X-Touch 800"
+
+#: ../rules/base.xml.in.h:102
+msgid "Bengali"
+msgstr "Bengaleză"
+
+#: ../rules/base.xml.in.h:103
+msgid "Bengali Probhat"
+msgstr "Bengaleză Probhat"
+
+#: ../rules/base.xml.in.h:104
+msgid "Bepo, ergonomic, Dvorak way"
+msgstr "Bepo, ergonomică, în mod Dvorak"
+
+#: ../rules/base.xml.in.h:105
+msgid "Bepo, ergonomic, Dvorak way, latin-9 only"
+msgstr "Bepo, ergonomică, în mod Dvorak, doar latin-9"
+
+#: ../rules/base.xml.in.h:106
+msgid "Bgd"
+msgstr "Bgd"
+
+#: ../rules/base.xml.in.h:107
+msgid "Bgr"
+msgstr "Bgr"
+
+#: ../rules/base.xml.in.h:108
+msgid "Bhutan"
+msgstr "Butan"
+
+#: ../rules/base.xml.in.h:109
+msgid "Biblical Hebrew (Tiro)"
+msgstr "Ebraică biblică (Tiro)"
+
+#: ../rules/base.xml.in.h:110
+msgid "Bih"
+msgstr "Bih"
+
+#: ../rules/base.xml.in.h:111
+msgid "Blr"
+msgstr "Blr"
+
+#: ../rules/base.xml.in.h:112
+msgid "Bosnia and Herzegovina"
+msgstr "Bosnia și Herțegovina"
+
+#: ../rules/base.xml.in.h:113
+msgid "Both Alt keys together"
+msgstr "Ambele taste Alt în același timp"
+
+#: ../rules/base.xml.in.h:114
+msgid "Both Ctrl keys together"
+msgstr "Ambele taste Ctrl în același timp"
+
+#: ../rules/base.xml.in.h:115
+msgid "Both Shift keys together"
+msgstr "Ambele taste Shift în același timp"
+
+#: ../rules/base.xml.in.h:116
+msgid "Both Shift-Keys together toggle CapsLock"
+msgstr "Ambele taste Shift în același timp comută CapsLock"
+
+#: ../rules/base.xml.in.h:117
+msgid "Botswana"
+msgstr "Botsuana"
+
+#: ../rules/base.xml.in.h:118
+msgid "Bra"
+msgstr "Bra"
+
+#: ../rules/base.xml.in.h:119
+msgid "Braille"
+msgstr "Braille"
+
+#: ../rules/base.xml.in.h:120
+msgid "Brazil"
+msgstr "Brazilia"
+
+#: ../rules/base.xml.in.h:121
+msgid "Breton"
+msgstr "Bretonă"
+
+#: ../rules/base.xml.in.h:122
+msgid "Brl"
+msgstr "Brl"
+
+#: ../rules/base.xml.in.h:123
+msgid "Brother Internet Keyboard"
+msgstr "Tastatură Brother Internet"
+
+#: ../rules/base.xml.in.h:124
+msgid "Btn"
+msgstr "Btn"
+
+#: ../rules/base.xml.in.h:125
+msgid "Buckwalter"
+msgstr "Buckwalter"
+
+#: ../rules/base.xml.in.h:126
+msgid "Bulgaria"
+msgstr "Bulgaria"
+
+#: ../rules/base.xml.in.h:127
+msgid "Bwa"
+msgstr "Bwa"
+
+#: ../rules/base.xml.in.h:128
+msgid "COD"
+msgstr "COD"
+
+#: ../rules/base.xml.in.h:129
+msgid "CRULP"
+msgstr "CRULP"
+
+#: ../rules/base.xml.in.h:130
+msgid "Cambodia"
+msgstr "Cambodgia"
+
+#: ../rules/base.xml.in.h:131
+msgid "Can"
+msgstr "Can"
+
+#: ../rules/base.xml.in.h:132
+msgid "Canada"
+msgstr "Canada"
+
+#: ../rules/base.xml.in.h:133
+msgid "CapsLock"
+msgstr "CapsLock"
+
+#: ../rules/base.xml.in.h:134
+msgid "CapsLock (to first layout), Shift+CapsLock (to last layout)"
+msgstr "CapsLock (la primul aranjament), Shift+CapsLock (la ultimul aranjament)"
+
+#: ../rules/base.xml.in.h:135
+msgid "CapsLock (while pressed), Alt+CapsLock does the original capslock action"
+msgstr "CapsLock (cât timp e apăsat), Alt+CapsLock execută aceeași acțiune CapsLock"
+
+#: ../rules/base.xml.in.h:136
+msgid "CapsLock acts as Shift with locking. Shift \"pauses\" CapsLock"
+msgstr "CapsLock funcționează ca și Shift cu blocare. Shift „întrerupe” temporar CapsLock"
+
+#: ../rules/base.xml.in.h:137
+msgid "CapsLock acts as Shift with locking. Shift doesn't affect CapsLock"
+msgstr "CapsLock funcționează ca și Shift la blocare. Shift nu afectează CapsLock"
+
+#: ../rules/base.xml.in.h:138
+msgid "CapsLock is disabled"
+msgstr "CapsLock este dezactivat"
+
+#: ../rules/base.xml.in.h:139
+msgid "CapsLock key behavior"
+msgstr "Comportamentul tastei Caps Lock"
+
+#: ../rules/base.xml.in.h:140
+msgid "CapsLock toggles Shift so all keys are affected"
+msgstr "CapsLock comută Shift astfel încât toate tastele sunt afectate"
+
+#: ../rules/base.xml.in.h:141
+msgid "CapsLock toggles normal capitalization of alphabetic characters"
+msgstr "CapsLock comută capitalizarea normală a tuturor caracterelor alfa-numerice."
+
+#: ../rules/base.xml.in.h:142
+msgid "CapsLock uses internal capitalization. Shift \"pauses\" CapsLock"
+msgstr "CapsLock utilizează capitalizarea internă. Shift „întrerupe” temporar CapsLock"
+
+#: ../rules/base.xml.in.h:143
+msgid "CapsLock uses internal capitalization. Shift doesn't affect CapsLock"
+msgstr "CapsLock utilizează capitalizarea internă. Shift nu afectează CapsLock"
+
+#: ../rules/base.xml.in.h:144
+msgid "Catalan variant with middle-dot L"
+msgstr "Varianta catalană cu L cu punct în mijloc"
+
+#: ../rules/base.xml.in.h:145
+msgid "Cedilla"
+msgstr "Sedilă"
+
+#: ../rules/base.xml.in.h:146
+msgid "Che"
+msgstr "Che"
+
+#: ../rules/base.xml.in.h:147
+msgid "Cherokee"
+msgstr "Cherokee"
+
+#: ../rules/base.xml.in.h:148
+msgid "Cherry B.UNLIMITED"
+msgstr "Cherry B.UNLIMITED"
+
+#: ../rules/base.xml.in.h:149
+msgid "Cherry Blue Line CyBo@rd"
+msgstr "Cherry Blue Line CyBo@rd"
+
+#: ../rules/base.xml.in.h:150
+msgid "Cherry Blue Line CyBo@rd (alternate option)"
+msgstr "Cherry Blue Line CyBo@rd (opțiune alternativă)"
+
+#: ../rules/base.xml.in.h:151
+msgid "Cherry CyBo@rd USB-Hub"
+msgstr "Cherry CyBo@rd USB-Hub"
+
+#: ../rules/base.xml.in.h:152
+msgid "Cherry CyMotion Expert"
+msgstr "Cherry CyMotion Expert"
+
+#: ../rules/base.xml.in.h:153
+msgid "Cherry CyMotion Master Linux"
+msgstr "Cherry CyMotion Master Linux"
+
+#: ../rules/base.xml.in.h:154
+msgid "Cherry CyMotion Master XPress"
+msgstr "Cherry CyMotion Master XPress"
+
+#: ../rules/base.xml.in.h:155
+msgid "Chicony Internet Keyboard"
+msgstr "Tastatură Chicony Internet"
+
+#: ../rules/base.xml.in.h:156
+msgid "Chicony KB-9885"
+msgstr "Chicony KB-9885"
+
+#: ../rules/base.xml.in.h:157
+msgid "Chicony KU-0108"
+msgstr "Chicony KU-0108"
+
+#: ../rules/base.xml.in.h:158
+msgid "Chicony KU-0420"
+msgstr "Chicony KU-0420"
+
+#: ../rules/base.xml.in.h:159
+msgid "China"
+msgstr "China"
+
+#: ../rules/base.xml.in.h:160
+msgid "Chn"
+msgstr "Chn"
+
+#: ../rules/base.xml.in.h:161
+msgid "Chuvash"
+msgstr "Ciuvașă"
+
+#: ../rules/base.xml.in.h:162
+msgid "Chuvash Latin"
+msgstr "Ciuvașă latină"
+
+#: ../rules/base.xml.in.h:163
+msgid "Classic"
+msgstr "Clasică"
+
+#: ../rules/base.xml.in.h:164
+msgid "Classic Dvorak"
+msgstr "Dvorak clasică"
+
+#: ../rules/base.xml.in.h:165
+msgid "Classic, eliminate dead keys"
+msgstr "Clasică, elimină tastele moarte"
+
+#: ../rules/base.xml.in.h:166
+msgid "Classmate PC"
+msgstr "Classmate PC"
+
+#: ../rules/base.xml.in.h:167
+msgid "CloGaelach"
+msgstr "CloGaelach"
+
+#: ../rules/base.xml.in.h:168
+msgid "Colemak"
+msgstr "Colemak"
+
+#: ../rules/base.xml.in.h:169
+msgid "Compaq Easy Access Keyboard"
+msgstr "Tastatură cu acces facil Compaq"
+
+#: ../rules/base.xml.in.h:170
+msgid "Compaq Internet Keyboard (13 keys)"
+msgstr "Tastatură Compaq Internet (13 taste)"
+
+#: ../rules/base.xml.in.h:171
+msgid "Compaq Internet Keyboard (18 keys)"
+msgstr "Tastatură Compaq Internet (18 taste)"
+
+#: ../rules/base.xml.in.h:172
+msgid "Compaq Internet Keyboard (7 keys)"
+msgstr "Tastatură Compaq Internet (7 taste)"
+
+#: ../rules/base.xml.in.h:173
+msgid "Compaq iPaq Keyboard"
+msgstr "Tastatură Compaq iPaq"
+
+#: ../rules/base.xml.in.h:174
+msgid "Compose key position"
+msgstr "Poziție tastă de compunere"
+
+#: ../rules/base.xml.in.h:175
+msgid "Congo, Democratic Republic of the"
+msgstr "Republica democrată Congo"
+
+#: ../rules/base.xml.in.h:176
+msgid "Control + Alt + Backspace"
+msgstr "Control + Alt + Backspace"
+
+#: ../rules/base.xml.in.h:177
+msgid "Control is mapped to Alt keys, Alt is mapped to Win keys"
+msgstr "Control este mapat la tastele Alt, Alt e mapat la tastele Win"
+
+#: ../rules/base.xml.in.h:178
+msgid "Control is mapped to Win keys (and the usual Ctrl keys)"
+msgstr "Control este mapat la tastele Win (și tastele Ctrl obișnuite)"
+
+#: ../rules/base.xml.in.h:179
+msgid "Creative Desktop Wireless 7000"
+msgstr "Creative Desktop Wireless 7000"
+
+#: ../rules/base.xml.in.h:180
+msgid "Crimean Tatar (Dobruca-1 Q)"
+msgstr "Tătară din Crimea (Dobruca-1 Q)"
+
+#: ../rules/base.xml.in.h:181
+msgid "Crimean Tatar (Dobruca-2 Q)"
+msgstr "Tătară din Crimea (Dobruca-2 Q)"
+
+#: ../rules/base.xml.in.h:182
+msgid "Crimean Tatar (Turkish Alt-Q)"
+msgstr "Tătară din Crimea (Alt-Q turcesc)"
+
+#: ../rules/base.xml.in.h:183
+msgid "Crimean Tatar (Turkish F)"
+msgstr "Tătară din Crimea (F turcesc)"
+
+#: ../rules/base.xml.in.h:184
+msgid "Crimean Tatar (Turkish Q)"
+msgstr "Tătară din Crimea (Q turcesc)"
+
+#: ../rules/base.xml.in.h:185
+msgid "Croatia"
+msgstr "Croația"
+
+#: ../rules/base.xml.in.h:186
+msgid "Ctrl key position"
+msgstr "Poziția tastei Ctrl"
+
+#: ../rules/base.xml.in.h:187
+msgid "Ctrl+Shift"
+msgstr "Ctrl+Shift"
+
+#: ../rules/base.xml.in.h:188
+msgid "Cyrillic"
+msgstr "Chirilică"
+
+#: ../rules/base.xml.in.h:189
+msgid "Cyrillic with guillemets"
+msgstr "Chirilică cu ghilimele franceze"
+
+#: ../rules/base.xml.in.h:190
+msgid "Cyrillic, Z and ZHE swapped"
+msgstr "Chirilică, Z și ZHE interschimbate"
+
+#: ../rules/base.xml.in.h:191
+msgid "Cze"
+msgstr "Cze"
+
+#: ../rules/base.xml.in.h:192
+msgid "Czechia"
+msgstr "Cehia"
+
+#: ../rules/base.xml.in.h:193
+msgid "DOS"
+msgstr "DOS"
+
+#: ../rules/base.xml.in.h:194
+msgid "DTK2000"
+msgstr "DTK2000"
+
+#: ../rules/base.xml.in.h:195
+msgid "Dead acute"
+msgstr "Accent ascuțit mort"
+
+#: ../rules/base.xml.in.h:196
+msgid "Dead grave acute"
+msgstr "Accent grav mort"
+
+#: ../rules/base.xml.in.h:197
+msgid "Default numeric keypad keys"
+msgstr "Taste implicite de la tastatura numerică"
+
+#: ../rules/base.xml.in.h:198
+msgid "Dell"
+msgstr "Dell"
+
+#: ../rules/base.xml.in.h:199
+msgid "Dell 101-key PC"
+msgstr "Dell 101 taste PC"
+
+#: ../rules/base.xml.in.h:200
+msgid "Dell Laptop/notebook Inspiron 6xxx/8xxx"
+msgstr "Laptop/notebook Dell Inspiron 6xxx/8xxx"
+
+#: ../rules/base.xml.in.h:201
+msgid "Dell Laptop/notebook Precision M series"
+msgstr "Laptop/notebook Dell seria Precision M"
+
+#: ../rules/base.xml.in.h:202
+msgid "Dell Latitude series laptop"
+msgstr "Laptop seria Dell Latitude"
+
+#: ../rules/base.xml.in.h:203
+msgid "Dell Precision M65"
+msgstr "Dell Precision M65"
+
+#: ../rules/base.xml.in.h:204
+msgid "Dell SK-8125"
+msgstr "Dell SK-8125"
+
+#: ../rules/base.xml.in.h:205
+msgid "Dell SK-8135"
+msgstr "Dell SK-8135"
+
+#: ../rules/base.xml.in.h:206
+msgid "Dell USB Multimedia Keyboard"
+msgstr "Tastatură multimedia Dell USB"
+
+#: ../rules/base.xml.in.h:207
+msgid "Denmark"
+msgstr "Danemarca"
+
+#: ../rules/base.xml.in.h:208
+msgid "Deu"
+msgstr "Deu"
+
+#: ../rules/base.xml.in.h:209
+msgid "Dexxa Wireless Desktop Keyboard"
+msgstr "Tastatură Dexxa Wireless Desktop"
+
+#: ../rules/base.xml.in.h:210
+msgid "Diamond 9801 / 9802 series"
+msgstr "Seria Diamond 9801 / 9802"
+
+#: ../rules/base.xml.in.h:211
+msgid "Dnk"
+msgstr "Dnk"
+
+#: ../rules/base.xml.in.h:212
+msgid "Dvorak"
+msgstr "Dvorak"
+
+#: ../rules/base.xml.in.h:213
+msgid "Dvorak (UK Punctuation)"
+msgstr "Dvorak (punctuație britanică)"
+
+#: ../rules/base.xml.in.h:214
+msgid "Dvorak alternative international (no dead keys)"
+msgstr "Dvorak alternativă internațională (fără taste moarte)"
+
+#: ../rules/base.xml.in.h:215
+msgid "Dvorak international (with dead keys)"
+msgstr ""
+
+#: ../rules/base.xml.in.h:216
+msgid "Dvorak, Polish quotes on key 1"
+msgstr "Dvorak, citate poloneze pe tasta 1"
+
+#: ../rules/base.xml.in.h:217
+msgid "Dvorak, Polish quotes on quotemark key"
+msgstr "Dvorak, citate poloneze pe tasta de ghilimele inversate"
+
+#: ../rules/base.xml.in.h:218
+msgid "E"
+msgstr "E"
+
+#: ../rules/base.xml.in.h:219
+msgid "Eastern"
+msgstr "Estică"
+
+#: ../rules/base.xml.in.h:220
+msgid "Eliminate dead keys"
+msgstr "Elimină tastele moarte"
+
+#: ../rules/base.xml.in.h:221
+msgid "Enable extra typographic characters"
+msgstr "Activează caracterele tipografice adiționale"
+
+#: ../rules/base.xml.in.h:222
+msgid "English"
+msgstr "Engleză"
+
+#: ../rules/base.xml.in.h:223
+msgid "English (USA International)"
+msgstr "Engleză (USA Internațional)"
+
+#: ../rules/base.xml.in.h:224
+msgid "English (USA Macintosh)"
+msgstr "Engleză (USA Macintosh)"
+
+#: ../rules/base.xml.in.h:225
+msgid "Ennyah DKB-1008"
+msgstr "Ennyah DKB-1008"
+
+#: ../rules/base.xml.in.h:226
+msgid "Enter on keypad"
+msgstr "Enter de pe tastatura numerică"
+
+#: ../rules/base.xml.in.h:227
+msgid "Epo"
+msgstr "Epo"
+
+#: ../rules/base.xml.in.h:228
+msgid "Ergonomic"
+msgstr "Ergonomică"
+
+#: ../rules/base.xml.in.h:229
+msgid "Esp"
+msgstr "Esp"
+
+#: ../rules/base.xml.in.h:230
+msgid "Esperanto"
+msgstr "Esperanto"
+
+#: ../rules/base.xml.in.h:231
+msgid "Est"
+msgstr "Est"
+
+#: ../rules/base.xml.in.h:232
+msgid "Estonia"
+msgstr "Estonia"
+
+#: ../rules/base.xml.in.h:233
+msgid "Eth"
+msgstr "Eti"
+
+#: ../rules/base.xml.in.h:234
+msgid "Ethiopia"
+msgstr "Etiopia"
+
+#: ../rules/base.xml.in.h:235
+msgid "Everex STEPnote"
+msgstr "Everex STEPnote"
+
+#: ../rules/base.xml.in.h:236
+msgid "Ewe"
+msgstr "Ewe"
+
+#: ../rules/base.xml.in.h:237
+msgid "Extended"
+msgstr "Extinsă"
+
+#: ../rules/base.xml.in.h:238
+msgid "Extended - Winkeys"
+msgstr "Extentins - Winkeys"
+
+#: ../rules/base.xml.in.h:239
+msgid "Extended Backslash"
+msgstr "Backslash extins"
+
+#: ../rules/base.xml.in.h:240
+msgid "F-letter (F) variant"
+msgstr "Varianta litera-F (F)"
+
+#: ../rules/base.xml.in.h:241
+msgid "FL90"
+msgstr "FL90"
+
+#: ../rules/base.xml.in.h:242
+msgid "Faroe Islands"
+msgstr "Insulele Feroe"
+
+#: ../rules/base.xml.in.h:243
+msgid "Fin"
+msgstr "Fin"
+
+#: ../rules/base.xml.in.h:244
+msgid "Finland"
+msgstr "Finlanda"
+
+#. This assumes the KP_ abstract symbols are actually useful for some apps
+#. The description needs to be rewritten
+#: ../rules/base.xml.in.h:247
+msgid "Four-level key with abstract separators"
+msgstr "Tastă de nivelul patru cu separatori abstracți"
+
+#: ../rules/base.xml.in.h:248
+msgid "Four-level key with comma"
+msgstr "Tastă de nivelul patru cu virgulă"
+
+#: ../rules/base.xml.in.h:249
+msgid "Four-level key with dot"
+msgstr "Tastă de nivelul patru cu punct"
+
+#: ../rules/base.xml.in.h:250
+msgid "Four-level key with dot, latin-9 restriction"
+msgstr "Tastă de nivelul patru cu punct, restricție latin-9"
+
+#: ../rules/base.xml.in.h:251
+msgid "Four-level key with momayyez"
+msgstr "Tastă de nivelul patru cu momayyez"
+
+#: ../rules/base.xml.in.h:252
+msgid "Fra"
+msgstr "Fra"
+
+#: ../rules/base.xml.in.h:253
+msgid "France"
+msgstr "Franța"
+
+#: ../rules/base.xml.in.h:254
+msgid "Français (France Alternative)"
+msgstr "Franceză (France Alternative)"
+
+#: ../rules/base.xml.in.h:255
+msgid "French"
+msgstr "Franceză"
+
+#: ../rules/base.xml.in.h:256
+msgid "French (Macintosh)"
+msgstr "Franceză (Macintosh)"
+
+#: ../rules/base.xml.in.h:257
+msgid "French (legacy)"
+msgstr "Franceză (moștenire)"
+
+#: ../rules/base.xml.in.h:258
+msgid "French Dvorak"
+msgstr "Dvorak franceză"
+
+#: ../rules/base.xml.in.h:259
+msgid "French, Sun dead keys"
+msgstr "Franceză, taste moarte Sun"
+
+#: ../rules/base.xml.in.h:260
+msgid "French, eliminate dead keys"
+msgstr "Franceză, elimină tastele moarte"
+
+#: ../rules/base.xml.in.h:261
+msgid "Fro"
+msgstr ""
+
+#: ../rules/base.xml.in.h:262
+msgid "Fujitsu-Siemens Computers AMILO laptop"
+msgstr "Laptop Fujitsu-Siemens Computers AMILO"
+
+#: ../rules/base.xml.in.h:263
+msgid "Fula"
+msgstr "Fula"
+
+#: ../rules/base.xml.in.h:264
+msgid "GBr"
+msgstr "MBr"
+
+#: ../rules/base.xml.in.h:265
+msgid "GILLBT"
+msgstr ""
+
+#: ../rules/base.xml.in.h:266
+msgid "Ga"
+msgstr "Ga"
+
+#: ../rules/base.xml.in.h:267
+msgid "Generic 101-key PC"
+msgstr "PC 101 taste, generică"
+
+#: ../rules/base.xml.in.h:268
+msgid "Generic 102-key (Intl) PC"
+msgstr "PC 102 taste, generică (Intl)"
+
+#: ../rules/base.xml.in.h:269
+msgid "Generic 104-key PC"
+msgstr "PC 104 taste, generică"
+
+#: ../rules/base.xml.in.h:270
+msgid "Generic 105-key (Intl) PC"
+msgstr "PC 105 taste, generică (Intl)"
+
+#: ../rules/base.xml.in.h:271
+msgid "Genius Comfy KB-12e"
+msgstr "Genius Comfy KB-12e"
+
+#: ../rules/base.xml.in.h:272
+msgid "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
+msgstr "Tastatură Genius Comfy KB-16M / Genius MM KWD-910"
+
+#: ../rules/base.xml.in.h:273
+msgid "Genius Comfy KB-21e-Scroll"
+msgstr "Genius Comfy KB-21e-Scroll"
+
+#: ../rules/base.xml.in.h:274
+msgid "Genius KB-19e NB"
+msgstr "Genius KB-19e NB"
+
+#: ../rules/base.xml.in.h:275
+msgid "Genius KKB-2050HS"
+msgstr "Genius KKB-2050HS"
+
+#: ../rules/base.xml.in.h:276
+msgid "Geo"
+msgstr "Geo"
+
+#: ../rules/base.xml.in.h:277
+msgid "Georgia"
+msgstr "Georgia"
+
+#: ../rules/base.xml.in.h:278
+msgid "Georgian"
+msgstr "Georgiană"
+
+#: ../rules/base.xml.in.h:279
+msgid "Georgian AZERTY Tskapo"
+msgstr "Georgiană AZERTY Tskapo"
+
+#: ../rules/base.xml.in.h:280
+msgid "German (Macintosh)"
+msgstr "Germană (Macintosh)"
+
+#: ../rules/base.xml.in.h:281
+msgid "German, Sun dead keys"
+msgstr "Germană, taste moarte Sun"
+
+#: ../rules/base.xml.in.h:282
+msgid "German, eliminate dead keys"
+msgstr "Germană, elimină tastele moarte"
+
+#: ../rules/base.xml.in.h:283
+msgid "Germany"
+msgstr "Germania"
+
+#: ../rules/base.xml.in.h:284
+msgid "Gha"
+msgstr "Gha"
+
+#: ../rules/base.xml.in.h:285
+msgid "Ghana"
+msgstr "Ghana"
+
+#: ../rules/base.xml.in.h:286
+msgid "Gin"
+msgstr ""
+
+#: ../rules/base.xml.in.h:287
+msgid "Grc"
+msgstr ""
+
+#: ../rules/base.xml.in.h:288
+msgid "Greece"
+msgstr "Grecia"
+
+#: ../rules/base.xml.in.h:289
+msgid "Guinea"
+msgstr "Guinea"
+
+#: ../rules/base.xml.in.h:290
+msgid "Gujarati"
+msgstr "Gujarati"
+
+#: ../rules/base.xml.in.h:291
+msgid "Gurmukhi"
+msgstr "Gurmukhi"
+
+#: ../rules/base.xml.in.h:292
+msgid "Gurmukhi Jhelum"
+msgstr "Gurmukhi Jhelum"
+
+#: ../rules/base.xml.in.h:293
+msgid "Gyration"
+msgstr "Gyration"
+
+#: ../rules/base.xml.in.h:294
+msgid "Happy Hacking Keyboard"
+msgstr "Tastatură Happy Hacking"
+
+#: ../rules/base.xml.in.h:295
+msgid "Happy Hacking Keyboard for Mac"
+msgstr "Tastatură Happy Hacking pentru Mac"
+
+#: ../rules/base.xml.in.h:296
+msgid "Hausa"
+msgstr "Hausă"
+
+#: ../rules/base.xml.in.h:297
+msgid "Hewlett-Packard Internet Keyboard"
+msgstr "Tastatură Hewlett-Packard Internet"
+
+#: ../rules/base.xml.in.h:298
+msgid "Hewlett-Packard Mini 110 Notebook"
+msgstr "Hewlett-Packard Mini 110 Notebook"
+
+#: ../rules/base.xml.in.h:299
+msgid "Hewlett-Packard Omnibook 500 FA"
+msgstr "Hewlett-Packard Omnibook 500 FA"
+
+#: ../rules/base.xml.in.h:300
+msgid "Hewlett-Packard Omnibook 5xx"
+msgstr "Hewlett-Packard Omnibook 5xx"
+
+#: ../rules/base.xml.in.h:301
+msgid "Hewlett-Packard Omnibook 6000/6100"
+msgstr "Hewlett-Packard Omnibook 6000/6100"
+
+#: ../rules/base.xml.in.h:302
+msgid "Hewlett-Packard Omnibook XE3 GC"
+msgstr "Hewlett-Packard Omnibook XE3 GC"
+
+#: ../rules/base.xml.in.h:303
+msgid "Hewlett-Packard Omnibook XE3 GF"
+msgstr "Hewlett-Packard Omnibook XE3 GF"
+
+#: ../rules/base.xml.in.h:304
+msgid "Hewlett-Packard Omnibook XT1000"
+msgstr "Hewlett-Packard Omnibook XT1000"
+
+#: ../rules/base.xml.in.h:305
+msgid "Hewlett-Packard Pavilion ZT11xx"
+msgstr "Hewlett-Packard Pavilion ZT11xx"
+
+#: ../rules/base.xml.in.h:306
+msgid "Hewlett-Packard Pavilion dv5"
+msgstr "Hewlett-Packard Pavilion dv5"
+
+#: ../rules/base.xml.in.h:307
+msgid "Hewlett-Packard SK-250x Multimedia Keyboard"
+msgstr "Tastatură multimedia Hewlett-Packard SK-250x"
+
+#: ../rules/base.xml.in.h:308
+msgid "Hewlett-Packard nx9020"
+msgstr "Hewlett-Packard nx9020"
+
+#: ../rules/base.xml.in.h:309
+msgid "Hexadecimal"
+msgstr "Hexazecimal"
+
+#: ../rules/base.xml.in.h:310
+msgid "Hindi Bolnagri"
+msgstr "Hindi Bolnagri"
+
+#: ../rules/base.xml.in.h:311
+msgid "Hindi Wx"
+msgstr "Hindi Wx"
+
+#: ../rules/base.xml.in.h:312
+msgid "Homophonic"
+msgstr "Homofonic"
+
+#: ../rules/base.xml.in.h:313
+msgid "Honeywell Euroboard"
+msgstr "Honeywell Euroboard"
+
+#: ../rules/base.xml.in.h:314
+msgid "Hrv"
+msgstr "Hrv"
+
+#: ../rules/base.xml.in.h:315
+msgid "Hun"
+msgstr "Ung"
+
+#: ../rules/base.xml.in.h:316
+msgid "Hungary"
+msgstr "Ungaria"
+
+#: ../rules/base.xml.in.h:317
+msgid "Hyper is mapped to Win-keys"
+msgstr "Liniuța e mapată la tastele Win"
+
+#: ../rules/base.xml.in.h:318
+msgid "IBM (LST 1205-92)"
+msgstr "IBM (LST 1205-92)"
+
+#: ../rules/base.xml.in.h:319
+msgid "IBM Rapid Access"
+msgstr "IBM Rapid Access"
+
+#: ../rules/base.xml.in.h:320
+msgid "IBM Rapid Access II"
+msgstr "IBM Rapid Access II"
+
+#: ../rules/base.xml.in.h:321
+msgid "IBM Space Saver"
+msgstr "IBM Space Saver"
+
+#: ../rules/base.xml.in.h:322
+msgid "IBM ThinkPad 560Z/600/600E/A22E"
+msgstr "IBM ThinkPad 560Z/600/600E/A22E"
+
+#: ../rules/base.xml.in.h:323
+msgid "IBM ThinkPad R60/T60/R61/T61"
+msgstr "IBM ThinkPad R60/T60/R61/T61"
+
+#: ../rules/base.xml.in.h:324
+msgid "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
+msgstr "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
+
+#: ../rules/base.xml.in.h:325
+msgid "ISO Alternate"
+msgstr "Alternativ ISO"
+
+#: ../rules/base.xml.in.h:326
+msgid "Iceland"
+msgstr "Islanda"
+
+#: ../rules/base.xml.in.h:327
+msgid "Igbo"
+msgstr "Igboneză"
+
+#: ../rules/base.xml.in.h:328
+msgid "Include dead tilde"
+msgstr "Include tilda moartă"
+
+#: ../rules/base.xml.in.h:329
+msgid "Ind"
+msgstr "Ind"
+
+#: ../rules/base.xml.in.h:330
+msgid "India"
+msgstr "India"
+
+#: ../rules/base.xml.in.h:331
+msgid "International (AltGr dead keys)"
+msgstr "Internațional (taste moarte AltGr)"
+
+#: ../rules/base.xml.in.h:332
+msgid "International (with dead keys)"
+msgstr "Internațională (cu taste moarte)"
+
+#: ../rules/base.xml.in.h:333
+msgid "Inuktitut"
+msgstr "Inuktitut"
+
+#: ../rules/base.xml.in.h:334
+msgid "Iran"
+msgstr "Iran"
+
+#: ../rules/base.xml.in.h:335
+msgid "Iraq"
+msgstr "Irak"
+
+#: ../rules/base.xml.in.h:336
+msgid "Ireland"
+msgstr "Irlanda"
+
+#: ../rules/base.xml.in.h:337
+msgid "Irl"
+msgstr "Irl"
+
+#: ../rules/base.xml.in.h:338
+msgid "Irn"
+msgstr "Irn"
+
+#: ../rules/base.xml.in.h:339
+msgid "Irq"
+msgstr "Irk"
+
+#: ../rules/base.xml.in.h:340
+msgid "Isl"
+msgstr "Isl"
+
+#: ../rules/base.xml.in.h:341
+msgid "Isr"
+msgstr "Isr"
+
+#: ../rules/base.xml.in.h:342
+msgid "Israel"
+msgstr "Israel"
+
+#: ../rules/base.xml.in.h:343
+msgid "Ita"
+msgstr "Ita"
+
+#: ../rules/base.xml.in.h:344
+msgid "Italy"
+msgstr "Italia"
+
+#: ../rules/base.xml.in.h:345
+msgid "Japan"
+msgstr "Japonia"
+
+#: ../rules/base.xml.in.h:346
+msgid "Japan (PC-98xx Series)"
+msgstr "Japoneză (seria PC-98xx)"
+
+#: ../rules/base.xml.in.h:347
+msgid "Japanese keyboard options"
+msgstr "Opțiuni tastatură japoneză"
+
+#: ../rules/base.xml.in.h:348
+msgid "Jpn"
+msgstr "Jpn"
+
+#: ../rules/base.xml.in.h:349
+msgid "Kalmyk"
+msgstr "Kalmyk"
+
+#: ../rules/base.xml.in.h:350
+msgid "Kana"
+msgstr "Kana"
+
+#: ../rules/base.xml.in.h:351
+msgid "Kana Lock key is locking"
+msgstr "Tasta de blocare Kana blochează"
+
+#: ../rules/base.xml.in.h:352
+msgid "Kannada"
+msgstr "Kanadă"
+
+#: ../rules/base.xml.in.h:353
+msgid "Kashubian"
+msgstr "Kashubiană"
+
+#: ../rules/base.xml.in.h:354
+msgid "Kaz"
+msgstr "Kaz"
+
+#: ../rules/base.xml.in.h:355
+msgid "Kazakh with Russian"
+msgstr "Cazacă cu rusă"
+
+#: ../rules/base.xml.in.h:356
+msgid "Kazakhstan"
+msgstr "Kazahstan"
+
+#: ../rules/base.xml.in.h:357
+msgid "Ken"
+msgstr ""
+
+#: ../rules/base.xml.in.h:358
+msgid "Kenya"
+msgstr ""
+
+#: ../rules/base.xml.in.h:359
+msgid "Key sequence to kill the X server"
+msgstr "Secvență de taste pentru a termina forțat server-ul X"
+
+#: ../rules/base.xml.in.h:360
+msgid "Key to choose 3rd level"
+msgstr "Tasta pentru alegerea celui de-al treilea nivel"
+
+#: ../rules/base.xml.in.h:361
+msgid "Key to choose 5th level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:362
+msgid "Key(s) to change layout"
+msgstr "Tasta(ele) pentru modificarea aranjamentului"
+
+#: ../rules/base.xml.in.h:363
+msgid "Keytronic FlexPro"
+msgstr "Keytronic FlexPro"
+
+#: ../rules/base.xml.in.h:364
+msgid "Kgz"
+msgstr "Kgz"
+
+#: ../rules/base.xml.in.h:365
+msgid "Khm"
+msgstr "Khm"
+
+#: ../rules/base.xml.in.h:366
+msgid "Kikuyu"
+msgstr ""
+
+#: ../rules/base.xml.in.h:367
+msgid "Komi"
+msgstr "Komi"
+
+#: ../rules/base.xml.in.h:368
+msgid "Kor"
+msgstr "Cor"
+
+#: ../rules/base.xml.in.h:369
+msgid "Korea, Republic of"
+msgstr "Coreea, Republica"
+
+#: ../rules/base.xml.in.h:370
+msgid "Ktunaxa"
+msgstr "Ktunaxa"
+
+#: ../rules/base.xml.in.h:371
+msgid "Kurdish, (F)"
+msgstr "Kurdă, (F)"
+
+#: ../rules/base.xml.in.h:372
+msgid "Kurdish, Arabic-Latin"
+msgstr "Kurdă, arabă-latină"
+
+#: ../rules/base.xml.in.h:373
+msgid "Kurdish, Latin Alt-Q"
+msgstr "Kurdă, Alt-Q latin"
+
+#: ../rules/base.xml.in.h:374
+msgid "Kurdish, Latin Q"
+msgstr "Kurdă, Q latin"
+
+#: ../rules/base.xml.in.h:375
+msgid "Kyrgyzstan"
+msgstr "Kârgâzstan"
+
+#: ../rules/base.xml.in.h:376
+msgid "LAm"
+msgstr "LAm"
+
+#: ../rules/base.xml.in.h:377
+msgid "LEKP"
+msgstr "LEKP"
+
+#: ../rules/base.xml.in.h:378
+msgid "LEKPa"
+msgstr "LEKPa"
+
+#: ../rules/base.xml.in.h:379
+msgid "Lao"
+msgstr "Lao"
+
+#: ../rules/base.xml.in.h:380
+msgid "Laos"
+msgstr "Laos"
+
+#: ../rules/base.xml.in.h:381
+msgid "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard"
+msgstr "Tastatură Laptop/notebook Compaq (eg. Armada)"
+
+#: ../rules/base.xml.in.h:382
+msgid "Laptop/notebook Compaq (eg. Presario) Internet Keyboard"
+msgstr "Tastatură Internet Laptop/notebook Compaq (eg. Presario)"
+
+#: ../rules/base.xml.in.h:383
+msgid "Laptop/notebook eMachines m68xx"
+msgstr "Laptop/notebook eMachines m68xx"
+
+#: ../rules/base.xml.in.h:384
+msgid "Latin"
+msgstr "Latină"
+
+#: ../rules/base.xml.in.h:385
+msgid "Latin American"
+msgstr "Latino americană"
+
+#: ../rules/base.xml.in.h:386
+msgid "Latin Unicode"
+msgstr "Unicode latin"
+
+#: ../rules/base.xml.in.h:387
+msgid "Latin Unicode qwerty"
+msgstr "Unicode qwerty latin"
+
+#: ../rules/base.xml.in.h:388
+msgid "Latin qwerty"
+msgstr "qwerty latin"
+
+#: ../rules/base.xml.in.h:389
+msgid "Latin unicode"
+msgstr "unicode latin"
+
+#: ../rules/base.xml.in.h:390
+msgid "Latin unicode qwerty"
+msgstr "unicode qwerty latin"
+
+#: ../rules/base.xml.in.h:391
+msgid "Latin with guillemets"
+msgstr "Latin cu ghilimele franceze"
+
+#: ../rules/base.xml.in.h:392
+msgid "Latvia"
+msgstr "Letonia"
+
+#: ../rules/base.xml.in.h:393
+msgid "Layout toggle on multiply/divide key"
+msgstr ""
+
+#: ../rules/base.xml.in.h:394
+msgid "Left Alt"
+msgstr "Alt din stânga"
+
+#: ../rules/base.xml.in.h:395
+msgid "Left Alt (while pressed)"
+msgstr "Alt din stânga (cât timp e apăsată)"
+
+#: ../rules/base.xml.in.h:396
+msgid "Left Alt is swapped with Left Win"
+msgstr "Alt din stânga e interschimbat cu Win din stânga"
+
+#: ../rules/base.xml.in.h:397
+msgid "Left Ctrl"
+msgstr "Ctrl din stânga"
+
+#: ../rules/base.xml.in.h:398
+msgid "Left Ctrl (to first layout), Right Ctrl (to last layout)"
+msgstr "Ctrl stânga (la primul aranjament), Ctrl dreapta (la ultimul aranjament)"
+
+#: ../rules/base.xml.in.h:399
+msgid "Left Ctrl+Left Shift"
+msgstr "Ctrl stânga+Shift stânga"
+
+#: ../rules/base.xml.in.h:400
+msgid "Left Shift"
+msgstr "Shift stânga"
+
+#: ../rules/base.xml.in.h:401
+msgid "Left Win"
+msgstr "Win stânga"
+
+#: ../rules/base.xml.in.h:402
+msgid "Left Win (to first layout), Right Win/Menu (to last layout)"
+msgstr "Win stânga (la primul aranjament), Win dreapta/Menu (la ultimul aranjament)"
+
+#: ../rules/base.xml.in.h:403
+msgid "Left Win (while pressed)"
+msgstr "Win stânga (cât timp e apăsat)"
+
+#: ../rules/base.xml.in.h:404
+msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr ""
+
+#: ../rules/base.xml.in.h:405
+msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr ""
+
+#: ../rules/base.xml.in.h:406
+msgid "Left hand"
+msgstr "Mâna stângă"
+
+#: ../rules/base.xml.in.h:407
+msgid "Left handed Dvorak"
+msgstr "Dvorak pentru stângaci"
+
+#: ../rules/base.xml.in.h:408
+msgid "Legacy"
+msgstr "Moștenire"
+
+#: ../rules/base.xml.in.h:409
+msgid "Legacy Wang 724"
+msgstr "Wang 724 - moștenire"
+
+#. Actually, with KP_SEPARATOR, as the old keypad(comma)
+#: ../rules/base.xml.in.h:411
+msgid "Legacy key with comma"
+msgstr "Tastă moștenită cu virgulă"
+
+#: ../rules/base.xml.in.h:412
+msgid "Legacy key with dot"
+msgstr "Tastă moștenită cu punct"
+
+#: ../rules/base.xml.in.h:413
+msgid "Lithuania"
+msgstr "Lituania"
+
+#: ../rules/base.xml.in.h:414
+msgid "Lka"
+msgstr ""
+
+#: ../rules/base.xml.in.h:415
+msgid "Logitech Access Keyboard"
+msgstr "Tastatură Logitech Access"
+
+#: ../rules/base.xml.in.h:416
+msgid "Logitech Cordless Desktop"
+msgstr "Logitech Desktop fără fir"
+
+#: ../rules/base.xml.in.h:417
+msgid "Logitech Cordless Desktop (alternate option)"
+msgstr "Logitech Desktop fără fir (opțiune alternativă)"
+
+#: ../rules/base.xml.in.h:418
+msgid "Logitech Cordless Desktop EX110"
+msgstr "Logitech Desktop EX110 fără fir"
+
+#: ../rules/base.xml.in.h:419
+msgid "Logitech Cordless Desktop LX-300"
+msgstr "Logitech Desktop LX-300 fără fir"
+
+#: ../rules/base.xml.in.h:420
+msgid "Logitech Cordless Desktop Navigator"
+msgstr "Logitech Desktop Navigator fără fir"
+
+#: ../rules/base.xml.in.h:421
+msgid "Logitech Cordless Desktop Optical"
+msgstr "Logitech Desktop Optical fără fir"
+
+#: ../rules/base.xml.in.h:422
+msgid "Logitech Cordless Desktop Pro (alternate option 2)"
+msgstr "Logitech Desktop Pro (opțiune alternativă 2) fără fir"
+
+#: ../rules/base.xml.in.h:423
+msgid "Logitech Cordless Desktop iTouch"
+msgstr "Logitech Desktop iTouch fără fir"
+
+#: ../rules/base.xml.in.h:424
+msgid "Logitech Cordless Freedom/Desktop Navigator"
+msgstr "Logitech Freedom/Desktop Navigator fără fir"
+
+#: ../rules/base.xml.in.h:425
+msgid "Logitech G15 extra keys via G15daemon"
+msgstr "Logitech G15 via G15daemon cu taste suplimentare"
+
+#: ../rules/base.xml.in.h:426
+msgid "Logitech Generic Keyboard"
+msgstr "Tastatură generică Logitech"
+
+#: ../rules/base.xml.in.h:427
+msgid "Logitech Internet 350 Keyboard"
+msgstr "Tastatură Logitech Internet 350"
+
+#: ../rules/base.xml.in.h:428
+msgid "Logitech Internet Keyboard"
+msgstr "Tastatură Logitech Internet"
+
+#: ../rules/base.xml.in.h:429
+msgid "Logitech Internet Navigator Keyboard"
+msgstr "Tastatură Logitech Internet Navigator"
+
+#: ../rules/base.xml.in.h:430
+msgid "Logitech Media Elite Keyboard"
+msgstr "Tastatură Logitech Media Elite"
+
+#: ../rules/base.xml.in.h:431
+msgid "Logitech Ultra-X Cordless Media Desktop Keyboard"
+msgstr "Tastatură Logitech Ultra-X Media Desktop fără fir"
+
+#: ../rules/base.xml.in.h:432
+msgid "Logitech Ultra-X Keyboard"
+msgstr "Tastatură Logitech Ultra-X"
+
+#: ../rules/base.xml.in.h:433
+msgid "Logitech diNovo Edge Keyboard"
+msgstr "Tastatură Logitech diNovo Edge"
+
+#: ../rules/base.xml.in.h:434
+msgid "Logitech diNovo Keyboard"
+msgstr "Tastatură Logitech diNovo"
+
+#: ../rules/base.xml.in.h:435
+msgid "Logitech iTouch"
+msgstr "Logitech iTouch"
+
+#: ../rules/base.xml.in.h:436
+msgid "Logitech iTouch Cordless Keyboard (model Y-RB6)"
+msgstr "Tastatură Logitech iTouch fără fir (model Y-RB6)"
+
+#: ../rules/base.xml.in.h:437
+msgid "Logitech iTouch Internet Navigator Keyboard SE"
+msgstr "Tastatură Logitech iTouch Internet Navigator SE"
+
+#: ../rules/base.xml.in.h:438
+msgid "Logitech iTouch Internet Navigator Keyboard SE (USB)"
+msgstr "Tastatură Logitech iTouch Internet Navigator SE (USB)"
+
+#: ../rules/base.xml.in.h:439
+msgid "Lower Sorbian"
+msgstr "Sârbă de jos"
+
+#: ../rules/base.xml.in.h:440
+msgid "Lower Sorbian (qwertz)"
+msgstr "Sârbă de jos (qwerty)"
+
+#: ../rules/base.xml.in.h:441
+msgid "Ltu"
+msgstr "Ltu"
+
+#: ../rules/base.xml.in.h:442
+msgid "Lva"
+msgstr "Lva"
+
+#: ../rules/base.xml.in.h:443
+msgid "MESS"
+msgstr "MESS"
+
+#: ../rules/base.xml.in.h:444
+msgid "MNE"
+msgstr "MNE"
+
+#: ../rules/base.xml.in.h:445
+msgid "MacBook/MacBook Pro"
+msgstr "MacBook/MacBook Pro"
+
+#: ../rules/base.xml.in.h:446
+msgid "MacBook/MacBook Pro (Intl)"
+msgstr "MacBook/MacBook Pro (Intl)"
+
+#: ../rules/base.xml.in.h:447
+msgid "Macedonia"
+msgstr "Macedonia"
+
+#: ../rules/base.xml.in.h:448
+msgid "Macintosh"
+msgstr "Macintosh"
+
+#: ../rules/base.xml.in.h:449
+msgid "Macintosh Old"
+msgstr "Macintosh veche"
+
+#: ../rules/base.xml.in.h:450
+msgid "Macintosh, Sun dead keys"
+msgstr "Macintosh, taste moarte Sun"
+
+#: ../rules/base.xml.in.h:451
+msgid "Macintosh, eliminate dead keys"
+msgstr "Macintosh, elimină tastele moarte"
+
+#: ../rules/base.xml.in.h:452
+msgid "Make CapsLock an additional Backspace"
+msgstr "CapsLock este un Backspace suplimentar"
+
+#: ../rules/base.xml.in.h:453
+msgid "Make CapsLock an additional Ctrl"
+msgstr "CapsLock este un Ctlr suplimentar"
+
+#: ../rules/base.xml.in.h:454
+msgid "Make CapsLock an additional ESC"
+msgstr "CapsLock este un ESC suplimentar"
+
+#: ../rules/base.xml.in.h:455
+msgid "Make CapsLock an additional Hyper"
+msgstr "Fă CapsLock un alt Hyper"
+
+#: ../rules/base.xml.in.h:456
+msgid "Make CapsLock an additional NumLock"
+msgstr "Fă CapsLock un alt NumLock"
+
+#: ../rules/base.xml.in.h:457
+msgid "Make CapsLock an additional Super"
+msgstr "Fă CapsLock un alt Super"
+
+#: ../rules/base.xml.in.h:458
+msgid "Malayalam"
+msgstr "Malailamă"
+
+#: ../rules/base.xml.in.h:459
+msgid "Malayalam Lalitha"
+msgstr "Malailamă Lalitha"
+
+#: ../rules/base.xml.in.h:460
+msgid "Maldives"
+msgstr "Maldive"
+
+#: ../rules/base.xml.in.h:461
+msgid "Mali"
+msgstr "Mali"
+
+#: ../rules/base.xml.in.h:462
+msgid "Malta"
+msgstr "Malta"
+
+#: ../rules/base.xml.in.h:463
+msgid "Maltese keyboard with US layout"
+msgstr "Tastatura malteză cu aranjament US"
+
+#: ../rules/base.xml.in.h:464
+msgid "Mao"
+msgstr "Mao"
+
+#: ../rules/base.xml.in.h:465
+msgid "Maori"
+msgstr "Maură"
+
+#: ../rules/base.xml.in.h:466
+msgid "Mdv"
+msgstr "Mdv"
+
+#: ../rules/base.xml.in.h:467
+msgid "Memorex MX1998"
+msgstr "Memorex MX1998"
+
+#: ../rules/base.xml.in.h:468
+msgid "Memorex MX2500 EZ-Access Keyboard"
+msgstr "Tastatură Memorex MX2500 EZ-Access"
+
+#: ../rules/base.xml.in.h:469
+msgid "Memorex MX2750"
+msgstr "Memorex MX2750"
+
+#: ../rules/base.xml.in.h:470
+msgid "Menu"
+msgstr "Meniu"
+
+#: ../rules/base.xml.in.h:471
+msgid "Meta is mapped to Left Win"
+msgstr "Meta e mapat la Win stânga"
+
+#: ../rules/base.xml.in.h:472
+msgid "Meta is mapped to Win keys"
+msgstr "Meta e mapat la tastele Win"
+
+#: ../rules/base.xml.in.h:473
+msgid "Microsoft Comfort Curve Keyboard 2000"
+msgstr "Tastatură Microsoft Comfort Curve 2000"
+
+#: ../rules/base.xml.in.h:474
+msgid "Microsoft Internet Keyboard"
+msgstr "Tastatură Internet Microsoft"
+
+#: ../rules/base.xml.in.h:475
+msgid "Microsoft Internet Keyboard Pro, Swedish"
+msgstr "Tastatură Internet Microsoft Pro, suedeză"
+
+#: ../rules/base.xml.in.h:476
+msgid "Microsoft Natural"
+msgstr "Microsoft Natural"
+
+#: ../rules/base.xml.in.h:477
+msgid "Microsoft Natural Keyboard Elite"
+msgstr "Tastatură Microsoft Natural Elite"
+
+#: ../rules/base.xml.in.h:478
+msgid "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
+msgstr "Tastatură Microsoft Natural Pro / Microsoft Internet Pro"
+
+#: ../rules/base.xml.in.h:479
+msgid "Microsoft Natural Keyboard Pro OEM"
+msgstr "Tastatură Microsoft Natural Pro OEM"
+
+#: ../rules/base.xml.in.h:480
+msgid "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
+msgstr "Tastatură Microsoft Natural Pro USB / Microsoft Internet Pro"
+
+#: ../rules/base.xml.in.h:481
+msgid "Microsoft Natural Wireless Ergonomic Keyboard 7000"
+msgstr "Tastatură ergonomică Microsoft Natural Wireless 7000"
+
+#: ../rules/base.xml.in.h:482
+msgid "Microsoft Office Keyboard"
+msgstr "Tastatură pentru birou Microsoft"
+
+#: ../rules/base.xml.in.h:483
+msgid "Microsoft Wireless Multimedia Keyboard 1.0A"
+msgstr "Tastatură multimedia Microsoft Wireless 1.0A"
+
+#: ../rules/base.xml.in.h:484
+msgid "Miscellaneous compatibility options"
+msgstr "Diverse opțiuni pentru compatibilitate"
+
+#: ../rules/base.xml.in.h:485
+msgid "Mkd"
+msgstr "Mkd"
+
+#: ../rules/base.xml.in.h:486
+msgid "Mli"
+msgstr "Mli"
+
+#: ../rules/base.xml.in.h:487
+msgid "Mlt"
+msgstr "Mlt"
+
+#: ../rules/base.xml.in.h:488
+msgid "Mmr"
+msgstr "Mmr"
+
+#: ../rules/base.xml.in.h:489
+msgid "Mng"
+msgstr "Mng"
+
+#: ../rules/base.xml.in.h:490
+msgid "Mongolia"
+msgstr "Mongolia"
+
+#: ../rules/base.xml.in.h:491
+msgid "Montenegro"
+msgstr "Muntenegru"
+
+#: ../rules/base.xml.in.h:492
+msgid "Morocco"
+msgstr "Maroc"
+
+#: ../rules/base.xml.in.h:493
+msgid "Multilingual"
+msgstr "Multilingv"
+
+#: ../rules/base.xml.in.h:494
+msgid "Multilingual, first part"
+msgstr "Multilingv, prima parte"
+
+#: ../rules/base.xml.in.h:495
+msgid "Multilingual, second part"
+msgstr "Multilingv, a doua parte"
+
+#: ../rules/base.xml.in.h:496
+msgid "Myanmar"
+msgstr "Mianmar"
+
+#: ../rules/base.xml.in.h:497
+msgid "NICOLA-F style Backspace"
+msgstr "Backspace în stil NICOLA-F"
+
+#: ../rules/base.xml.in.h:498
+msgid "NLA"
+msgstr "NLA"
+
+#: ../rules/base.xml.in.h:499
+msgid "Nativo"
+msgstr "Nativo"
+
+#: ../rules/base.xml.in.h:500
+msgid "Nativo for Esperanto"
+msgstr "Nativo pentru esperanto"
+
+#: ../rules/base.xml.in.h:501
+msgid "Nativo for USA keyboards"
+msgstr "Nativo pentru tastaturile din SUA"
+
+#: ../rules/base.xml.in.h:502
+msgid "Neo 2"
+msgstr "Neo 2"
+
+#: ../rules/base.xml.in.h:503
+msgid "Nepal"
+msgstr "Nepal"
+
+#: ../rules/base.xml.in.h:504
+msgid "Netherlands"
+msgstr "Olanda"
+
+#: ../rules/base.xml.in.h:505
+msgid "New phonetic"
+msgstr "Fonetic nou"
+
+#: ../rules/base.xml.in.h:506
+msgid "Nga"
+msgstr "Nga"
+
+#: ../rules/base.xml.in.h:507
+msgid "Nigeria"
+msgstr "Nigeria"
+
+#: ../rules/base.xml.in.h:508
+msgid "Nld"
+msgstr "Ola"
+
+#: ../rules/base.xml.in.h:509
+msgid "Non-breakable space character at fourth level"
+msgstr "Caracterul spațiu indivizibil la nivelul al patrulea."
+
+#: ../rules/base.xml.in.h:510
+msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level"
+msgstr "Caracterul spațiu indivizibil la nivelul al patrulea, caracterul spațiu mic indivizibil la nivelul al șaselea."
+
+#: ../rules/base.xml.in.h:511
+msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)"
+msgstr "Caracterul spațiu indivizibil la nivelul al patrulea, caracterul spațiu mic indivizibil la nivelul al șaselea (prin Ctrl+Shift)"
+
+#: ../rules/base.xml.in.h:512
+msgid "Non-breakable space character at second level"
+msgstr "Caracterul spațiu indivizibil la nivelul al doilea"
+
+#: ../rules/base.xml.in.h:513
+msgid "Non-breakable space character at third level"
+msgstr "Caracterul spațiu indivizibil la nivelul al treilea"
+
+#: ../rules/base.xml.in.h:514
+msgid "Non-breakable space character at third level, nothing at fourth level"
+msgstr "Caracterul spațiu indivizibil la nivelul al treilea, nimic la nivelul al patrulea"
+
+#: ../rules/base.xml.in.h:515
+msgid "Non-breakable space character at third level, thin non-breakable space character at fourth level"
+msgstr "Caracterul spațiu indivizibil la nivelul al treilea, caracterul spațiu mic indivizibil la nivelul al patrulea"
+
+#: ../rules/base.xml.in.h:516
+msgid "Nor"
+msgstr "Nor"
+
+#: ../rules/base.xml.in.h:517
+msgid "Northern Saami"
+msgstr "Saami de Nord"
+
+#: ../rules/base.xml.in.h:518
+msgid "Northern Saami, eliminate dead keys"
+msgstr "Saami de nord, fără taste moarte"
+
+#: ../rules/base.xml.in.h:519
+msgid "Northgate OmniKey 101"
+msgstr "Northgate OmniKey 101"
+
+#: ../rules/base.xml.in.h:520
+msgid "Norway"
+msgstr "Norvegia"
+
+#: ../rules/base.xml.in.h:521
+msgid "Npl"
+msgstr "Npl"
+
+#: ../rules/base.xml.in.h:522
+msgid "NumLock"
+msgstr "NumLock"
+
+#: ../rules/base.xml.in.h:523
+msgid "Numeric keypad delete key behaviour"
+msgstr "Comportamentul tastei „Delete” din tastatura numerică"
+
+#: ../rules/base.xml.in.h:524
+msgid "Numeric keypad keys work as with Mac"
+msgstr "Tastele tastaturii numerice funcționează ca și la Mac"
+
+#: ../rules/base.xml.in.h:525
+msgid "Numeric keypad layout selection"
+msgstr "Selectare aranjament tastatură numerică"
+
+#: ../rules/base.xml.in.h:526
+msgid "OADG 109A"
+msgstr "OADG 109A"
+
+#: ../rules/base.xml.in.h:527
+msgid "OLPC"
+msgstr "OLPC"
+
+#: ../rules/base.xml.in.h:528
+msgid "OLPC Dari"
+msgstr "OLPC Dari"
+
+#: ../rules/base.xml.in.h:529
+msgid "OLPC Pashto"
+msgstr "OLPC Pashto"
+
+#: ../rules/base.xml.in.h:530
+msgid "OLPC Southern Uzbek"
+msgstr "Uzbekă de sud OLPC"
+
+#: ../rules/base.xml.in.h:531
+msgid "Occitan"
+msgstr "Occitană"
+
+#: ../rules/base.xml.in.h:532
+msgid "Ogham"
+msgstr "Ogamă"
+
+#: ../rules/base.xml.in.h:533
+msgid "Ogham IS434"
+msgstr "Ogamă IS434"
+
+#: ../rules/base.xml.in.h:534
+msgid "Oriya"
+msgstr "Oriană"
+
+#: ../rules/base.xml.in.h:535
+msgid "Ortek MCK-800 MM/Internet keyboard"
+msgstr "Tastatură Ortek MCK-800 MM/Internet"
+
+#: ../rules/base.xml.in.h:536
+msgid "Ossetian"
+msgstr "Osetiană"
+
+#: ../rules/base.xml.in.h:537
+msgid "Ossetian, Winkeys"
+msgstr "Osetiană, Winkeys"
+
+#: ../rules/base.xml.in.h:538
+msgid "Ossetian, legacy"
+msgstr "Osetiană, moștenire"
+
+#: ../rules/base.xml.in.h:539
+msgid "PC-98xx Series"
+msgstr "Seria PC-98xx"
+
+#: ../rules/base.xml.in.h:540
+msgid "Pak"
+msgstr "Pak"
+
+#: ../rules/base.xml.in.h:541
+msgid "Pakistan"
+msgstr "Pakistaneză"
+
+#: ../rules/base.xml.in.h:542
+msgid "Pannonian Rusyn Homophonic"
+msgstr "Panonică Rusyn Homofonică"
+
+#: ../rules/base.xml.in.h:543
+msgid "Pashto"
+msgstr "Pașto"
+
+#: ../rules/base.xml.in.h:544
+msgid "Pattachote"
+msgstr "Pattachote"
+
+#: ../rules/base.xml.in.h:545
+msgid "Pause"
+msgstr "Pauză"
+
+#: ../rules/base.xml.in.h:546
+msgid "Persian, with Persian Keypad"
+msgstr "Persiană, cu tastatură numerică Persiană"
+
+#: ../rules/base.xml.in.h:547
+msgid "Phonetic"
+msgstr "Fonetic"
+
+#: ../rules/base.xml.in.h:548
+msgid "Phonetic Winkeys"
+msgstr "Taste Win fonetice"
+
+#: ../rules/base.xml.in.h:549
+msgid "Pol"
+msgstr "Pol"
+
+#: ../rules/base.xml.in.h:550
+msgid "Poland"
+msgstr "Polonia"
+
+#: ../rules/base.xml.in.h:551
+msgid "Polytonic"
+msgstr "Politonic"
+
+#: ../rules/base.xml.in.h:552
+msgid "Portugal"
+msgstr "Portugalia"
+
+#: ../rules/base.xml.in.h:553
+msgid "Probhat"
+msgstr "Probhat"
+
+#: ../rules/base.xml.in.h:554
+msgid "Programmer Dvorak"
+msgstr "Dvorak pentru programatori"
+
+#: ../rules/base.xml.in.h:555
+msgid "Propeller Voyager (KTEZ-1000)"
+msgstr "Propeller Voyager (KTEZ-1000)"
+
+#: ../rules/base.xml.in.h:556
+msgid "Prt"
+msgstr "Prt"
+
+#: ../rules/base.xml.in.h:557
+msgid "PrtSc"
+msgstr "PrtSc"
+
+#: ../rules/base.xml.in.h:558
+msgid "QTronix Scorpius 98N+"
+msgstr "QTronix Scorpius 98N+"
+
+#: ../rules/base.xml.in.h:559
+msgid "Right Alt"
+msgstr "Alt dreapta"
+
+#: ../rules/base.xml.in.h:560
+msgid "Right Alt (while pressed)"
+msgstr "Alt dreapta (cât timp e apăsat)"
+
+#: ../rules/base.xml.in.h:561
+msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr ""
+
+#: ../rules/base.xml.in.h:562
+msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr ""
+
+#: ../rules/base.xml.in.h:563
+msgid "Right Alt key never chooses 3rd level"
+msgstr "Alt dreapta nu alege niciodata al treilea nivel"
+
+#: ../rules/base.xml.in.h:564
+msgid "Right Alt, Shift+Right Alt key is Multi_Key"
+msgstr "Tastele Alt dreapta, Shift+Alt dreapta sunt Multi_key"
+
+#: ../rules/base.xml.in.h:565
+msgid "Right Ctrl"
+msgstr "Ctrl dreapta"
+
+#: ../rules/base.xml.in.h:566
+msgid "Right Ctrl (while pressed)"
+msgstr "Ctrl dreapta (cât timp e apăsat)"
+
+#: ../rules/base.xml.in.h:567
+msgid "Right Ctrl as Right Alt"
+msgstr "Ctrl dreapta ca și Alt dreapta"
+
+#: ../rules/base.xml.in.h:568
+msgid "Right Ctrl+Right Shift"
+msgstr "Right Ctrl+Right Shift"
+
+#: ../rules/base.xml.in.h:569
+msgid "Right Shift"
+msgstr "Shift dreapta"
+
+#: ../rules/base.xml.in.h:570
+msgid "Right Win"
+msgstr "Win dreapta"
+
+#: ../rules/base.xml.in.h:571
+msgid "Right Win (while pressed)"
+msgstr "Win dreapta (cât timp e apăsat)"
+
+#: ../rules/base.xml.in.h:572
+msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
+msgstr ""
+
+#: ../rules/base.xml.in.h:573
+msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
+msgstr ""
+
+#: ../rules/base.xml.in.h:574
+msgid "Right hand"
+msgstr "Mâna dreaptă"
+
+#: ../rules/base.xml.in.h:575
+msgid "Right handed Dvorak"
+msgstr "Dvorak pentru mâna dreaptâ"
+
+#: ../rules/base.xml.in.h:576
+msgid "Romania"
+msgstr "România"
+
+#: ../rules/base.xml.in.h:577
+msgid "Romanian keyboard with German letters"
+msgstr "Tastatură românească cu litere germane"
+
+#: ../rules/base.xml.in.h:578
+msgid "Romanian keyboard with German letters, eliminate dead keys"
+msgstr "Tastatură românească cu caractere germane, fără taste moarte"
+
+#: ../rules/base.xml.in.h:579
+msgid "Rou"
+msgstr "Rom"
+
+#: ../rules/base.xml.in.h:580
+msgid "Rus"
+msgstr "Rus"
+
+#: ../rules/base.xml.in.h:581
+msgid "Russia"
+msgstr "Rusia"
+
+#: ../rules/base.xml.in.h:582
+msgid "Russian"
+msgstr "Rusă"
+
+#: ../rules/base.xml.in.h:583
+msgid "Russian phonetic"
+msgstr "Rusă fonetică"
+
+#: ../rules/base.xml.in.h:584
+msgid "Russian phonetic Dvorak"
+msgstr "Rusă fonetică Dvorak"
+
+#: ../rules/base.xml.in.h:585
+msgid "Russian phonetic, eliminate dead keys"
+msgstr "Rusă fonetică, fără taste moarte"
+
+#: ../rules/base.xml.in.h:586
+msgid "Russian with Kazakh"
+msgstr "Rusă cu cazacă"
+
+#: ../rules/base.xml.in.h:587
+msgid "SILVERCREST Multimedia Wireless Keyboard"
+msgstr "Tastatură SILVERCREST Multimedia Wireless"
+
+#: ../rules/base.xml.in.h:588
+msgid "SK-1300"
+msgstr "SK-1300"
+
+#: ../rules/base.xml.in.h:589
+msgid "SK-2500"
+msgstr "SK-2500"
+
+#: ../rules/base.xml.in.h:590
+msgid "SK-6200"
+msgstr "SK-6200"
+
+#: ../rules/base.xml.in.h:591
+msgid "SK-7100"
+msgstr "SK-7100"
+
+#: ../rules/base.xml.in.h:592 ../rules/base.extras.xml.in.h:7
+msgid "SRB"
+msgstr "SRB"
+
+#: ../rules/base.xml.in.h:593
+msgid "SVEN Ergonomic 2500"
+msgstr "SVEN Ergonomic 2500"
+
+#: ../rules/base.xml.in.h:594
+msgid "SVEN Slim 303"
+msgstr "SVEN Slim 303"
+
+#: ../rules/base.xml.in.h:595
+msgid "Samsung SDM 4500P"
+msgstr "Samsung SDM 4500P"
+
+#: ../rules/base.xml.in.h:596
+msgid "Samsung SDM 4510P"
+msgstr "Samsung SDM 4510P"
+
+#: ../rules/base.xml.in.h:597
+msgid "ScrollLock"
+msgstr "ScrollLock"
+
+#: ../rules/base.xml.in.h:598
+msgid "Secwepemctsin"
+msgstr "Secwepemctsin"
+
+#: ../rules/base.xml.in.h:599
+msgid "Semi-colon on third level"
+msgstr "Punct și virgulă la al treilea nivel"
+
+#: ../rules/base.xml.in.h:600
+msgid "Sen"
+msgstr "Sen"
+
+#: ../rules/base.xml.in.h:601
+msgid "Senegal"
+msgstr "Senegal"
+
+#: ../rules/base.xml.in.h:602 ../rules/base.extras.xml.in.h:8
+msgid "Serbia"
+msgstr "Serbia"
+
+#: ../rules/base.xml.in.h:603
+msgid "Serbian"
+msgstr "Sârbă"
+
+#: ../rules/base.xml.in.h:604
+msgid "Shift cancels CapsLock"
+msgstr "Shift anulează CapsLock"
+
+#: ../rules/base.xml.in.h:605
+msgid "Shift does not cancel NumLock, chooses 3rd level instead"
+msgstr "Shift nu anulează NumLock, ci alege al treilea nivel"
+
+#: ../rules/base.xml.in.h:606
+msgid "Shift with numeric keypad keys works as in MS Windows"
+msgstr "Shift cu tastatura numerică funcționează ca și în MS Windows"
+
+#: ../rules/base.xml.in.h:607
+msgid "Shift+CapsLock"
+msgstr "Shift+CapsLock"
+
+#: ../rules/base.xml.in.h:608
+msgid "Simple"
+msgstr "Simplu"
+
+#: ../rules/base.xml.in.h:609
+msgid "Slovakia"
+msgstr "Slovacia"
+
+#: ../rules/base.xml.in.h:610
+msgid "Slovenia"
+msgstr "Slovenia"
+
+#: ../rules/base.xml.in.h:611
+msgid "South Africa"
+msgstr "Africa de Sud"
+
+#: ../rules/base.xml.in.h:612
+msgid "Southern Uzbek"
+msgstr "Uzbecă de sud"
+
+#: ../rules/base.xml.in.h:613
+msgid "Spain"
+msgstr "Spania"
+
+#: ../rules/base.xml.in.h:614
+msgid "Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server"
+msgstr "Taste speciale (Ctrl+Alt+&lt;key&gt;) operate într-un server."
+
+#: ../rules/base.xml.in.h:615
+msgid "Sri Lanka"
+msgstr "Sri Lanka"
+
+#: ../rules/base.xml.in.h:616
+msgid "Standard"
+msgstr "Standard"
+
+#: ../rules/base.xml.in.h:617
+msgid "Standard (Cedilla)"
+msgstr "Standard (sedile)"
+
+#. RSTU 2019-91
+#: ../rules/base.xml.in.h:619
+msgid "Standard RSTU"
+msgstr "RSTU standard"
+
+#. RSTU 2019-91
+#: ../rules/base.xml.in.h:621
+msgid "Standard RSTU on Russian layout"
+msgstr "RSTU standard pe aranjamentul rusesc"
+
+#: ../rules/base.xml.in.h:622
+msgid "Sun Type 5/6"
+msgstr "Sun Type 5/6"
+
+#: ../rules/base.xml.in.h:623
+msgid "Sun dead keys"
+msgstr "Taste moarte Sun"
+
+#: ../rules/base.xml.in.h:624
+msgid "Super Power Multimedia Keyboard"
+msgstr "Tastatură multimedia Super Power"
+
+#: ../rules/base.xml.in.h:625
+msgid "Svdvorak"
+msgstr "Svdvorak"
+
+#: ../rules/base.xml.in.h:626
+msgid "Svk"
+msgstr "Svc"
+
+#: ../rules/base.xml.in.h:627
+msgid "Svn"
+msgstr "Svn"
+
+#: ../rules/base.xml.in.h:628
+msgid "Swap Ctrl and CapsLock"
+msgstr "Interschimbă Ctrl cu CapsLock"
+
+#: ../rules/base.xml.in.h:629
+msgid "Swap ESC and CapsLock"
+msgstr "Interschimbă ESC cu CapsLock"
+
+#: ../rules/base.xml.in.h:630
+msgid "Swe"
+msgstr "Sue"
+
+#: ../rules/base.xml.in.h:631
+msgid "Sweden"
+msgstr "Suedia"
+
+#: ../rules/base.xml.in.h:632
+msgid "Switzerland"
+msgstr "Elveția"
+
+#: ../rules/base.xml.in.h:633
+msgid "Symplon PaceBook (tablet PC)"
+msgstr "Symplon PaceBook (tabletă PC)"
+
+#: ../rules/base.xml.in.h:634
+msgid "Syr"
+msgstr "Sir"
+
+#: ../rules/base.xml.in.h:635
+msgid "Syria"
+msgstr "Siria"
+
+#: ../rules/base.xml.in.h:636
+msgid "Syriac"
+msgstr "Siriană"
+
+#: ../rules/base.xml.in.h:637
+msgid "Syriac phonetic"
+msgstr "Siriană fonetică"
+
+#: ../rules/base.xml.in.h:638
+msgid "TIS-820.2538"
+msgstr "TIS-820.2538"
+
+#: ../rules/base.xml.in.h:639
+msgid "Tajikistan"
+msgstr "Tajikistan"
+
+#: ../rules/base.xml.in.h:640
+msgid "Tamil"
+msgstr "Tamilă"
+
+#: ../rules/base.xml.in.h:641
+msgid "Tamil Keyboard with Numerals"
+msgstr "Tastatură Tamil cu cifre"
+
+#: ../rules/base.xml.in.h:642
+msgid "Tamil TAB Typewriter"
+msgstr "Mașină de scris Tamil TAB"
+
+#: ../rules/base.xml.in.h:643
+msgid "Tamil TSCII Typewriter"
+msgstr "Mașină de scris Tamil TSCII"
+
+#: ../rules/base.xml.in.h:644
+msgid "Tamil Unicode"
+msgstr "Unicode tamil"
+
+#: ../rules/base.xml.in.h:645
+msgid "Tanzania"
+msgstr "Tanzania"
+
+#: ../rules/base.xml.in.h:646
+msgid "Targa Visionary 811"
+msgstr "Targa Visionary 811"
+
+#: ../rules/base.xml.in.h:647
+msgid "Tatar"
+msgstr "Tătară"
+
+#: ../rules/base.xml.in.h:648
+msgid "Telugu"
+msgstr "Teluguă"
+
+#: ../rules/base.xml.in.h:649
+msgid "Tha"
+msgstr "Tha"
+
+#: ../rules/base.xml.in.h:650
+msgid "Thailand"
+msgstr "Tailanda"
+
+#: ../rules/base.xml.in.h:651
+msgid "Tibetan"
+msgstr "Tibetană"
+
+#: ../rules/base.xml.in.h:652
+msgid "Tibetan (with ASCII numerals)"
+msgstr "Tibetană (cu numerale ASCII)"
+
+#: ../rules/base.xml.in.h:653
+msgid "Tifinagh"
+msgstr "Tifinag"
+
+#: ../rules/base.xml.in.h:654
+msgid "Tifinagh Alternative"
+msgstr "Tifinagh alternativ"
+
+#: ../rules/base.xml.in.h:655
+msgid "Tifinagh Alternative Phonetic"
+msgstr "Tifinagh alternativ fonetic"
+
+#: ../rules/base.xml.in.h:656
+msgid "Tifinagh Extended"
+msgstr "Tifinagh extins"
+
+#: ../rules/base.xml.in.h:657
+msgid "Tifinagh Extended Phonetic"
+msgstr "Tifinagh fonetic extins"
+
+#: ../rules/base.xml.in.h:658
+msgid "Tifinagh Phonetic"
+msgstr "Tifinagh fonetic"
+
+#: ../rules/base.xml.in.h:659
+msgid "Tilde (~) variant"
+msgstr "Variantă tilda (~)"
+
+#: ../rules/base.xml.in.h:660
+msgid "Tjk"
+msgstr "Tjk"
+
+#: ../rules/base.xml.in.h:661
+msgid "Tkm"
+msgstr "Tkm"
+
+#: ../rules/base.xml.in.h:662
+msgid "To the corresponding key in a Dvorak keyboard."
+msgstr "La tasta corespunzătoare pentru o tastatură Dvorak."
+
+#: ../rules/base.xml.in.h:663
+msgid "To the corresponding key in a Qwerty keyboard."
+msgstr "La tasta corespunzătoare pentru o tastatură Qwerty."
+
+#: ../rules/base.xml.in.h:664
+msgid "Toshiba Satellite S3000"
+msgstr "Toshiba Satellite S3000"
+
+#: ../rules/base.xml.in.h:665
+msgid "Traditional phonetic"
+msgstr "Fonetic tradițional"
+
+#: ../rules/base.xml.in.h:666
+msgid "Trust Direct Access Keyboard"
+msgstr "Tastatură Trust Direct Access"
+
+#: ../rules/base.xml.in.h:667
+msgid "Trust Slimline"
+msgstr "Trust Slimline"
+
+#: ../rules/base.xml.in.h:668
+msgid "Trust Wireless Keyboard Classic"
+msgstr "Tastatură Trust Wireless Classic"
+
+#: ../rules/base.xml.in.h:669
+msgid "Tur"
+msgstr "Tur"
+
+#: ../rules/base.xml.in.h:670
+msgid "Turkey"
+msgstr "Turcia"
+
+#: ../rules/base.xml.in.h:671
+msgid "Turkmenistan"
+msgstr "Turkmenistan"
+
+#: ../rules/base.xml.in.h:672
+msgid "TypeMatrix EZ-Reach 2020"
+msgstr "TypeMatrix EZ-Reach 2020"
+
+#: ../rules/base.xml.in.h:673
+msgid "TypeMatrix EZ-Reach 2030 PS2"
+msgstr "TypeMatrix EZ-Reach 2030 PS2"
+
+#: ../rules/base.xml.in.h:674
+msgid "TypeMatrix EZ-Reach 2030 USB"
+msgstr "TypeMatrix EZ-Reach 2030 USB"
+
+#: ../rules/base.xml.in.h:675
+msgid "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)"
+msgstr "TypeMatrix EZ-Reach 2030 USB (mod 102/105:EU)"
+
+#: ../rules/base.xml.in.h:676
+msgid "TypeMatrix EZ-Reach 2030 USB (106:JP mode)"
+msgstr "TypeMatrix EZ-Reach 2030 USB (mod 106:JP)"
+
+#: ../rules/base.xml.in.h:677
+msgid "Typewriter"
+msgstr "Mașină de scris"
+
+#: ../rules/base.xml.in.h:678
+msgid "Typewriter, legacy"
+msgstr "Mașină de scrie, moștenire"
+
+#: ../rules/base.xml.in.h:679
+msgid "Tza"
+msgstr "Tza"
+
+#: ../rules/base.xml.in.h:680
+msgid "UCW layout (accented letters only)"
+msgstr "Aranjament UCW (doar caracterele cu accent)"
+
+#: ../rules/base.xml.in.h:681
+msgid "US Dvorak with CZ UCW support"
+msgstr "US Dvorak cu suport CZ UCW"
+
+#: ../rules/base.xml.in.h:682
+msgid "US keyboard with Bosnian digraphs"
+msgstr "Tastatură US cu diagrame bosniace"
+
+#: ../rules/base.xml.in.h:683
+msgid "US keyboard with Bosnian letters"
+msgstr "Tastatură SUA cu litere bosniace"
+
+#: ../rules/base.xml.in.h:684
+msgid "US keyboard with Croatian digraphs"
+msgstr "Tastatură US cu diagrame croate"
+
+#: ../rules/base.xml.in.h:685
+msgid "US keyboard with Croatian letters"
+msgstr "Tastatură SUA cu litere croate"
+
+#: ../rules/base.xml.in.h:686
+msgid "US keyboard with Estonian letters"
+msgstr "Tastatură SUA cu litere estoniene"
+
+#: ../rules/base.xml.in.h:687
+msgid "US keyboard with Italian letters"
+msgstr "Tastatură US cu litere italiene"
+
+#: ../rules/base.xml.in.h:688
+msgid "US keyboard with Lithuanian letters"
+msgstr "Tastatură SUA cu litere lituaniene"
+
+#: ../rules/base.xml.in.h:689
+msgid "US keyboard with Slovenian letters"
+msgstr "Tastatură SUA cu litere slovene"
+
+#: ../rules/base.xml.in.h:690 ../rules/base.extras.xml.in.h:9
+msgid "USA"
+msgstr "SUA"
+
+#: ../rules/base.xml.in.h:691
+msgid "Udmurt"
+msgstr "Udmurtă"
+
+#: ../rules/base.xml.in.h:692
+msgid "Ukr"
+msgstr "Ukr"
+
+#: ../rules/base.xml.in.h:693
+msgid "Ukraine"
+msgstr "Ucraina"
+
+#: ../rules/base.xml.in.h:694
+msgid "Unicode additions (arrows and math operators)"
+msgstr "Adăugări Unicode (săgeți și operatori matematici)"
+
+#: ../rules/base.xml.in.h:695
+msgid "Unicode additions (arrows and math operators). Math operators on default level"
+msgstr "Adăugări Unicode (săgeți și operatori matematici). Operatorii matematici sunt pe nivelul prestabilit"
+
+#: ../rules/base.xml.in.h:696
+msgid "UnicodeExpert"
+msgstr "UnicodeExpert"
+
+#: ../rules/base.xml.in.h:697
+msgid "United Kingdom"
+msgstr "Regatul Unit al Marii Britanii"
+
+#: ../rules/base.xml.in.h:698
+msgid "Unitek KB-1925"
+msgstr "Unitek KB-1925"
+
+#: ../rules/base.xml.in.h:699
+msgid "Urdu, Alternative phonetic"
+msgstr "Urdu, fonetic alternativ"
+
+#: ../rules/base.xml.in.h:700
+msgid "Urdu, Phonetic"
+msgstr "Urdu, fonetică"
+
+#: ../rules/base.xml.in.h:701
+msgid "Urdu, Winkeys"
+msgstr "Urdu, Winkeys"
+
+#: ../rules/base.xml.in.h:702
+msgid "Use Bosnian digraphs"
+msgstr "Utilizează diagrame bosniace"
+
+#: ../rules/base.xml.in.h:703
+msgid "Use Croatian digraphs"
+msgstr "Utilizează diagrame croate"
+
+#: ../rules/base.xml.in.h:704
+msgid "Use guillemets for quotes"
+msgstr "Utilizează ghilimele francez pentru citate"
+
+#: ../rules/base.xml.in.h:705
+msgid "Use keyboard LED to show alternative layout"
+msgstr "Indică aranjamentul alternativ cu ajutorul LED-urilor tastaturii"
+
+#: ../rules/base.xml.in.h:706
+msgid "Using space key to input non-breakable space character"
+msgstr "Utilizează tasta spațiu la introducerea caracterului spațiu indivizibil"
+
+#: ../rules/base.xml.in.h:707
+msgid "Usual space at any level"
+msgstr "Utilizează spațiu la orice nivel"
+
+#: ../rules/base.xml.in.h:708
+msgid "Uzb"
+msgstr "Uzb"
+
+#: ../rules/base.xml.in.h:709
+msgid "Uzbekistan"
+msgstr "Uzbekistan"
+
+#: ../rules/base.xml.in.h:710
+msgid "Vietnam"
+msgstr "Vietnam"
+
+#: ../rules/base.xml.in.h:711
+msgid "ViewSonic KU-306 Internet Keyboard"
+msgstr "Tastatură Internet ViewSonic KU-306"
+
+#: ../rules/base.xml.in.h:712
+msgid "Vnm"
+msgstr "Vnm"
+
+#: ../rules/base.xml.in.h:713
+msgid "Wang 724 keypad with unicode additions (arrows and math operators)"
+msgstr "Tastatură Wang 724 cu adăugări unicode (săgeți și operatori matematici)"
+
+#: ../rules/base.xml.in.h:714
+msgid "Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level"
+msgstr "Tastatură Wang 724 cu adăugări unicode (săgeți și operatori matematici). Operatorii matematici sunt pe nivelul prestabilit"
+
+#: ../rules/base.xml.in.h:715
+msgid "Wang model 724 azerty"
+msgstr "Wang model 724 azerty"
+
+#: ../rules/base.xml.in.h:716
+msgid "Western"
+msgstr "Occidental"
+
+#: ../rules/base.xml.in.h:717
+msgid "Winbook Model XP5"
+msgstr "Winbook Model XP5"
+
+#: ../rules/base.xml.in.h:718
+msgid "Winkeys"
+msgstr "Winkeys"
+
+#: ../rules/base.xml.in.h:719
+msgid "With &lt;\\|&gt; key"
+msgstr "Cu tastele &lt;\\|&gt;"
+
+#: ../rules/base.xml.in.h:720
+msgid "With EuroSign on 5"
+msgstr "Cu Semn Euro pe tasta 5"
+
+#: ../rules/base.xml.in.h:721
+msgid "With guillemets"
+msgstr "Cu ghilimele franceze"
+
+#: ../rules/base.xml.in.h:722
+msgid "Yahoo! Internet Keyboard"
+msgstr "Tastatură Yahoo! Internet"
+
+#: ../rules/base.xml.in.h:723
+msgid "Yakut"
+msgstr "Iacută"
+
+#: ../rules/base.xml.in.h:724
+msgid "Yoruba"
+msgstr "Iorubă"
+
+#: ../rules/base.xml.in.h:725
+msgid "Z and ZHE swapped"
+msgstr "Z și ZHE interschimbate"
+
+#: ../rules/base.xml.in.h:726
+msgid "Zaf"
+msgstr "Zaf"
+
+#: ../rules/base.xml.in.h:727
+msgid "Zero-width non-joiner character at second level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:728
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:729
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:730
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:731
+msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:732
+msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:733
+msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:734
+msgid "Zero-width non-joiner character at third level, zero-width joiner at fourth level"
+msgstr ""
+
+#: ../rules/base.xml.in.h:735
+msgid "azerty"
+msgstr "azerty"
+
+#: ../rules/base.xml.in.h:736
+msgid "azerty/digits"
+msgstr "azerty/cifre"
+
+#: ../rules/base.xml.in.h:737
+msgid "digits"
+msgstr "cifre"
+
+#: ../rules/base.xml.in.h:738
+msgid "displaced semicolon and quote (obsolete)"
+msgstr "punct și virgulă și ghilimele strămutate (învechit)."
+
+#: ../rules/base.xml.in.h:739
+msgid "lyx"
+msgstr "lyx"
+
+#: ../rules/base.xml.in.h:740
+msgid "qwerty"
+msgstr "qwerty"
+
+#: ../rules/base.xml.in.h:741
+msgid "qwerty, extended Backslash"
+msgstr "qwerty, Backslash extins"
+
+#: ../rules/base.xml.in.h:742
+msgid "qwerty/digits"
+msgstr "qwerty/cifre"
+
+#: ../rules/base.xml.in.h:743
+msgid "qwertz"
+msgstr "qwertz"
+
+#: ../rules/base.extras.xml.in.h:1
+msgid "APL"
+msgstr "APL"
+
+#: ../rules/base.extras.xml.in.h:2
+msgid "Atsina"
+msgstr "Atsina"
+
+#: ../rules/base.extras.xml.in.h:3
+msgid "Combining accents instead of dead keys"
+msgstr ""
+
+#: ../rules/base.extras.xml.in.h:4
+msgid "Couer D'alene Salish"
+msgstr "Couer D'alene Salish"
+
+#: ../rules/base.extras.xml.in.h:5
+msgid "International (AltGr Unicode combining)"
+msgstr ""
+
+#: ../rules/base.extras.xml.in.h:6
+msgid "International (AltGr Unicode combining, alternative)"
+msgstr ""
+
+#~ msgid "ACPI Standard"
+#~ msgstr "ACPI Standard"
+
+#~ msgid "Alternative international (former us_intl)"
+#~ msgstr "Alternativ internațional (fostul us_intl)"
+
+#~ msgid "Ban"
+#~ msgstr "Ban"
+
+#~ msgid "Bhu"
+#~ msgstr "But"
+
+#~ msgid "Caps Lock"
+#~ msgstr "Caps Lock"
+
+#~ msgid "DRC"
+#~ msgstr "DRC"
+
+#~ msgid "Dan"
+#~ msgstr "Dan"
+
+#~ msgid "Dvorak international"
+#~ msgstr "Dvorak internațională"
+
+#~ msgid "Evdev-managed keyboard"
+#~ msgstr "Tastatură Evdev-managed"
+
+#~ msgid "Fao"
+#~ msgstr "Fer"
+
+#~ msgid "Gre"
+#~ msgstr "Gre"
+
+#~ msgid "Group toggle on multiply/divide key"
+#~ msgstr "Grupează comutatorul la tasta de înmulțire/împărțire"
+
+#~ msgid "Gui"
+#~ msgstr "Gui"
+
+#~ msgid "Indigenous"
+#~ msgstr "Indigen"
+
+#~ msgid "Laos - STEA (proposed standard layout)"
+#~ msgstr "Laos - STEA (propunere de aranjament standard)"
+
+#~ msgid "Lav"
+#~ msgstr "Let"
+
+#~ msgid "Less-than/Greater-than"
+#~ msgstr "Mai mic ca/mai mare ca"
+
+#~ msgid "Mal"
+#~ msgstr "Mal"
+
+#~ msgid "Nep"
+#~ msgstr "Nep"
+
+#~ msgid "Nig"
+#~ msgstr "Nig"
+
+#~ msgid "Saisiyat"
+#~ msgstr "Saisiyat"
+
+#~ msgid "Scroll Lock"
+#~ msgstr "Scroll Lock"
+
+#~ msgid "SrL"
+#~ msgstr "SrL"
+
+#~ msgid "Taiwan"
+#~ msgstr "Taiwan"
+
+#~ msgid "Twn"
+#~ msgstr "Twn"
+
+#~ msgid "Zar"
+#~ msgstr "Zar"
diff --git a/xorg-server/xkeyboard-config/po/ru.po b/xorg-server/xkeyboard-config/po/ru.po
index d3e6cc5a3..819cd9bef 100644
--- a/xorg-server/xkeyboard-config/po/ru.po
+++ b/xorg-server/xkeyboard-config/po/ru.po
@@ -6,19 +6,20 @@
# Sergey E Kvyato <kvantos@plotinka.ru>, 2006.
# Nickolay V. Shmyrev <nshmyrev@yandex.ru>, 2006.
# Misha Shnurapet <zayzayats@yandex.ru>, 2010.
+# ChALkeR <chalkerx@gmail.com>, 2010.
# Yuri Kozlov <yuray@komyakino.ru>, 2009, 2010.
msgid ""
msgstr ""
-"Project-Id-Version: xkeyboard-config 1.9\n"
+"Project-Id-Version: xkeyboard-config 2.0\n"
"Report-Msgid-Bugs-To: svu@users.sourceforge.net\n"
-"POT-Creation-Date: 2010-05-11 21:34+0100\n"
-"PO-Revision-Date: 2010-05-12 21:16+0400\n"
+"POT-Creation-Date: 2010-09-15 21:57+0100\n"
+"PO-Revision-Date: 2010-09-16 18:38+0400\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
+"X-Generator: Lokalize 1.0\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: ../rules/base.xml.in.h:1
@@ -206,8 +207,8 @@ msgid "Alt is mapped to Right Win, Super to Menu"
msgstr "Alt соответствует правой клавише Win, а Super - Menu"
#: ../rules/base.xml.in.h:47
-msgid "Alt+CapsLock"
-msgstr "Alt+CapsLock"
+msgid "Alt+Caps Lock"
+msgstr "Alt+Caps Lock"
#: ../rules/base.xml.in.h:48
msgid "Alt+Ctrl"
@@ -298,8 +299,8 @@ msgid "Apple Aluminium Keyboard (JIS)"
msgstr "Алюминиевая клавиатура Apple (JIS)"
#: ../rules/base.xml.in.h:70
-msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll_Lock, Pause, NumLock)"
-msgstr "Алюминиевая клавиатура Apple: эмуляция клавиш ПК (Print, Scroll_Lock, Pause, NumLock)"
+msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num Lock)"
+msgstr "Алюминиевая клавиатура Apple: эмуляция клавиш ПК (Print, Scroll Lock, Pause, Num Lock)"
#: ../rules/base.xml.in.h:71
msgid "Apple Laptop"
@@ -338,2643 +339,2663 @@ msgid "At left of 'A'"
msgstr "Слева от 'A'"
#: ../rules/base.xml.in.h:80
+msgid "Austria"
+msgstr "Австрия"
+
+#: ../rules/base.xml.in.h:81
+msgid "Aut"
+msgstr "Aut"
+
+#: ../rules/base.xml.in.h:82
msgid "Avatime"
msgstr "Аватайм"
-#: ../rules/base.xml.in.h:81
+#: ../rules/base.xml.in.h:83
msgid "Aze"
msgstr "Aze"
-#: ../rules/base.xml.in.h:82
+#: ../rules/base.xml.in.h:84
msgid "Azerbaijan"
msgstr "Азербайджан"
-#: ../rules/base.xml.in.h:83
+#: ../rules/base.xml.in.h:85
msgid "Azona RF2300 wireless Internet Keyboard"
msgstr "Azona RF2300 wireless Internet Keyboard"
-#: ../rules/base.xml.in.h:84
+#: ../rules/base.xml.in.h:86
msgid "BTC 5090"
msgstr "BTC 5090"
-#: ../rules/base.xml.in.h:85
+#: ../rules/base.xml.in.h:87
msgid "BTC 5113RF Multimedia"
msgstr "BTC 5113RF Multimedia"
-#: ../rules/base.xml.in.h:86
+#: ../rules/base.xml.in.h:88
msgid "BTC 5126T"
msgstr "BTC 5126T"
-#: ../rules/base.xml.in.h:87
+#: ../rules/base.xml.in.h:89
msgid "BTC 6301URF"
msgstr "BTC 6301URF"
-#: ../rules/base.xml.in.h:88
+#: ../rules/base.xml.in.h:90
msgid "BTC 9000"
msgstr "BTC 9000"
-#: ../rules/base.xml.in.h:89
+#: ../rules/base.xml.in.h:91
msgid "BTC 9000A"
msgstr "BTC 9000A"
-#: ../rules/base.xml.in.h:90
+#: ../rules/base.xml.in.h:92
msgid "BTC 9001AH"
msgstr "BTC 9001AH"
-#: ../rules/base.xml.in.h:91
+#: ../rules/base.xml.in.h:93
msgid "BTC 9019U"
msgstr "BTC 9019U"
-#: ../rules/base.xml.in.h:92
+#: ../rules/base.xml.in.h:94
msgid "BTC 9116U Mini Wireless Internet and Gaming"
msgstr "BTC 9116U Mini Wireless Internet and Gaming"
-#: ../rules/base.xml.in.h:93
+#: ../rules/base.xml.in.h:95
msgid "Backslash"
msgstr "Backslash"
-#: ../rules/base.xml.in.h:94
+#: ../rules/base.xml.in.h:96
msgid "Bangladesh"
msgstr "Бангладеш"
-#: ../rules/base.xml.in.h:95
+#: ../rules/base.xml.in.h:97
msgid "Bashkirian"
msgstr "Башкирская"
-#: ../rules/base.xml.in.h:96
+#: ../rules/base.xml.in.h:98
msgid "Bel"
msgstr "Bel"
-#: ../rules/base.xml.in.h:97
+#: ../rules/base.xml.in.h:99
msgid "Belarus"
msgstr "Белоруссия"
-#: ../rules/base.xml.in.h:98
+#: ../rules/base.xml.in.h:100
msgid "Belgium"
msgstr "Бельгия"
-#: ../rules/base.xml.in.h:99
+#: ../rules/base.xml.in.h:101
msgid "BenQ X-Touch"
msgstr "BenQ X-Touch"
-#: ../rules/base.xml.in.h:100
+#: ../rules/base.xml.in.h:102
msgid "BenQ X-Touch 730"
msgstr "BenQ X-Touch 730"
-#: ../rules/base.xml.in.h:101
+#: ../rules/base.xml.in.h:103
msgid "BenQ X-Touch 800"
msgstr "BenQ X-Touch 800"
-#: ../rules/base.xml.in.h:102
+#: ../rules/base.xml.in.h:104
msgid "Bengali"
msgstr "Бенгальская"
-#: ../rules/base.xml.in.h:103
+#: ../rules/base.xml.in.h:105
msgid "Bengali Probhat"
msgstr "Бенгальская Пробат"
-#: ../rules/base.xml.in.h:104
+#: ../rules/base.xml.in.h:106
msgid "Bepo, ergonomic, Dvorak way"
msgstr "Бепо, эргономичная, похожая на Dvorak"
-#: ../rules/base.xml.in.h:105
+#: ../rules/base.xml.in.h:107
msgid "Bepo, ergonomic, Dvorak way, latin-9 only"
msgstr "Бепо, эргономичная, похожая на Dvorak, только latin-9"
-#: ../rules/base.xml.in.h:106
+#: ../rules/base.xml.in.h:108
msgid "Bgd"
msgstr "Bgd"
-#: ../rules/base.xml.in.h:107
+#: ../rules/base.xml.in.h:109
msgid "Bgr"
msgstr "Bgr"
-#: ../rules/base.xml.in.h:108
+#: ../rules/base.xml.in.h:110
msgid "Bhutan"
msgstr "Бутан"
-#: ../rules/base.xml.in.h:109
+#: ../rules/base.xml.in.h:111
msgid "Biblical Hebrew (Tiro)"
msgstr "Библейский иврит (Tiro)"
-#: ../rules/base.xml.in.h:110
+#: ../rules/base.xml.in.h:112
msgid "Bih"
msgstr "Bih"
-#: ../rules/base.xml.in.h:111
+#: ../rules/base.xml.in.h:113
msgid "Blr"
msgstr "Blr"
-#: ../rules/base.xml.in.h:112
+#: ../rules/base.xml.in.h:114
msgid "Bosnia and Herzegovina"
msgstr "Босния и Герцеговина"
-#: ../rules/base.xml.in.h:113
+#: ../rules/base.xml.in.h:115
msgid "Both Alt keys together"
msgstr "Обе клавиши Alt, нажатые вместе"
-#: ../rules/base.xml.in.h:114
+#: ../rules/base.xml.in.h:116
msgid "Both Ctrl keys together"
msgstr "Обе клавиши Ctrl, нажатые вместе"
-#: ../rules/base.xml.in.h:115
+#: ../rules/base.xml.in.h:117
msgid "Both Shift keys together"
msgstr "Обе клавиши Shift, нажатые вместе"
-#: ../rules/base.xml.in.h:116
-msgid "Both Shift-Keys together toggle CapsLock"
-msgstr "Обе клавиши Shift, нажатые вместе, переключают CapsLock"
+#: ../rules/base.xml.in.h:118
+msgid "Both Shift-Keys together toggle Caps Lock"
+msgstr "Обе клавиши Shift, нажатые вместе, переключают Caps Lock"
-#: ../rules/base.xml.in.h:117
+#: ../rules/base.xml.in.h:119
msgid "Botswana"
msgstr "Ботсвана"
-#: ../rules/base.xml.in.h:118
+#: ../rules/base.xml.in.h:120
msgid "Bra"
msgstr "Bra"
-#: ../rules/base.xml.in.h:119
+#: ../rules/base.xml.in.h:121
msgid "Braille"
msgstr "Брайля"
-#: ../rules/base.xml.in.h:120
+#: ../rules/base.xml.in.h:122
msgid "Brazil"
msgstr "Бразилия"
-#: ../rules/base.xml.in.h:121
+#: ../rules/base.xml.in.h:123
msgid "Breton"
msgstr "Бретонская"
-#: ../rules/base.xml.in.h:122
+#: ../rules/base.xml.in.h:124
msgid "Brl"
msgstr "Brl"
-#: ../rules/base.xml.in.h:123
+#: ../rules/base.xml.in.h:125
msgid "Brother Internet Keyboard"
msgstr "Brother Internet Keyboard"
-#: ../rules/base.xml.in.h:124
+#: ../rules/base.xml.in.h:126
msgid "Btn"
msgstr "Btn"
-#: ../rules/base.xml.in.h:125
+#: ../rules/base.xml.in.h:127
msgid "Buckwalter"
msgstr "Buckwalter"
-#: ../rules/base.xml.in.h:126
+#: ../rules/base.xml.in.h:128
msgid "Bulgaria"
msgstr "Болгария"
-#: ../rules/base.xml.in.h:127
+#: ../rules/base.xml.in.h:129
msgid "Bwa"
msgstr "Bwa"
-#: ../rules/base.xml.in.h:128
+#: ../rules/base.xml.in.h:130
msgid "COD"
msgstr "COD"
-#: ../rules/base.xml.in.h:129
+#: ../rules/base.xml.in.h:131
msgid "CRULP"
msgstr "CRULP"
-#: ../rules/base.xml.in.h:130
+#: ../rules/base.xml.in.h:132
msgid "Cambodia"
msgstr "Камбоджа"
-#: ../rules/base.xml.in.h:131
+#: ../rules/base.xml.in.h:133
msgid "Can"
msgstr "Can"
-#: ../rules/base.xml.in.h:132
+#: ../rules/base.xml.in.h:134
msgid "Canada"
msgstr "Канада"
-#: ../rules/base.xml.in.h:133
-msgid "CapsLock"
-msgstr "CapsLock"
-
-#: ../rules/base.xml.in.h:134
-msgid "CapsLock (to first layout), Shift+CapsLock (to last layout)"
-msgstr "CapsLock (на первую раскладку), Shift+CapsLock (на последнюю раскладку)"
-
#: ../rules/base.xml.in.h:135
-msgid "CapsLock (while pressed), Alt+CapsLock does the original capslock action"
-msgstr "CapsLock (пока нажата), Alt+CapsLock выполняет первоначальную функцию capslock"
+msgid "Caps Lock"
+msgstr "Caps Lock"
#: ../rules/base.xml.in.h:136
-msgid "CapsLock acts as Shift with locking. Shift \"pauses\" CapsLock"
-msgstr "CapsLock действует как Shift с блокировкой. Shift приостанавливает действие CapsLock"
+msgid "Caps Lock (to first layout), Shift+Caps Lock (to last layout)"
+msgstr "Caps Lock (на первую раскладку), Shift+Caps Lock (на последнюю раскладку)"
#: ../rules/base.xml.in.h:137
-msgid "CapsLock acts as Shift with locking. Shift doesn't affect CapsLock"
-msgstr "CapsLock действует как Shift с блокировкой. Shift не влияет на CapsLock"
+msgid "Caps Lock (while pressed), Alt+Caps Lock does the original capslock action"
+msgstr "Caps Lock (пока нажата), Alt+Caps Lock выполняет первоначальную функцию capslock"
#: ../rules/base.xml.in.h:138
-msgid "CapsLock is disabled"
-msgstr "CapsLock выключен"
+msgid "Caps Lock acts as Shift with locking. Shift \"pauses\" Caps Lock"
+msgstr "Caps Lock действует как Shift с блокировкой. Shift приостанавливает действие Caps Lock"
#: ../rules/base.xml.in.h:139
-msgid "CapsLock key behavior"
-msgstr "Поведение клавиши CapsLock"
+msgid "Caps Lock acts as Shift with locking. Shift doesn't affect Caps Lock"
+msgstr "Caps Lock действует как Shift с блокировкой. Shift не влияет на Caps Lock"
#: ../rules/base.xml.in.h:140
-msgid "CapsLock toggles Shift so all keys are affected"
-msgstr "CapsLock включает Shift, таким образом что, он действует сразу на все клавиши"
+msgid "Caps Lock is disabled"
+msgstr "Caps Lock выключен"
#: ../rules/base.xml.in.h:141
-msgid "CapsLock toggles normal capitalization of alphabetic characters"
-msgstr "CapsLock включает обычную капитализацию символов алфавита"
+msgid "Caps Lock key behavior"
+msgstr "Поведение клавиши Caps Lock"
#: ../rules/base.xml.in.h:142
-msgid "CapsLock uses internal capitalization. Shift \"pauses\" CapsLock"
-msgstr "CapsLock включает внутреннюю капитализацию. Shift приостанавливает действие CapsLock"
+msgid "Caps Lock toggles Shift so all keys are affected"
+msgstr "Caps Lock переключает Shift, таким образом что, он действует сразу на все клавиши"
#: ../rules/base.xml.in.h:143
-msgid "CapsLock uses internal capitalization. Shift doesn't affect CapsLock"
-msgstr "CapsLock включает внутреннюю капитализацию. Shift не влияет на CapsLock"
+msgid "Caps Lock toggles normal capitalization of alphabetic characters"
+msgstr "Caps Lock переключает обычную капитализацию символов алфавита"
#: ../rules/base.xml.in.h:144
+msgid "Caps Lock uses internal capitalization. Shift \"pauses\" Caps Lock"
+msgstr "Caps Lock включает внутреннюю капитализацию. Shift приостанавливает действие Caps Lock"
+
+#: ../rules/base.xml.in.h:145
+msgid "Caps Lock uses internal capitalization. Shift doesn't affect Caps Lock"
+msgstr "Caps Lock включает внутреннюю капитализацию. Shift не влияет на Caps Lock"
+
+#: ../rules/base.xml.in.h:146
msgid "Catalan variant with middle-dot L"
msgstr "Каталонский вариант с точкой в L посередине"
-#: ../rules/base.xml.in.h:145
+#: ../rules/base.xml.in.h:147
msgid "Cedilla"
msgstr "Седиль"
-#: ../rules/base.xml.in.h:146
+#: ../rules/base.xml.in.h:148
msgid "Che"
msgstr "Che"
-#: ../rules/base.xml.in.h:147
+#: ../rules/base.xml.in.h:149
msgid "Cherokee"
msgstr "Чероки"
-#: ../rules/base.xml.in.h:148
+#: ../rules/base.xml.in.h:150
msgid "Cherry B.UNLIMITED"
msgstr "Cherry B.UNLIMITED"
-#: ../rules/base.xml.in.h:149
+#: ../rules/base.xml.in.h:151
msgid "Cherry Blue Line CyBo@rd"
msgstr "Cherry Blue Line CyBo@rd"
-#: ../rules/base.xml.in.h:150
+#: ../rules/base.xml.in.h:152
msgid "Cherry Blue Line CyBo@rd (alternate option)"
msgstr "Cherry Blue Line CyBo@rd (альтернативный вариант)"
-#: ../rules/base.xml.in.h:151
+#: ../rules/base.xml.in.h:153
msgid "Cherry CyBo@rd USB-Hub"
msgstr "Cherry CyBo@rd USB-Hub"
-#: ../rules/base.xml.in.h:152
+#: ../rules/base.xml.in.h:154
msgid "Cherry CyMotion Expert"
msgstr "Cherry CyMotion Expert"
-#: ../rules/base.xml.in.h:153
+#: ../rules/base.xml.in.h:155
msgid "Cherry CyMotion Master Linux"
msgstr "Cherry CyMotion Master Linux"
-#: ../rules/base.xml.in.h:154
+#: ../rules/base.xml.in.h:156
msgid "Cherry CyMotion Master XPress"
msgstr " Cherry CyMotion Master Linux"
-#: ../rules/base.xml.in.h:155
+#: ../rules/base.xml.in.h:157
msgid "Chicony Internet Keyboard"
msgstr "Chicony Internet Keyboard"
-#: ../rules/base.xml.in.h:156
+#: ../rules/base.xml.in.h:158
msgid "Chicony KB-9885"
msgstr "Chicony KB-9885"
-#: ../rules/base.xml.in.h:157
+#: ../rules/base.xml.in.h:159
msgid "Chicony KU-0108"
msgstr "Chicony KU-0108"
-#: ../rules/base.xml.in.h:158
+#: ../rules/base.xml.in.h:160
msgid "Chicony KU-0420"
msgstr "Chicony KU-0420"
-#: ../rules/base.xml.in.h:159
+#: ../rules/base.xml.in.h:161
msgid "China"
msgstr "Китай"
-#: ../rules/base.xml.in.h:160
+#: ../rules/base.xml.in.h:162
msgid "Chn"
msgstr "Chn"
-#: ../rules/base.xml.in.h:161
+#: ../rules/base.xml.in.h:163
msgid "Chuvash"
msgstr "Чувашия"
-#: ../rules/base.xml.in.h:162
+#: ../rules/base.xml.in.h:164
msgid "Chuvash Latin"
msgstr "Чувашия, Латиница"
-#: ../rules/base.xml.in.h:163
+#: ../rules/base.xml.in.h:165
msgid "Classic"
msgstr "Классическая"
-#: ../rules/base.xml.in.h:164
+#: ../rules/base.xml.in.h:166
msgid "Classic Dvorak"
msgstr "Классическая Dvorak"
-#: ../rules/base.xml.in.h:165
+#: ../rules/base.xml.in.h:167
msgid "Classic, eliminate dead keys"
msgstr "Классическая, исключить специальные клавиши (dead keys)"
-#: ../rules/base.xml.in.h:166
+#: ../rules/base.xml.in.h:168
msgid "Classmate PC"
msgstr "Classmate PC"
-#: ../rules/base.xml.in.h:167
+#: ../rules/base.xml.in.h:169
msgid "CloGaelach"
msgstr "CloGaelach"
-#: ../rules/base.xml.in.h:168
+#: ../rules/base.xml.in.h:170
msgid "Colemak"
msgstr "Colemak"
-#: ../rules/base.xml.in.h:169
+#: ../rules/base.xml.in.h:171
msgid "Compaq Easy Access Keyboard"
msgstr "Compaq Easy Access Keyboard"
-#: ../rules/base.xml.in.h:170
+#: ../rules/base.xml.in.h:172
msgid "Compaq Internet Keyboard (13 keys)"
msgstr "Compaq Internet Keyboard (13 клавиш)"
-#: ../rules/base.xml.in.h:171
+#: ../rules/base.xml.in.h:173
msgid "Compaq Internet Keyboard (18 keys)"
msgstr "Compaq Internet Keyboard (18 клавиш)"
-#: ../rules/base.xml.in.h:172
+#: ../rules/base.xml.in.h:174
msgid "Compaq Internet Keyboard (7 keys)"
msgstr "Compaq Internet Keyboard (7 клавиш)"
-#: ../rules/base.xml.in.h:173
+#: ../rules/base.xml.in.h:175
msgid "Compaq iPaq Keyboard"
msgstr "Compaq iPaq Keyboard"
-#: ../rules/base.xml.in.h:174
+#: ../rules/base.xml.in.h:176
msgid "Compose key position"
msgstr "Положение клавиши Compose"
-#: ../rules/base.xml.in.h:175
+#: ../rules/base.xml.in.h:177
msgid "Congo, Democratic Republic of the"
msgstr "Конго, Демократическая республика"
-#: ../rules/base.xml.in.h:176
+#: ../rules/base.xml.in.h:178
msgid "Control + Alt + Backspace"
msgstr "Control + Alt + Backspace"
-#: ../rules/base.xml.in.h:177
+#: ../rules/base.xml.in.h:179
msgid "Control is mapped to Alt keys, Alt is mapped to Win keys"
msgstr "Control используется в качестве клавиш Alt, Alt используется в качестве клавиш Win"
-#: ../rules/base.xml.in.h:178
+#: ../rules/base.xml.in.h:180
msgid "Control is mapped to Win keys (and the usual Ctrl keys)"
msgstr "Control используется в качестве клавиш Win (и как обычный Control)"
-#: ../rules/base.xml.in.h:179
+#: ../rules/base.xml.in.h:181
msgid "Creative Desktop Wireless 7000"
msgstr "Creative Desktop Wireless 7000"
-#: ../rules/base.xml.in.h:180
+#: ../rules/base.xml.in.h:182
msgid "Crimean Tatar (Dobruca-1 Q)"
msgstr "Крымскотатарская (Dobruca-1 Q)"
-#: ../rules/base.xml.in.h:181
+#: ../rules/base.xml.in.h:183
msgid "Crimean Tatar (Dobruca-2 Q)"
msgstr "Крымскотатарская (Dobruca-2 Q)"
-#: ../rules/base.xml.in.h:182
+#: ../rules/base.xml.in.h:184
msgid "Crimean Tatar (Turkish Alt-Q)"
msgstr "Крымскотатарская (турецкая Alt-Q)"
-#: ../rules/base.xml.in.h:183
+#: ../rules/base.xml.in.h:185
msgid "Crimean Tatar (Turkish F)"
msgstr "Крымскотатарская (турецкая F)"
-#: ../rules/base.xml.in.h:184
+#: ../rules/base.xml.in.h:186
msgid "Crimean Tatar (Turkish Q)"
msgstr "Крымскотатарская (турецкая Q)"
-#: ../rules/base.xml.in.h:185
+#: ../rules/base.xml.in.h:187
msgid "Croatia"
msgstr "Хорватия"
-#: ../rules/base.xml.in.h:186
+#: ../rules/base.xml.in.h:188
msgid "Ctrl key position"
msgstr "Положение клавиши Ctrl"
-#: ../rules/base.xml.in.h:187
+#: ../rules/base.xml.in.h:189
msgid "Ctrl+Shift"
msgstr "Ctrl+Shift"
-#: ../rules/base.xml.in.h:188
+#: ../rules/base.xml.in.h:190
msgid "Cyrillic"
msgstr "Кириллица"
-#: ../rules/base.xml.in.h:189
+#: ../rules/base.xml.in.h:191
msgid "Cyrillic with guillemets"
msgstr "Кириллица с кавычками ёлочками"
-#: ../rules/base.xml.in.h:190
+#: ../rules/base.xml.in.h:192
msgid "Cyrillic, Z and ZHE swapped"
msgstr "Кириллица, З и Ж переставлены местами"
-#: ../rules/base.xml.in.h:191
+#: ../rules/base.xml.in.h:193
msgid "Cze"
msgstr "Cze"
-#: ../rules/base.xml.in.h:192
+#: ../rules/base.xml.in.h:194
msgid "Czechia"
msgstr "Чехия"
-#: ../rules/base.xml.in.h:193
+#: ../rules/base.xml.in.h:195
msgid "DOS"
msgstr "DOS"
-#: ../rules/base.xml.in.h:194
+#: ../rules/base.xml.in.h:196
msgid "DTK2000"
msgstr "DTK2000"
-#: ../rules/base.xml.in.h:195
+#: ../rules/base.xml.in.h:197
msgid "Dead acute"
msgstr "Спец. символ Dead acute"
-#: ../rules/base.xml.in.h:196
+#: ../rules/base.xml.in.h:198
msgid "Dead grave acute"
msgstr "Спец. символ Dead grave acute"
-#: ../rules/base.xml.in.h:197
+#: ../rules/base.xml.in.h:199
msgid "Default numeric keypad keys"
msgstr "Клавиши цифровой клавиатуры по умолчанию"
-#: ../rules/base.xml.in.h:198
+#: ../rules/base.xml.in.h:200
msgid "Dell"
msgstr "Dell"
-#: ../rules/base.xml.in.h:199
+#: ../rules/base.xml.in.h:201
msgid "Dell 101-key PC"
msgstr "Dell 101-клавишный PC"
-#: ../rules/base.xml.in.h:200
+#: ../rules/base.xml.in.h:202
msgid "Dell Laptop/notebook Inspiron 6xxx/8xxx"
msgstr "Ноутбук Dell Inspiron из серий 6xxx/8xxx"
-#: ../rules/base.xml.in.h:201
+#: ../rules/base.xml.in.h:203
msgid "Dell Laptop/notebook Precision M series"
msgstr "Ноутбук Dell Precision из серии M"
-#: ../rules/base.xml.in.h:202
+#: ../rules/base.xml.in.h:204
msgid "Dell Latitude series laptop"
msgstr "Ноутбук Dell из серии Latitude"
-#: ../rules/base.xml.in.h:203
+#: ../rules/base.xml.in.h:205
msgid "Dell Precision M65"
msgstr "Dell Precision M65"
-#: ../rules/base.xml.in.h:204
+#: ../rules/base.xml.in.h:206
msgid "Dell SK-8125"
msgstr "Dell SK-8125"
-#: ../rules/base.xml.in.h:205
+#: ../rules/base.xml.in.h:207
msgid "Dell SK-8135"
msgstr "Dell SK-8135"
-#: ../rules/base.xml.in.h:206
+#: ../rules/base.xml.in.h:208
msgid "Dell USB Multimedia Keyboard"
msgstr "Dell USB Multimedia Keyboard"
-#: ../rules/base.xml.in.h:207
+#: ../rules/base.xml.in.h:209
msgid "Denmark"
msgstr "Дания"
-#: ../rules/base.xml.in.h:208
+#: ../rules/base.xml.in.h:210
msgid "Deu"
msgstr "Deu"
-#: ../rules/base.xml.in.h:209
+#: ../rules/base.xml.in.h:211
msgid "Dexxa Wireless Desktop Keyboard"
msgstr "Dexxa Wireless Desktop Keyboard"
-#: ../rules/base.xml.in.h:210
+#: ../rules/base.xml.in.h:212
msgid "Diamond 9801 / 9802 series"
msgstr "Модели Diamond 9801/9802"
-#: ../rules/base.xml.in.h:211
+#: ../rules/base.xml.in.h:213
msgid "Dnk"
msgstr "Dnk"
-#: ../rules/base.xml.in.h:212
+#: ../rules/base.xml.in.h:214
msgid "Dvorak"
msgstr "Дворак"
-#: ../rules/base.xml.in.h:213
+#: ../rules/base.xml.in.h:215
msgid "Dvorak (UK Punctuation)"
msgstr "Дворак (английская расстановка)"
-#: ../rules/base.xml.in.h:214
+#: ../rules/base.xml.in.h:216
msgid "Dvorak alternative international (no dead keys)"
msgstr "Дворак альтернативная международная (нет спец. клавиш)"
-#: ../rules/base.xml.in.h:215
+#: ../rules/base.xml.in.h:217
msgid "Dvorak international (with dead keys)"
msgstr "Дворак международная, со спец. клавишами"
-#: ../rules/base.xml.in.h:216
+#: ../rules/base.xml.in.h:218
msgid "Dvorak, Polish quotes on key 1"
msgstr "Дворак, польские кавычки на клавише 1"
-#: ../rules/base.xml.in.h:217
+#: ../rules/base.xml.in.h:219
msgid "Dvorak, Polish quotes on quotemark key"
msgstr "Дворак, польские кавычки на клавишах с кавычками"
-#: ../rules/base.xml.in.h:218
+#: ../rules/base.xml.in.h:220
msgid "E"
msgstr "E"
-#: ../rules/base.xml.in.h:219
+#: ../rules/base.xml.in.h:221
msgid "Eastern"
msgstr "Восточный"
-#: ../rules/base.xml.in.h:220
+#: ../rules/base.xml.in.h:222
msgid "Eliminate dead keys"
msgstr "Исключить специальные клавиши (dead keys)"
-#: ../rules/base.xml.in.h:221
+#: ../rules/base.xml.in.h:223
msgid "Enable extra typographic characters"
msgstr "Включить дополнительные типографские символы"
-#: ../rules/base.xml.in.h:222
+#: ../rules/base.xml.in.h:224
msgid "English"
msgstr "Английская"
-#: ../rules/base.xml.in.h:223
+#: ../rules/base.xml.in.h:225
msgid "English (USA International)"
msgstr "Английская (международная США)"
-#: ../rules/base.xml.in.h:224
+#: ../rules/base.xml.in.h:226
msgid "English (USA Macintosh)"
msgstr "Английская (Macintosh США)"
-#: ../rules/base.xml.in.h:225
+#: ../rules/base.xml.in.h:227
msgid "Ennyah DKB-1008"
msgstr "Ennyah DKB-1008"
-#: ../rules/base.xml.in.h:226
+#: ../rules/base.xml.in.h:228
msgid "Enter on keypad"
msgstr "Enter на цифровой клавиатуре"
-#: ../rules/base.xml.in.h:227
+#: ../rules/base.xml.in.h:229
msgid "Epo"
msgstr "Epo"
-#: ../rules/base.xml.in.h:228
+#: ../rules/base.xml.in.h:230
msgid "Ergonomic"
msgstr "Ergonomic"
-#: ../rules/base.xml.in.h:229
+#: ../rules/base.xml.in.h:231
msgid "Esp"
msgstr "Esp"
-#: ../rules/base.xml.in.h:230
+#: ../rules/base.xml.in.h:232
msgid "Esperanto"
msgstr "Эсперанто"
-#: ../rules/base.xml.in.h:231
+#: ../rules/base.xml.in.h:233
msgid "Est"
msgstr "Est"
-#: ../rules/base.xml.in.h:232
+#: ../rules/base.xml.in.h:234
msgid "Estonia"
msgstr "Эстония"
-#: ../rules/base.xml.in.h:233
+#: ../rules/base.xml.in.h:235
msgid "Eth"
msgstr "Eth"
-#: ../rules/base.xml.in.h:234
+#: ../rules/base.xml.in.h:236
msgid "Ethiopia"
msgstr "Эфиопия"
-#: ../rules/base.xml.in.h:235
+#: ../rules/base.xml.in.h:237
msgid "Everex STEPnote"
msgstr "Everex STEPnote"
-#: ../rules/base.xml.in.h:236
+#: ../rules/base.xml.in.h:238
msgid "Ewe"
msgstr "Ewe"
-#: ../rules/base.xml.in.h:237
+#: ../rules/base.xml.in.h:239
msgid "Extended"
msgstr "Расширенная"
-#: ../rules/base.xml.in.h:238
+#: ../rules/base.xml.in.h:240
msgid "Extended - Winkeys"
msgstr "Расширенная, клавиши Win"
-#: ../rules/base.xml.in.h:239
+#: ../rules/base.xml.in.h:241
msgid "Extended Backslash"
msgstr "Расширенные функции Backslash"
-#: ../rules/base.xml.in.h:240
+#: ../rules/base.xml.in.h:242
msgid "F-letter (F) variant"
msgstr "Вариант с F"
-#: ../rules/base.xml.in.h:241
+#: ../rules/base.xml.in.h:243
msgid "FL90"
msgstr "FL90"
-#: ../rules/base.xml.in.h:242
+#: ../rules/base.xml.in.h:244
msgid "Faroe Islands"
msgstr "Острова Фаро"
-#: ../rules/base.xml.in.h:243
+#: ../rules/base.xml.in.h:245
msgid "Fin"
msgstr "Fin"
-#: ../rules/base.xml.in.h:244
+#: ../rules/base.xml.in.h:246
msgid "Finland"
msgstr "Финляндия"
#. This assumes the KP_ abstract symbols are actually useful for some apps
#. The description needs to be rewritten
-#: ../rules/base.xml.in.h:247
+#: ../rules/base.xml.in.h:249
msgid "Four-level key with abstract separators"
msgstr "Четырёх-рядная клавиша с абстрактными разделителями"
-#: ../rules/base.xml.in.h:248
+#: ../rules/base.xml.in.h:250
msgid "Four-level key with comma"
msgstr "Четырёх-рядная клавиша с запятой"
-#: ../rules/base.xml.in.h:249
+#: ../rules/base.xml.in.h:251
msgid "Four-level key with dot"
msgstr "Четырёх-рядная клавиша с точкой"
-#: ../rules/base.xml.in.h:250
+#: ../rules/base.xml.in.h:252
msgid "Four-level key with dot, latin-9 restriction"
msgstr "Четырёх-рядная клавиша с точкой, ограничена latin-9"
-#: ../rules/base.xml.in.h:251
+#: ../rules/base.xml.in.h:253
msgid "Four-level key with momayyez"
msgstr "Четырёх-рядная клавиша с momayyez"
-#: ../rules/base.xml.in.h:252
+#: ../rules/base.xml.in.h:254
msgid "Fra"
msgstr "Fra"
-#: ../rules/base.xml.in.h:253
+#: ../rules/base.xml.in.h:255
msgid "France"
msgstr "Франция"
-#: ../rules/base.xml.in.h:254
+#: ../rules/base.xml.in.h:256
msgid "Français (France Alternative)"
msgstr "Французская (французская альтернативная)"
-#: ../rules/base.xml.in.h:255
+#: ../rules/base.xml.in.h:257
msgid "French"
msgstr "Французская"
-#: ../rules/base.xml.in.h:256
+#: ../rules/base.xml.in.h:258
msgid "French (Macintosh)"
msgstr "Французская (Macintosh)"
-#: ../rules/base.xml.in.h:257
+#: ../rules/base.xml.in.h:259
msgid "French (legacy)"
msgstr "Французская (унаследованная)"
-#: ../rules/base.xml.in.h:258
+#: ../rules/base.xml.in.h:260
msgid "French Dvorak"
msgstr "Французская Dvorak"
-#: ../rules/base.xml.in.h:259
+#: ../rules/base.xml.in.h:261
msgid "French, Sun dead keys"
msgstr "Французская, специальные клавиши (dead keys) Sun"
-#: ../rules/base.xml.in.h:260
+#: ../rules/base.xml.in.h:262
msgid "French, eliminate dead keys"
msgstr "Французская, исключить специальные клавиши (dead keys)"
-#: ../rules/base.xml.in.h:261
+#: ../rules/base.xml.in.h:263
msgid "Fro"
msgstr "Fro"
-#: ../rules/base.xml.in.h:262
+#: ../rules/base.xml.in.h:264
msgid "Fujitsu-Siemens Computers AMILO laptop"
msgstr "Ноутбук Fujitsu-Siemens Computers AMILO"
-#: ../rules/base.xml.in.h:263
+#: ../rules/base.xml.in.h:265
msgid "Fula"
msgstr "Fula"
-#: ../rules/base.xml.in.h:264
+#: ../rules/base.xml.in.h:266
msgid "GBr"
msgstr "GBr"
-#: ../rules/base.xml.in.h:265
+#: ../rules/base.xml.in.h:267
msgid "GILLBT"
msgstr "GILLBT"
-#: ../rules/base.xml.in.h:266
+#: ../rules/base.xml.in.h:268
msgid "Ga"
msgstr "Ga"
-#: ../rules/base.xml.in.h:267
+#: ../rules/base.xml.in.h:269
msgid "Generic 101-key PC"
msgstr "Обычная 101-клавишная"
-#: ../rules/base.xml.in.h:268
+#: ../rules/base.xml.in.h:270
msgid "Generic 102-key (Intl) PC"
msgstr "Обычная 102-клавишная (межд)"
-#: ../rules/base.xml.in.h:269
+#: ../rules/base.xml.in.h:271
msgid "Generic 104-key PC"
msgstr "Обычная 104-клавишная"
-#: ../rules/base.xml.in.h:270
+#: ../rules/base.xml.in.h:272
msgid "Generic 105-key (Intl) PC"
msgstr "Обычная 105-клавишная (межд)"
-#: ../rules/base.xml.in.h:271
+#: ../rules/base.xml.in.h:273
msgid "Genius Comfy KB-12e"
msgstr "Genius Comfy KB-12e"
-#: ../rules/base.xml.in.h:272
+#: ../rules/base.xml.in.h:274
msgid "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
msgstr "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
-#: ../rules/base.xml.in.h:273
+#: ../rules/base.xml.in.h:275
msgid "Genius Comfy KB-21e-Scroll"
msgstr "Genius Comfy KB-21e-Scroll"
-#: ../rules/base.xml.in.h:274
+#: ../rules/base.xml.in.h:276
msgid "Genius KB-19e NB"
msgstr "Genius KB-19e NB"
-#: ../rules/base.xml.in.h:275
+#: ../rules/base.xml.in.h:277
msgid "Genius KKB-2050HS"
msgstr "Genius KKB-2050HS"
-#: ../rules/base.xml.in.h:276
+#: ../rules/base.xml.in.h:278
msgid "Geo"
msgstr "Geo"
-#: ../rules/base.xml.in.h:277
+#: ../rules/base.xml.in.h:279
msgid "Georgia"
msgstr "Грузия"
-#: ../rules/base.xml.in.h:278
+#: ../rules/base.xml.in.h:280
msgid "Georgian"
msgstr "Грузинская"
-#: ../rules/base.xml.in.h:279
+#: ../rules/base.xml.in.h:281
msgid "Georgian AZERTY Tskapo"
msgstr "Грузинская AZERTY Tskapo"
-#: ../rules/base.xml.in.h:280
+#: ../rules/base.xml.in.h:282
msgid "German (Macintosh)"
msgstr "Немецкая (Macintosh)"
-#: ../rules/base.xml.in.h:281
+#: ../rules/base.xml.in.h:283
msgid "German, Sun dead keys"
msgstr "Немецкая, специальные клавиши (dead keys) Sun"
-#: ../rules/base.xml.in.h:282
+#: ../rules/base.xml.in.h:284
msgid "German, eliminate dead keys"
msgstr "Немецкая, исключить специальные клавиши (dead keys)"
-#: ../rules/base.xml.in.h:283
+#: ../rules/base.xml.in.h:285
msgid "Germany"
msgstr "Германия"
-#: ../rules/base.xml.in.h:284
+#: ../rules/base.xml.in.h:286
msgid "Gha"
msgstr "Gha"
-#: ../rules/base.xml.in.h:285
+#: ../rules/base.xml.in.h:287
msgid "Ghana"
msgstr "Гана"
-#: ../rules/base.xml.in.h:286
+#: ../rules/base.xml.in.h:288
msgid "Gin"
msgstr "Gin"
-#: ../rules/base.xml.in.h:287
+#: ../rules/base.xml.in.h:289
msgid "Grc"
msgstr "Grc"
-#: ../rules/base.xml.in.h:288
+#: ../rules/base.xml.in.h:290
msgid "Greece"
msgstr "Греция"
-#: ../rules/base.xml.in.h:289
+#: ../rules/base.xml.in.h:291
msgid "Guinea"
msgstr "Гвинея"
-#: ../rules/base.xml.in.h:290
+#: ../rules/base.xml.in.h:292
msgid "Gujarati"
msgstr "Гуджарати"
-#: ../rules/base.xml.in.h:291
+#: ../rules/base.xml.in.h:293
msgid "Gurmukhi"
msgstr "Гурмукхи"
-#: ../rules/base.xml.in.h:292
+#: ../rules/base.xml.in.h:294
msgid "Gurmukhi Jhelum"
msgstr "Гурмукхи Jhelum"
-#: ../rules/base.xml.in.h:293
+#: ../rules/base.xml.in.h:295
msgid "Gyration"
msgstr "Гирашн"
-#: ../rules/base.xml.in.h:294
+#: ../rules/base.xml.in.h:296
msgid "Happy Hacking Keyboard"
msgstr "Happy Hacking Keyboard"
-#: ../rules/base.xml.in.h:295
+#: ../rules/base.xml.in.h:297
msgid "Happy Hacking Keyboard for Mac"
msgstr "Happy Hacking Keyboard для Mac"
-#: ../rules/base.xml.in.h:296
+#: ../rules/base.xml.in.h:298
msgid "Hausa"
msgstr "Хауза"
-#: ../rules/base.xml.in.h:297
+#: ../rules/base.xml.in.h:299
msgid "Hewlett-Packard Internet Keyboard"
msgstr "Hewlett-Packard Internet Keyboard"
-#: ../rules/base.xml.in.h:298
+#: ../rules/base.xml.in.h:300
msgid "Hewlett-Packard Mini 110 Notebook"
msgstr "Hewlett-Packard Mini 110 Notebook"
-#: ../rules/base.xml.in.h:299
+#: ../rules/base.xml.in.h:301
msgid "Hewlett-Packard Omnibook 500 FA"
msgstr "Hewlett-Packard Omnibook 500 FA"
-#: ../rules/base.xml.in.h:300
+#: ../rules/base.xml.in.h:302
msgid "Hewlett-Packard Omnibook 5xx"
msgstr "Hewlett-Packard Omnibook 5xx"
-#: ../rules/base.xml.in.h:301
+#: ../rules/base.xml.in.h:303
msgid "Hewlett-Packard Omnibook 6000/6100"
msgstr "Hewlett-Packard Omnibook 6000/6100"
-#: ../rules/base.xml.in.h:302
+#: ../rules/base.xml.in.h:304
msgid "Hewlett-Packard Omnibook XE3 GC"
msgstr "Hewlett-Packard Omnibook XE3 GC"
-#: ../rules/base.xml.in.h:303
+#: ../rules/base.xml.in.h:305
msgid "Hewlett-Packard Omnibook XE3 GF"
msgstr "Hewlett-Packard Omnibook XE3 GF"
-#: ../rules/base.xml.in.h:304
+#: ../rules/base.xml.in.h:306
msgid "Hewlett-Packard Omnibook XT1000"
msgstr "Hewlett-Packard Omnibook XT1000"
-#: ../rules/base.xml.in.h:305
+#: ../rules/base.xml.in.h:307
msgid "Hewlett-Packard Pavilion ZT11xx"
msgstr "Hewlett-Packard Pavilion ZT11xx"
-#: ../rules/base.xml.in.h:306
+#: ../rules/base.xml.in.h:308
msgid "Hewlett-Packard Pavilion dv5"
msgstr "Hewlett-Packard Pavilion dv5"
-#: ../rules/base.xml.in.h:307
+#: ../rules/base.xml.in.h:309
msgid "Hewlett-Packard SK-250x Multimedia Keyboard"
msgstr "Hewlett-Packard SK-250x Multimedia Keyboard"
-#: ../rules/base.xml.in.h:308
+#: ../rules/base.xml.in.h:310
msgid "Hewlett-Packard nx9020"
msgstr "Hewlett-Packard nx9020"
-#: ../rules/base.xml.in.h:309
+#: ../rules/base.xml.in.h:311
msgid "Hexadecimal"
msgstr "Шестнадцатеричная"
-#: ../rules/base.xml.in.h:310
+#: ../rules/base.xml.in.h:312
msgid "Hindi Bolnagri"
msgstr "Хинди Болнагри"
-#: ../rules/base.xml.in.h:311
+#: ../rules/base.xml.in.h:313
msgid "Hindi Wx"
msgstr "Хинди Wx"
-#: ../rules/base.xml.in.h:312
+#: ../rules/base.xml.in.h:314
msgid "Homophonic"
msgstr "Омофоническая"
-#: ../rules/base.xml.in.h:313
+#: ../rules/base.xml.in.h:315
msgid "Honeywell Euroboard"
msgstr "Honeywell Euroboard"
-#: ../rules/base.xml.in.h:314
+#: ../rules/base.xml.in.h:316
msgid "Hrv"
msgstr "Hrv"
-#: ../rules/base.xml.in.h:315
+#: ../rules/base.xml.in.h:317
msgid "Hun"
msgstr "Hun"
-#: ../rules/base.xml.in.h:316
+#: ../rules/base.xml.in.h:318
msgid "Hungary"
msgstr "Венгрия"
-#: ../rules/base.xml.in.h:317
+#: ../rules/base.xml.in.h:319
msgid "Hyper is mapped to Win-keys"
msgstr "Hyper соответствует клавишам Win"
-#: ../rules/base.xml.in.h:318
+#: ../rules/base.xml.in.h:320
msgid "IBM (LST 1205-92)"
msgstr "IBM (LST 1205-92)"
-#: ../rules/base.xml.in.h:319
+#: ../rules/base.xml.in.h:321
msgid "IBM Rapid Access"
msgstr "IBM Rapid Access"
-#: ../rules/base.xml.in.h:320
+#: ../rules/base.xml.in.h:322
msgid "IBM Rapid Access II"
msgstr "IBM Rapid Access II"
-#: ../rules/base.xml.in.h:321
+#: ../rules/base.xml.in.h:323
msgid "IBM Space Saver"
msgstr "IBM Space Saver"
-#: ../rules/base.xml.in.h:322
+#: ../rules/base.xml.in.h:324
msgid "IBM ThinkPad 560Z/600/600E/A22E"
msgstr "IBM ThinkPad 560Z/600/600E/A22E"
-#: ../rules/base.xml.in.h:323
+#: ../rules/base.xml.in.h:325
msgid "IBM ThinkPad R60/T60/R61/T61"
msgstr "IBM ThinkPad R60/T60/R61/T61"
-#: ../rules/base.xml.in.h:324
+#: ../rules/base.xml.in.h:326
msgid "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
msgstr "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
-#: ../rules/base.xml.in.h:325
+#: ../rules/base.xml.in.h:327
msgid "ISO Alternate"
msgstr "Дополнительная ISO"
-#: ../rules/base.xml.in.h:326
+#: ../rules/base.xml.in.h:328
msgid "Iceland"
msgstr "Исландия"
-#: ../rules/base.xml.in.h:327
+#: ../rules/base.xml.in.h:329
msgid "Igbo"
msgstr "Igbo"
-#: ../rules/base.xml.in.h:328
+#: ../rules/base.xml.in.h:330
msgid "Include dead tilde"
msgstr "Включить \"специальную\" тильду"
-#: ../rules/base.xml.in.h:329
+#: ../rules/base.xml.in.h:331
msgid "Ind"
msgstr "Ind"
-#: ../rules/base.xml.in.h:330
+#: ../rules/base.xml.in.h:332
msgid "India"
msgstr "Индия"
-#: ../rules/base.xml.in.h:331
+#: ../rules/base.xml.in.h:333
msgid "International (AltGr dead keys)"
msgstr "Международная, AltGr и спец. клавишами (dead keys)"
-#: ../rules/base.xml.in.h:332
+#: ../rules/base.xml.in.h:334
msgid "International (with dead keys)"
msgstr "Международная, со спец. клавишами (dead keys)"
-#: ../rules/base.xml.in.h:333
+#: ../rules/base.xml.in.h:335
msgid "Inuktitut"
msgstr "Иннуитская"
-#: ../rules/base.xml.in.h:334
+#: ../rules/base.xml.in.h:336 ../rules/base.extras.xml.in.h:8
msgid "Iran"
msgstr "Иран"
-#: ../rules/base.xml.in.h:335
+#: ../rules/base.xml.in.h:337
msgid "Iraq"
msgstr "Ирак"
-#: ../rules/base.xml.in.h:336
+#: ../rules/base.xml.in.h:338
msgid "Ireland"
msgstr "Ирландия"
-#: ../rules/base.xml.in.h:337
+#: ../rules/base.xml.in.h:339
msgid "Irl"
msgstr "Irl"
-#: ../rules/base.xml.in.h:338
+#: ../rules/base.xml.in.h:340
msgid "Irn"
msgstr "Irn"
-#: ../rules/base.xml.in.h:339
+#: ../rules/base.xml.in.h:341
msgid "Irq"
msgstr "Irq"
-#: ../rules/base.xml.in.h:340
+#: ../rules/base.xml.in.h:342
msgid "Isl"
msgstr "Isl"
-#: ../rules/base.xml.in.h:341
+#: ../rules/base.xml.in.h:343
msgid "Isr"
msgstr "Isr"
-#: ../rules/base.xml.in.h:342
+#: ../rules/base.xml.in.h:344
msgid "Israel"
msgstr "Израиль"
-#: ../rules/base.xml.in.h:343
+#: ../rules/base.xml.in.h:345
msgid "Ita"
msgstr "Ita"
-#: ../rules/base.xml.in.h:344
+#: ../rules/base.xml.in.h:346
msgid "Italy"
msgstr "Италия"
-#: ../rules/base.xml.in.h:345
+#: ../rules/base.xml.in.h:347
msgid "Japan"
msgstr "Япония"
-#: ../rules/base.xml.in.h:346
+#: ../rules/base.xml.in.h:348
msgid "Japan (PC-98xx Series)"
msgstr "Japan (PC-98xx Series)"
-#: ../rules/base.xml.in.h:347
+#: ../rules/base.xml.in.h:349
msgid "Japanese keyboard options"
msgstr "Настройки японской клавиатуры"
-#: ../rules/base.xml.in.h:348
+#: ../rules/base.xml.in.h:350
msgid "Jpn"
msgstr "Jpn"
-#: ../rules/base.xml.in.h:349
+#: ../rules/base.xml.in.h:351
msgid "Kalmyk"
msgstr "Калмыкская"
-#: ../rules/base.xml.in.h:350
+#: ../rules/base.xml.in.h:352
msgid "Kana"
msgstr "Кана"
-#: ../rules/base.xml.in.h:351
+#: ../rules/base.xml.in.h:353
msgid "Kana Lock key is locking"
msgstr "Кана блокируется клавишей Lock"
-#: ../rules/base.xml.in.h:352
+#: ../rules/base.xml.in.h:354
msgid "Kannada"
msgstr "Каннада"
-#: ../rules/base.xml.in.h:353
+#: ../rules/base.xml.in.h:355
msgid "Kashubian"
msgstr "Кашубский"
-#: ../rules/base.xml.in.h:354
+#: ../rules/base.xml.in.h:356
msgid "Kaz"
msgstr "Kaz"
-#: ../rules/base.xml.in.h:355
+#: ../rules/base.xml.in.h:357
msgid "Kazakh with Russian"
msgstr "Казахский с Русским"
-#: ../rules/base.xml.in.h:356
+#: ../rules/base.xml.in.h:358
msgid "Kazakhstan"
msgstr "Казахстан"
-#: ../rules/base.xml.in.h:357
+#: ../rules/base.xml.in.h:359
msgid "Ken"
msgstr "Ken"
-#: ../rules/base.xml.in.h:358
+#: ../rules/base.xml.in.h:360
msgid "Kenya"
msgstr "Кения"
-#: ../rules/base.xml.in.h:359
+#: ../rules/base.xml.in.h:361
msgid "Key sequence to kill the X server"
msgstr "Комбинация клавиш для прерывания работы X-сервера"
-#: ../rules/base.xml.in.h:360
+#: ../rules/base.xml.in.h:362
msgid "Key to choose 3rd level"
msgstr "Клавиша для выбора 3-го ряда"
-#: ../rules/base.xml.in.h:361
+#: ../rules/base.xml.in.h:363
msgid "Key to choose 5th level"
msgstr "Клавиша для выбора 5-го ряда"
-#: ../rules/base.xml.in.h:362
+#: ../rules/base.xml.in.h:364
msgid "Key(s) to change layout"
msgstr "Клавиша(и) для смены раскладки"
-#: ../rules/base.xml.in.h:363
+#: ../rules/base.xml.in.h:365
msgid "Keytronic FlexPro"
msgstr "Keytronic FlexPro"
-#: ../rules/base.xml.in.h:364
+#: ../rules/base.xml.in.h:366
msgid "Kgz"
msgstr "Kgz"
-#: ../rules/base.xml.in.h:365
+#: ../rules/base.xml.in.h:367
msgid "Khm"
msgstr "Khm"
-#: ../rules/base.xml.in.h:366
+#: ../rules/base.xml.in.h:368
msgid "Kikuyu"
msgstr "Кикуйу"
-#: ../rules/base.xml.in.h:367
+#: ../rules/base.xml.in.h:369
+msgid "Kinesis"
+msgstr "Kinesis"
+
+#: ../rules/base.xml.in.h:370
msgid "Komi"
msgstr "Коми"
-#: ../rules/base.xml.in.h:368
+#: ../rules/base.xml.in.h:371
msgid "Kor"
msgstr "Kor"
-#: ../rules/base.xml.in.h:369
+#: ../rules/base.xml.in.h:372
msgid "Korea, Republic of"
msgstr "Республика Корея"
-#: ../rules/base.xml.in.h:370
+#: ../rules/base.xml.in.h:373
msgid "Ktunaxa"
msgstr "Кутенай"
-#: ../rules/base.xml.in.h:371
+#: ../rules/base.xml.in.h:374
msgid "Kurdish, (F)"
msgstr "Курдская, (F)"
-#: ../rules/base.xml.in.h:372
+#: ../rules/base.xml.in.h:375
msgid "Kurdish, Arabic-Latin"
msgstr "Курдская, Арабско-латинская"
-#: ../rules/base.xml.in.h:373
+#: ../rules/base.xml.in.h:376
msgid "Kurdish, Latin Alt-Q"
msgstr "Курдская, Латиница Alt-Q"
-#: ../rules/base.xml.in.h:374
+#: ../rules/base.xml.in.h:377
msgid "Kurdish, Latin Q"
msgstr "Курдская, Латиница Q"
-#: ../rules/base.xml.in.h:375
+#: ../rules/base.xml.in.h:378
msgid "Kyrgyzstan"
msgstr "Киргизия"
-#: ../rules/base.xml.in.h:376
+#: ../rules/base.xml.in.h:379
msgid "LAm"
msgstr "LAm"
-#: ../rules/base.xml.in.h:377
+#: ../rules/base.xml.in.h:380
msgid "LEKP"
msgstr "LEKP"
-#: ../rules/base.xml.in.h:378
+#: ../rules/base.xml.in.h:381
msgid "LEKPa"
msgstr "LEKPa"
-#: ../rules/base.xml.in.h:379
+#: ../rules/base.xml.in.h:382
msgid "Lao"
msgstr "Lao"
-#: ../rules/base.xml.in.h:380
+#: ../rules/base.xml.in.h:383
msgid "Laos"
msgstr "Лаос"
-#: ../rules/base.xml.in.h:381
+#: ../rules/base.xml.in.h:384
msgid "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard"
msgstr "Клавиатура ноутбука Compaq (например, Armada)"
-#: ../rules/base.xml.in.h:382
+#: ../rules/base.xml.in.h:385
msgid "Laptop/notebook Compaq (eg. Presario) Internet Keyboard"
msgstr "«Интернет-клавиатура» ноутбука Compaq (например, Presario)"
-#: ../rules/base.xml.in.h:383
+#: ../rules/base.xml.in.h:386
msgid "Laptop/notebook eMachines m68xx"
msgstr "Ноутбук eMachines из серии m68xx"
-#: ../rules/base.xml.in.h:384
+#: ../rules/base.xml.in.h:387
msgid "Latin"
msgstr "Латинская"
-#: ../rules/base.xml.in.h:385
+#: ../rules/base.xml.in.h:388
msgid "Latin American"
msgstr "Латиноамериканская"
-#: ../rules/base.xml.in.h:386
+#: ../rules/base.xml.in.h:389
msgid "Latin Unicode"
msgstr "Латинская Юникодная"
-#: ../rules/base.xml.in.h:387
+#: ../rules/base.xml.in.h:390
msgid "Latin Unicode qwerty"
msgstr "Латинская Юникодная qwerty"
-#: ../rules/base.xml.in.h:388
+#: ../rules/base.xml.in.h:391
msgid "Latin qwerty"
msgstr "Латинская qwerty"
-#: ../rules/base.xml.in.h:389
+#: ../rules/base.xml.in.h:392
msgid "Latin unicode"
msgstr "Латинская юникодная"
-#: ../rules/base.xml.in.h:390
+#: ../rules/base.xml.in.h:393
msgid "Latin unicode qwerty"
msgstr "Латинская юникодная qwerty"
-#: ../rules/base.xml.in.h:391
+#: ../rules/base.xml.in.h:394
msgid "Latin with guillemets"
msgstr "Латинская с кавычками ёлочками"
-#: ../rules/base.xml.in.h:392
+#: ../rules/base.xml.in.h:395
msgid "Latvia"
msgstr "Латвия"
-#: ../rules/base.xml.in.h:393
+#: ../rules/base.xml.in.h:396
msgid "Layout toggle on multiply/divide key"
msgstr "Переключение раскладки по клавише умножения/деления"
-#: ../rules/base.xml.in.h:394
+#: ../rules/base.xml.in.h:397
msgid "Left Alt"
msgstr "Левая клавиша Alt"
-#: ../rules/base.xml.in.h:395
+#: ../rules/base.xml.in.h:398
msgid "Left Alt (while pressed)"
msgstr "Левая клавиша Alt (пока нажата)"
-#: ../rules/base.xml.in.h:396
+#: ../rules/base.xml.in.h:399
msgid "Left Alt is swapped with Left Win"
msgstr "Левая клавиша Alt поменяна местами с левой клавишей Win"
-#: ../rules/base.xml.in.h:397
+#: ../rules/base.xml.in.h:400
msgid "Left Ctrl"
msgstr "Левая клавиша Ctrl"
-#: ../rules/base.xml.in.h:398
+#: ../rules/base.xml.in.h:401
msgid "Left Ctrl (to first layout), Right Ctrl (to last layout)"
msgstr "Левый Ctrl (на первую раскладку), Правый Ctrl (на последнюю раскладку)"
-#: ../rules/base.xml.in.h:399
+#: ../rules/base.xml.in.h:402
msgid "Left Ctrl+Left Shift"
msgstr "Левый Ctrl+Левый Shift"
-#: ../rules/base.xml.in.h:400
+#: ../rules/base.xml.in.h:403
msgid "Left Shift"
msgstr "Левая клавиша Shift"
-#: ../rules/base.xml.in.h:401
+#: ../rules/base.xml.in.h:404
msgid "Left Win"
msgstr "Левая клавиша Win"
-#: ../rules/base.xml.in.h:402
+#: ../rules/base.xml.in.h:405
msgid "Left Win (to first layout), Right Win/Menu (to last layout)"
msgstr "Левая Win (на первую раскладку), Правая Win/Menu (на последнюю раскладку)"
-#: ../rules/base.xml.in.h:403
+#: ../rules/base.xml.in.h:406
msgid "Left Win (while pressed)"
msgstr "Левая клавиша Win (пока нажата)"
-#: ../rules/base.xml.in.h:404
+#: ../rules/base.xml.in.h:407
msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "По левой клавише Win выбирается 5-й ряд, блокирует, блокирует при нажатии вместе с другим выборщиком-5-го-ряда"
-#: ../rules/base.xml.in.h:405
+#: ../rules/base.xml.in.h:408
msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "По левой клавише Win выбирается 5-й ряд, блокирует, блокирует при нажатии вместе с другим выборщиком-5-го-ряда, однократное нажатие снимает блокировку"
-#: ../rules/base.xml.in.h:406
+#: ../rules/base.xml.in.h:409
msgid "Left hand"
-msgstr "Для левшей"
+msgstr "Левая рука"
-#: ../rules/base.xml.in.h:407
+#: ../rules/base.xml.in.h:410
msgid "Left handed Dvorak"
-msgstr "Дворак для левшей"
+msgstr "Дворак под левую руку"
-#: ../rules/base.xml.in.h:408
+#: ../rules/base.xml.in.h:411
msgid "Legacy"
msgstr "Legacy"
-#: ../rules/base.xml.in.h:409
+#: ../rules/base.xml.in.h:412
msgid "Legacy Wang 724"
msgstr "Старая Wang 724"
#. Actually, with KP_SEPARATOR, as the old keypad(comma)
-#: ../rules/base.xml.in.h:411
+#: ../rules/base.xml.in.h:414
msgid "Legacy key with comma"
msgstr "Клавиша Legacy с запятой"
-#: ../rules/base.xml.in.h:412
+#: ../rules/base.xml.in.h:415
msgid "Legacy key with dot"
msgstr "Клавиша Legacy с точкой"
-#: ../rules/base.xml.in.h:413
+#: ../rules/base.xml.in.h:416
msgid "Lithuania"
msgstr "Литва"
-#: ../rules/base.xml.in.h:414
+#: ../rules/base.xml.in.h:417
msgid "Lka"
msgstr "Lka"
-#: ../rules/base.xml.in.h:415
+#: ../rules/base.xml.in.h:418
msgid "Logitech Access Keyboard"
msgstr "Logitech Access Keyboard"
-#: ../rules/base.xml.in.h:416
+#: ../rules/base.xml.in.h:419
msgid "Logitech Cordless Desktop"
msgstr "Logitech Cordless Desktop"
-#: ../rules/base.xml.in.h:417
+#: ../rules/base.xml.in.h:420
msgid "Logitech Cordless Desktop (alternate option)"
msgstr "Logitech Cordless Desktop (альтернативный вариант)"
-#: ../rules/base.xml.in.h:418
+#: ../rules/base.xml.in.h:421
msgid "Logitech Cordless Desktop EX110"
msgstr "Logitech Cordless Desktop EX110"
-#: ../rules/base.xml.in.h:419
+#: ../rules/base.xml.in.h:422
msgid "Logitech Cordless Desktop LX-300"
msgstr "Logitech Cordless Desktop LX-300"
-#: ../rules/base.xml.in.h:420
+#: ../rules/base.xml.in.h:423
msgid "Logitech Cordless Desktop Navigator"
msgstr "Logitech Cordless Desktop Navigator"
-#: ../rules/base.xml.in.h:421
+#: ../rules/base.xml.in.h:424
msgid "Logitech Cordless Desktop Optical"
msgstr "Logitech Cordless Desktop Optical"
-#: ../rules/base.xml.in.h:422
+#: ../rules/base.xml.in.h:425
msgid "Logitech Cordless Desktop Pro (alternate option 2)"
msgstr "Logitech Cordless Desktop Pro (альтернативный вариант 2)"
-#: ../rules/base.xml.in.h:423
+#: ../rules/base.xml.in.h:426
msgid "Logitech Cordless Desktop iTouch"
msgstr "Logitech Cordless Desktop iTouch"
-#: ../rules/base.xml.in.h:424
+#: ../rules/base.xml.in.h:427
msgid "Logitech Cordless Freedom/Desktop Navigator"
msgstr "Logitech Cordless Freedom/Desktop Navigator"
-#: ../rules/base.xml.in.h:425
+#: ../rules/base.xml.in.h:428
msgid "Logitech G15 extra keys via G15daemon"
msgstr "Дополнительные клавиши Logitech G15 с помощью службы G15"
-#: ../rules/base.xml.in.h:426
+#: ../rules/base.xml.in.h:429
msgid "Logitech Generic Keyboard"
msgstr "Logitech Generic Keyboard"
-#: ../rules/base.xml.in.h:427
+#: ../rules/base.xml.in.h:430
msgid "Logitech Internet 350 Keyboard"
msgstr "Logitech Internet 350 Keyboard"
-#: ../rules/base.xml.in.h:428
+#: ../rules/base.xml.in.h:431
msgid "Logitech Internet Keyboard"
msgstr "Logitech Internet Keyboard"
-#: ../rules/base.xml.in.h:429
+#: ../rules/base.xml.in.h:432
msgid "Logitech Internet Navigator Keyboard"
msgstr "Logitech Internet Navigator Keyboard"
-#: ../rules/base.xml.in.h:430
+#: ../rules/base.xml.in.h:433
msgid "Logitech Media Elite Keyboard"
msgstr "Logitech Media Elite Keyboard"
-#: ../rules/base.xml.in.h:431
+#: ../rules/base.xml.in.h:434
msgid "Logitech Ultra-X Cordless Media Desktop Keyboard"
msgstr "Logitech Ultra-X Cordless Media Desktop Keyboard"
-#: ../rules/base.xml.in.h:432
+#: ../rules/base.xml.in.h:435
msgid "Logitech Ultra-X Keyboard"
msgstr "Logitech Ultra-X Keyboard"
-#: ../rules/base.xml.in.h:433
+#: ../rules/base.xml.in.h:436
msgid "Logitech diNovo Edge Keyboard"
msgstr "Logitech diNovo Edge Keyboard"
-#: ../rules/base.xml.in.h:434
+#: ../rules/base.xml.in.h:437
msgid "Logitech diNovo Keyboard"
msgstr "Logitech diNovo Keyboard"
-#: ../rules/base.xml.in.h:435
+#: ../rules/base.xml.in.h:438
msgid "Logitech iTouch"
msgstr "Logitech iTouch"
-#: ../rules/base.xml.in.h:436
+#: ../rules/base.xml.in.h:439
msgid "Logitech iTouch Cordless Keyboard (model Y-RB6)"
msgstr "Logitech iTouch Cordless Keyboard (модель Y-RB6)"
-#: ../rules/base.xml.in.h:437
+#: ../rules/base.xml.in.h:440
msgid "Logitech iTouch Internet Navigator Keyboard SE"
msgstr "Logitech iTouch Internet Navigator Keyboard SE"
-#: ../rules/base.xml.in.h:438
+#: ../rules/base.xml.in.h:441
msgid "Logitech iTouch Internet Navigator Keyboard SE (USB)"
msgstr "Logitech iTouch Internet Navigator Keyboard SE (USB)"
-#: ../rules/base.xml.in.h:439
+#: ../rules/base.xml.in.h:442
msgid "Lower Sorbian"
msgstr "Нижнелужицкий"
-#: ../rules/base.xml.in.h:440
+#: ../rules/base.xml.in.h:443
msgid "Lower Sorbian (qwertz)"
msgstr "Нижнелужицкий (qwertz)"
-#: ../rules/base.xml.in.h:441
+#: ../rules/base.xml.in.h:444
msgid "Ltu"
msgstr "Ltu"
-#: ../rules/base.xml.in.h:442
+#: ../rules/base.xml.in.h:445
msgid "Lva"
msgstr "Lva"
-#: ../rules/base.xml.in.h:443
+#: ../rules/base.xml.in.h:446
msgid "MESS"
msgstr "MESS"
-#: ../rules/base.xml.in.h:444
+#: ../rules/base.xml.in.h:447
msgid "MNE"
msgstr "MNE"
-#: ../rules/base.xml.in.h:445
+#: ../rules/base.xml.in.h:448
msgid "MacBook/MacBook Pro"
msgstr "MacBook/MacBook Pro"
-#: ../rules/base.xml.in.h:446
+#: ../rules/base.xml.in.h:449
msgid "MacBook/MacBook Pro (Intl)"
msgstr "MacBook/MacBook Pro (межд)"
-#: ../rules/base.xml.in.h:447
+#: ../rules/base.xml.in.h:450
msgid "Macedonia"
msgstr "Македония"
-#: ../rules/base.xml.in.h:448
+#: ../rules/base.xml.in.h:451
msgid "Macintosh"
msgstr "Macintosh"
-#: ../rules/base.xml.in.h:449
+#: ../rules/base.xml.in.h:452
+msgid "Macintosh (International)"
+msgstr "Macintosh (международная)"
+
+#: ../rules/base.xml.in.h:453
msgid "Macintosh Old"
msgstr "Старый Macintosh"
-#: ../rules/base.xml.in.h:450
+#: ../rules/base.xml.in.h:454
msgid "Macintosh, Sun dead keys"
msgstr "Macintosh, специальные клавиши (dead keys) Sun"
-#: ../rules/base.xml.in.h:451
+#: ../rules/base.xml.in.h:455
msgid "Macintosh, eliminate dead keys"
msgstr "Macintosh, исключить специальные клавиши (dead keys)"
-#: ../rules/base.xml.in.h:452
-msgid "Make CapsLock an additional Backspace"
-msgstr "Использовать CapsLock как дополнительную клавишу Backspace"
+#: ../rules/base.xml.in.h:456
+msgid "Make Caps Lock an additional Backspace"
+msgstr "Использовать Caps Lock как дополнительную клавишу Backspace"
-#: ../rules/base.xml.in.h:453
-msgid "Make CapsLock an additional Ctrl"
-msgstr "Использовать CapsLock как дополнительную клавишу Ctrl"
+#: ../rules/base.xml.in.h:457
+msgid "Make Caps Lock an additional Ctrl"
+msgstr "Использовать Caps Lock как дополнительную клавишу Ctrl"
-#: ../rules/base.xml.in.h:454
-msgid "Make CapsLock an additional ESC"
-msgstr "Использовать CapsLock как дополнительную клавишу ESC"
+#: ../rules/base.xml.in.h:458
+msgid "Make Caps Lock an additional ESC"
+msgstr "Использовать Caps Lock как дополнительную клавишу ESC"
-#: ../rules/base.xml.in.h:455
-msgid "Make CapsLock an additional Hyper"
-msgstr "Использовать CapsLock как дополнительную клавишу Hyper"
+#: ../rules/base.xml.in.h:459
+msgid "Make Caps Lock an additional Hyper"
+msgstr "Использовать Caps Lock как дополнительную клавишу Hyper"
-#: ../rules/base.xml.in.h:456
-msgid "Make CapsLock an additional NumLock"
-msgstr "Использовать CapsLock как дополнительную клавишу NumLock"
+#: ../rules/base.xml.in.h:460
+msgid "Make Caps Lock an additional Num Lock"
+msgstr "Использовать Caps Lock как дополнительную клавишу Num Lock"
-#: ../rules/base.xml.in.h:457
-msgid "Make CapsLock an additional Super"
-msgstr "Использовать CapsLock как дополнительную клавишу Super"
+#: ../rules/base.xml.in.h:461
+msgid "Make Caps Lock an additional Super"
+msgstr "Использовать Caps Lock как дополнительную клавишу Super"
-#: ../rules/base.xml.in.h:458
+#: ../rules/base.xml.in.h:462
msgid "Malayalam"
msgstr "Малайaлам"
-#: ../rules/base.xml.in.h:459
+#: ../rules/base.xml.in.h:463
msgid "Malayalam Lalitha"
msgstr "Малайaлам (Lalitha)"
-#: ../rules/base.xml.in.h:460
+#: ../rules/base.xml.in.h:464
msgid "Maldives"
msgstr "Мальдивы"
-#: ../rules/base.xml.in.h:461
+#: ../rules/base.xml.in.h:465
msgid "Mali"
msgstr "Мали"
-#: ../rules/base.xml.in.h:462
+#: ../rules/base.xml.in.h:466
msgid "Malta"
msgstr "Мальта"
-#: ../rules/base.xml.in.h:463
+#: ../rules/base.xml.in.h:467
msgid "Maltese keyboard with US layout"
msgstr "Мальтийская клавиатура с раскладкой US"
-#: ../rules/base.xml.in.h:464
+#: ../rules/base.xml.in.h:468
msgid "Mao"
msgstr "Mao"
-#: ../rules/base.xml.in.h:465
+#: ../rules/base.xml.in.h:469
msgid "Maori"
msgstr "Маори"
-#: ../rules/base.xml.in.h:466
+#: ../rules/base.xml.in.h:470
msgid "Mdv"
msgstr "Mdv"
-#: ../rules/base.xml.in.h:467
+#: ../rules/base.xml.in.h:471
msgid "Memorex MX1998"
msgstr "Memorex MX1998"
-#: ../rules/base.xml.in.h:468
+#: ../rules/base.xml.in.h:472
msgid "Memorex MX2500 EZ-Access Keyboard"
msgstr "Memorex MX2500 EZ-Access Keyboard"
-#: ../rules/base.xml.in.h:469
+#: ../rules/base.xml.in.h:473
msgid "Memorex MX2750"
msgstr "Memorex MX2750"
-#: ../rules/base.xml.in.h:470
+#: ../rules/base.xml.in.h:474
msgid "Menu"
msgstr "Menu"
-#: ../rules/base.xml.in.h:471
+#: ../rules/base.xml.in.h:475
msgid "Meta is mapped to Left Win"
msgstr "Meta соответствует левой клавише Win"
-#: ../rules/base.xml.in.h:472
+#: ../rules/base.xml.in.h:476
msgid "Meta is mapped to Win keys"
msgstr "Meta соответствует клавишам Win"
-#: ../rules/base.xml.in.h:473
+#: ../rules/base.xml.in.h:477
msgid "Microsoft Comfort Curve Keyboard 2000"
msgstr "Microsoft Comfort Curve Keyboard 2000"
-#: ../rules/base.xml.in.h:474
+#: ../rules/base.xml.in.h:478
msgid "Microsoft Internet Keyboard"
msgstr "Microsoft Internet Keyboard"
-#: ../rules/base.xml.in.h:475
+#: ../rules/base.xml.in.h:479
msgid "Microsoft Internet Keyboard Pro, Swedish"
msgstr "Microsoft Internet Keyboard Pro, шведская"
-#: ../rules/base.xml.in.h:476
+#: ../rules/base.xml.in.h:480
msgid "Microsoft Natural"
msgstr "Microsoft Natural"
-#: ../rules/base.xml.in.h:477
+#: ../rules/base.xml.in.h:481
msgid "Microsoft Natural Keyboard Elite"
msgstr "Microsoft Natural Keyboard Elite"
-#: ../rules/base.xml.in.h:478
+#: ../rules/base.xml.in.h:482
msgid "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
msgstr "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
-#: ../rules/base.xml.in.h:479
+#: ../rules/base.xml.in.h:483
msgid "Microsoft Natural Keyboard Pro OEM"
msgstr "Microsoft Natural Keyboard Pro OEM"
-#: ../rules/base.xml.in.h:480
+#: ../rules/base.xml.in.h:484
msgid "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
msgstr "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
-#: ../rules/base.xml.in.h:481
+#: ../rules/base.xml.in.h:485
msgid "Microsoft Natural Wireless Ergonomic Keyboard 7000"
msgstr "Microsoft Natural Wireless Ergonomic Keyboard 7000"
-#: ../rules/base.xml.in.h:482
+#: ../rules/base.xml.in.h:486
msgid "Microsoft Office Keyboard"
msgstr "Microsoft Office Keyboard"
-#: ../rules/base.xml.in.h:483
+#: ../rules/base.xml.in.h:487
msgid "Microsoft Wireless Multimedia Keyboard 1.0A"
msgstr "Microsoft Wireless Multimedia Keyboard 1.0A"
-#: ../rules/base.xml.in.h:484
+#: ../rules/base.xml.in.h:488
msgid "Miscellaneous compatibility options"
msgstr "Разные параметры совместимости"
-#: ../rules/base.xml.in.h:485
+#: ../rules/base.xml.in.h:489
msgid "Mkd"
msgstr "Mkd"
-#: ../rules/base.xml.in.h:486
+#: ../rules/base.xml.in.h:490
msgid "Mli"
msgstr "Mli"
-#: ../rules/base.xml.in.h:487
+#: ../rules/base.xml.in.h:491
msgid "Mlt"
msgstr "Mlt"
-#: ../rules/base.xml.in.h:488
+#: ../rules/base.xml.in.h:492
msgid "Mmr"
msgstr "Mmr"
-#: ../rules/base.xml.in.h:489
+#: ../rules/base.xml.in.h:493
msgid "Mng"
msgstr "Mng"
-#: ../rules/base.xml.in.h:490
+#: ../rules/base.xml.in.h:494
msgid "Mongolia"
msgstr "Монголия"
-#: ../rules/base.xml.in.h:491
+#: ../rules/base.xml.in.h:495
msgid "Montenegro"
msgstr "Черногория"
-#: ../rules/base.xml.in.h:492
+#: ../rules/base.xml.in.h:496
msgid "Morocco"
msgstr "Марокко"
-#: ../rules/base.xml.in.h:493
+#: ../rules/base.xml.in.h:497
msgid "Multilingual"
msgstr "Многоязычная"
-#: ../rules/base.xml.in.h:494
+#: ../rules/base.xml.in.h:498
msgid "Multilingual, first part"
msgstr "Многоязычная, первая часть"
-#: ../rules/base.xml.in.h:495
+#: ../rules/base.xml.in.h:499
msgid "Multilingual, second part"
msgstr "Многоязычная, вторая часть"
-#: ../rules/base.xml.in.h:496
+#: ../rules/base.xml.in.h:500
msgid "Myanmar"
msgstr "Мьянма"
-#: ../rules/base.xml.in.h:497
+#: ../rules/base.xml.in.h:501
msgid "NICOLA-F style Backspace"
msgstr "Backspace в стиле NICOLA-F"
-#: ../rules/base.xml.in.h:498
+#: ../rules/base.xml.in.h:502
msgid "NLA"
msgstr "NLA"
-#: ../rules/base.xml.in.h:499
+#: ../rules/base.xml.in.h:503
msgid "Nativo"
msgstr "Nativo"
-#: ../rules/base.xml.in.h:500
+#: ../rules/base.xml.in.h:504
msgid "Nativo for Esperanto"
msgstr "Nativo для эсперанто"
-#: ../rules/base.xml.in.h:501
+#: ../rules/base.xml.in.h:505
msgid "Nativo for USA keyboards"
msgstr "Nativo для клавиатур в США"
-#: ../rules/base.xml.in.h:502
+#: ../rules/base.xml.in.h:506
msgid "Neo 2"
msgstr "Neo 2"
-#: ../rules/base.xml.in.h:503
+#: ../rules/base.xml.in.h:507
msgid "Nepal"
msgstr "Непал"
-#: ../rules/base.xml.in.h:504
+#: ../rules/base.xml.in.h:508
msgid "Netherlands"
msgstr "Нидерланды"
-#: ../rules/base.xml.in.h:505
+#: ../rules/base.xml.in.h:509
msgid "New phonetic"
msgstr "Новая фонетическая"
-#: ../rules/base.xml.in.h:506
+#: ../rules/base.xml.in.h:510
msgid "Nga"
msgstr "Nga"
-#: ../rules/base.xml.in.h:507
+#: ../rules/base.xml.in.h:511
msgid "Nigeria"
msgstr "Нигерия"
-#: ../rules/base.xml.in.h:508
+#: ../rules/base.xml.in.h:512
msgid "Nld"
msgstr "Nld"
-#: ../rules/base.xml.in.h:509
+#: ../rules/base.xml.in.h:513
msgid "Non-breakable space character at fourth level"
msgstr "Символ неразрывного пробела в четвёртом ряду"
-#: ../rules/base.xml.in.h:510
+#: ../rules/base.xml.in.h:514
msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level"
msgstr "Символ неразрывного пробела в четвёртом ряду, символ тонкого неразрывного пробела в шестом ряду"
-#: ../rules/base.xml.in.h:511
+#: ../rules/base.xml.in.h:515
msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)"
msgstr "Символ неразрывного пробела в четвёртом ряду, символ тонкого неразрывного пробела в шестом ряду (с помощью Ctrl+Shift)"
-#: ../rules/base.xml.in.h:512
+#: ../rules/base.xml.in.h:516
msgid "Non-breakable space character at second level"
msgstr "Символ неразрывного пробела во втором ряду"
-#: ../rules/base.xml.in.h:513
+#: ../rules/base.xml.in.h:517
msgid "Non-breakable space character at third level"
msgstr "Символ неразрывного пробела в третьем ряду"
-#: ../rules/base.xml.in.h:514
+#: ../rules/base.xml.in.h:518
msgid "Non-breakable space character at third level, nothing at fourth level"
msgstr "Символ неразрывного пробела в третьем ряду, ничего на четвёртом"
-#: ../rules/base.xml.in.h:515
+#: ../rules/base.xml.in.h:519
msgid "Non-breakable space character at third level, thin non-breakable space character at fourth level"
msgstr "Символ неразрывного пробела в третьем ряду, символ тонкого неразрывного пробела в четвёртом ряду"
-#: ../rules/base.xml.in.h:516
+#: ../rules/base.xml.in.h:520
msgid "Nor"
msgstr "Nor"
-#: ../rules/base.xml.in.h:517
+#: ../rules/base.xml.in.h:521
msgid "Northern Saami"
msgstr "Северная Саамская"
-#: ../rules/base.xml.in.h:518
+#: ../rules/base.xml.in.h:522
msgid "Northern Saami, eliminate dead keys"
msgstr "Северная Саамская, исключая специальные клавиши (dead keys)"
-#: ../rules/base.xml.in.h:519
+#: ../rules/base.xml.in.h:523
msgid "Northgate OmniKey 101"
msgstr "Northgate OmniKey 101"
-#: ../rules/base.xml.in.h:520
+#: ../rules/base.xml.in.h:524
msgid "Norway"
msgstr "Норвегия"
-#: ../rules/base.xml.in.h:521
+#: ../rules/base.xml.in.h:525
msgid "Npl"
msgstr "Npl"
-#: ../rules/base.xml.in.h:522
-msgid "NumLock"
-msgstr "NumLock"
+#: ../rules/base.xml.in.h:526
+msgid "Num Lock"
+msgstr "Num Lock"
-#: ../rules/base.xml.in.h:523
+#: ../rules/base.xml.in.h:527
msgid "Numeric keypad delete key behaviour"
msgstr "Функция клавиши delete на цифровой клавиатуре"
-#: ../rules/base.xml.in.h:524
+#: ../rules/base.xml.in.h:528
msgid "Numeric keypad keys work as with Mac"
msgstr "Клавиши цифровой клавиатуры работают как в Mac"
-#: ../rules/base.xml.in.h:525
+#: ../rules/base.xml.in.h:529
msgid "Numeric keypad layout selection"
msgstr "Выбор раскладки цифровой клавиатуры"
-#: ../rules/base.xml.in.h:526
+#: ../rules/base.xml.in.h:530
msgid "OADG 109A"
msgstr "OADG 109A"
-#: ../rules/base.xml.in.h:527
+#: ../rules/base.xml.in.h:531
msgid "OLPC"
msgstr "OLPC"
-#: ../rules/base.xml.in.h:528
+#: ../rules/base.xml.in.h:532
msgid "OLPC Dari"
msgstr "OLPC Dari"
-#: ../rules/base.xml.in.h:529
+#: ../rules/base.xml.in.h:533
msgid "OLPC Pashto"
msgstr "OLPC Pashto"
-#: ../rules/base.xml.in.h:530
+#: ../rules/base.xml.in.h:534
msgid "OLPC Southern Uzbek"
msgstr "Южно-узбекский OLPC"
-#: ../rules/base.xml.in.h:531
+#: ../rules/base.xml.in.h:535
msgid "Occitan"
msgstr "Окситанский"
-#: ../rules/base.xml.in.h:532
+#: ../rules/base.xml.in.h:536
msgid "Ogham"
msgstr "Огхам"
-#: ../rules/base.xml.in.h:533
+#: ../rules/base.xml.in.h:537
msgid "Ogham IS434"
msgstr "Огхам IS434"
-#: ../rules/base.xml.in.h:534
+#: ../rules/base.xml.in.h:538
msgid "Oriya"
msgstr "Орийя"
-#: ../rules/base.xml.in.h:535
+#: ../rules/base.xml.in.h:539
msgid "Ortek MCK-800 MM/Internet keyboard"
msgstr "Ortek MCK-800 MM/Internet keyboard"
-#: ../rules/base.xml.in.h:536
+#: ../rules/base.xml.in.h:540
msgid "Ossetian"
msgstr "Осетинская"
-#: ../rules/base.xml.in.h:537
+#: ../rules/base.xml.in.h:541
msgid "Ossetian, Winkeys"
msgstr "Осетинская, с клавишами Win"
-#: ../rules/base.xml.in.h:538
+#: ../rules/base.xml.in.h:542
msgid "Ossetian, legacy"
msgstr "Осетинская, устаревшая"
-#: ../rules/base.xml.in.h:539
+#: ../rules/base.xml.in.h:543
msgid "PC-98xx Series"
msgstr "PC-98xx Series"
-#: ../rules/base.xml.in.h:540
+#: ../rules/base.xml.in.h:544
msgid "Pak"
msgstr "Pak"
-#: ../rules/base.xml.in.h:541
+#: ../rules/base.xml.in.h:545
msgid "Pakistan"
msgstr "Пакистан"
-#: ../rules/base.xml.in.h:542
+#: ../rules/base.xml.in.h:546
msgid "Pannonian Rusyn Homophonic"
msgstr "Паннонская русинская омофоническая"
-#: ../rules/base.xml.in.h:543
+#: ../rules/base.xml.in.h:547
msgid "Pashto"
msgstr "Пуштунская"
-#: ../rules/base.xml.in.h:544
+#: ../rules/base.xml.in.h:548
msgid "Pattachote"
msgstr "Паттачот"
-#: ../rules/base.xml.in.h:545
+#: ../rules/base.xml.in.h:549
msgid "Pause"
msgstr "Pause"
-#: ../rules/base.xml.in.h:546
+#: ../rules/base.xml.in.h:550
msgid "Persian, with Persian Keypad"
msgstr "Персидская, с персидской доп. панелью"
-#: ../rules/base.xml.in.h:547
+#: ../rules/base.xml.in.h:551
msgid "Phonetic"
msgstr "Фонетическая"
-#: ../rules/base.xml.in.h:548
+#: ../rules/base.xml.in.h:552
msgid "Phonetic Winkeys"
msgstr "Фонетическая с клавишами Win"
-#: ../rules/base.xml.in.h:549
+#: ../rules/base.xml.in.h:553
msgid "Pol"
msgstr "Pol"
-#: ../rules/base.xml.in.h:550
+#: ../rules/base.xml.in.h:554
msgid "Poland"
msgstr "Польша"
-#: ../rules/base.xml.in.h:551
+#: ../rules/base.xml.in.h:555
msgid "Polytonic"
msgstr "Полифоническая"
-#: ../rules/base.xml.in.h:552
+#: ../rules/base.xml.in.h:556
msgid "Portugal"
msgstr "Португалия"
-#: ../rules/base.xml.in.h:553
+#: ../rules/base.xml.in.h:557
msgid "Probhat"
msgstr "Пробат"
-#: ../rules/base.xml.in.h:554
+#: ../rules/base.xml.in.h:558
msgid "Programmer Dvorak"
msgstr "Дворак для программистов"
-#: ../rules/base.xml.in.h:555
+#: ../rules/base.xml.in.h:559
msgid "Propeller Voyager (KTEZ-1000)"
msgstr "Propeller Voyager (KTEZ-1000)"
-#: ../rules/base.xml.in.h:556
+#: ../rules/base.xml.in.h:560
msgid "Prt"
msgstr "Prt"
-#: ../rules/base.xml.in.h:557
+#: ../rules/base.xml.in.h:561
msgid "PrtSc"
msgstr "PrtSc"
-#: ../rules/base.xml.in.h:558
+#: ../rules/base.xml.in.h:562
msgid "QTronix Scorpius 98N+"
msgstr "QTronix Scorpius 98N+"
-#: ../rules/base.xml.in.h:559
+#: ../rules/base.xml.in.h:563
msgid "Right Alt"
msgstr "Правая клавиша Alt"
-#: ../rules/base.xml.in.h:560
+#: ../rules/base.xml.in.h:564
msgid "Right Alt (while pressed)"
msgstr "Правая клавиша Alt (пока нажата)"
-#: ../rules/base.xml.in.h:561
+#: ../rules/base.xml.in.h:565
msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "По правой клавише Alt выбирается 5-й ряд, блокируется при нажатии вместе с другим выборщиком-5-го-ряда"
-#: ../rules/base.xml.in.h:562
+#: ../rules/base.xml.in.h:566
msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "По правой клавише Alt выбирается 5-й ряд, блокируется при нажатии вместе с другим выборщиком-5-го-ряда, однократное нажатие снимает блокировку"
-#: ../rules/base.xml.in.h:563
+#: ../rules/base.xml.in.h:567
msgid "Right Alt key never chooses 3rd level"
msgstr "По правой клавише Alt никогда не выбирается третий ряд"
-#: ../rules/base.xml.in.h:564
+#: ../rules/base.xml.in.h:568
msgid "Right Alt, Shift+Right Alt key is Multi_Key"
msgstr "Правая клавиша Alt, Shift и правый Alt вместе работают как Multi_Key"
-#: ../rules/base.xml.in.h:565
+#: ../rules/base.xml.in.h:569
msgid "Right Ctrl"
msgstr "Правая клавиша Ctrl"
-#: ../rules/base.xml.in.h:566
+#: ../rules/base.xml.in.h:570
msgid "Right Ctrl (while pressed)"
msgstr "Правая клавиша Ctrl (пока нажата)"
-#: ../rules/base.xml.in.h:567
+#: ../rules/base.xml.in.h:571
msgid "Right Ctrl as Right Alt"
msgstr "Правая клавиша Ctrl работает как правая клавиша Alt"
-#: ../rules/base.xml.in.h:568
+#: ../rules/base.xml.in.h:572
msgid "Right Ctrl+Right Shift"
msgstr "Правый Ctrl+Правый Shift"
-#: ../rules/base.xml.in.h:569
+#: ../rules/base.xml.in.h:573
msgid "Right Shift"
msgstr "Правая клавиша Shift"
-#: ../rules/base.xml.in.h:570
+#: ../rules/base.xml.in.h:574
msgid "Right Win"
msgstr "Правая клавиша Win"
-#: ../rules/base.xml.in.h:571
+#: ../rules/base.xml.in.h:575
msgid "Right Win (while pressed)"
msgstr "Правая клавиша Win (пока нажата)"
-#: ../rules/base.xml.in.h:572
+#: ../rules/base.xml.in.h:576
msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "По правой клавише Win выбирается 5-й ряд, блокируется при нажатии вместе с другим выборщиком-5-го-ряда"
-#: ../rules/base.xml.in.h:573
+#: ../rules/base.xml.in.h:577
msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "По правой клавише Win выбирается 5-й ряд, блокируется при нажатии вместе с другим выборщиком-5-го-ряда, однократное нажатие снимает блокировку"
-#: ../rules/base.xml.in.h:574
+#: ../rules/base.xml.in.h:578
msgid "Right hand"
-msgstr "Для правшей"
+msgstr "Правая рука"
-#: ../rules/base.xml.in.h:575
+#: ../rules/base.xml.in.h:579
msgid "Right handed Dvorak"
-msgstr "Дворак для правшей"
+msgstr "Дворак под правую руку"
-#: ../rules/base.xml.in.h:576
+#: ../rules/base.xml.in.h:580
msgid "Romania"
msgstr "Румыния"
-#: ../rules/base.xml.in.h:577
+#: ../rules/base.xml.in.h:581
msgid "Romanian keyboard with German letters"
msgstr "Румынская клавиатура с немецкими буквами"
-#: ../rules/base.xml.in.h:578
+#: ../rules/base.xml.in.h:582
msgid "Romanian keyboard with German letters, eliminate dead keys"
msgstr "Румынская клавиатура с немецкими буквами, исключить специальные клавиши (dead keys)"
-#: ../rules/base.xml.in.h:579
+#: ../rules/base.xml.in.h:583
msgid "Rou"
msgstr "Rou"
-#: ../rules/base.xml.in.h:580
+#: ../rules/base.xml.in.h:584
msgid "Rus"
msgstr "Rus"
-#: ../rules/base.xml.in.h:581
+#: ../rules/base.xml.in.h:585
msgid "Russia"
msgstr "Россия"
-#: ../rules/base.xml.in.h:582
+#: ../rules/base.xml.in.h:586
msgid "Russian"
msgstr "Русская"
-#: ../rules/base.xml.in.h:583
+#: ../rules/base.xml.in.h:587
msgid "Russian phonetic"
msgstr "Русская фонетическая"
-#: ../rules/base.xml.in.h:584
+#: ../rules/base.xml.in.h:588
msgid "Russian phonetic Dvorak"
msgstr "Русский фонетический Дворак"
-#: ../rules/base.xml.in.h:585
+#: ../rules/base.xml.in.h:589
msgid "Russian phonetic, eliminate dead keys"
msgstr "Русская фонетическая, исключить специальные клавиши (dead keys)"
-#: ../rules/base.xml.in.h:586
+#: ../rules/base.xml.in.h:590
msgid "Russian with Kazakh"
msgstr "Русская с казахской"
-#: ../rules/base.xml.in.h:587
+#: ../rules/base.xml.in.h:591
msgid "SILVERCREST Multimedia Wireless Keyboard"
msgstr "SILVERCREST Multimedia Wireless Keyboard"
-#: ../rules/base.xml.in.h:588
+#: ../rules/base.xml.in.h:592
msgid "SK-1300"
msgstr "SK-1300"
-#: ../rules/base.xml.in.h:589
+#: ../rules/base.xml.in.h:593
msgid "SK-2500"
msgstr "SK-2500"
-#: ../rules/base.xml.in.h:590
+#: ../rules/base.xml.in.h:594
msgid "SK-6200"
msgstr "SK-6200"
-#: ../rules/base.xml.in.h:591
+#: ../rules/base.xml.in.h:595
msgid "SK-7100"
msgstr "SK-7100"
-#: ../rules/base.xml.in.h:592 ../rules/base.extras.xml.in.h:7
+#: ../rules/base.xml.in.h:596 ../rules/base.extras.xml.in.h:9
msgid "SRB"
msgstr "SRB"
-#: ../rules/base.xml.in.h:593
+#: ../rules/base.xml.in.h:597
msgid "SVEN Ergonomic 2500"
msgstr "SVEN Ergonomic 2500"
-#: ../rules/base.xml.in.h:594
+#: ../rules/base.xml.in.h:598
msgid "SVEN Slim 303"
msgstr "SVEN Slim 303"
-#: ../rules/base.xml.in.h:595
+#: ../rules/base.xml.in.h:599
msgid "Samsung SDM 4500P"
msgstr "Samsung SDM 4500P"
-#: ../rules/base.xml.in.h:596
+#: ../rules/base.xml.in.h:600
msgid "Samsung SDM 4510P"
msgstr "Samsung SDM 4510P"
-#: ../rules/base.xml.in.h:597
-msgid "ScrollLock"
-msgstr "ScrollLock"
+#: ../rules/base.xml.in.h:601
+msgid "Scroll Lock"
+msgstr "Scroll Lock"
-#: ../rules/base.xml.in.h:598
+#: ../rules/base.xml.in.h:602
msgid "Secwepemctsin"
msgstr "Secwepemctsin"
-#: ../rules/base.xml.in.h:599
+#: ../rules/base.xml.in.h:603
msgid "Semi-colon on third level"
msgstr "Точка с запятой в третьем ряду"
-#: ../rules/base.xml.in.h:600
+#: ../rules/base.xml.in.h:604
msgid "Sen"
msgstr "Sen"
-#: ../rules/base.xml.in.h:601
+#: ../rules/base.xml.in.h:605
msgid "Senegal"
msgstr "Сенегал"
-#: ../rules/base.xml.in.h:602 ../rules/base.extras.xml.in.h:8
+#: ../rules/base.xml.in.h:606 ../rules/base.extras.xml.in.h:10
msgid "Serbia"
msgstr "Сербия"
-#: ../rules/base.xml.in.h:603
+#: ../rules/base.xml.in.h:607
msgid "Serbian"
msgstr "Сербская"
-#: ../rules/base.xml.in.h:604
-msgid "Shift cancels CapsLock"
-msgstr "Shift отменяет CapsLock"
+#: ../rules/base.xml.in.h:608
+msgid "Shift cancels Caps Lock"
+msgstr "Shift отменяет Caps Lock"
-#: ../rules/base.xml.in.h:605
-msgid "Shift does not cancel NumLock, chooses 3rd level instead"
-msgstr "Shift не отменяет NumLock, а выбирает третий ряд"
+#: ../rules/base.xml.in.h:609
+msgid "Shift does not cancel Num Lock, chooses 3rd level instead"
+msgstr "Shift не отменяет Num Lock, а выбирает третий ряд"
-#: ../rules/base.xml.in.h:606
+#: ../rules/base.xml.in.h:610
msgid "Shift with numeric keypad keys works as in MS Windows"
msgstr "Клавиша Shift с клавишами цифровой клавиатуры работают также как в MS Windows"
-#: ../rules/base.xml.in.h:607
-msgid "Shift+CapsLock"
-msgstr "Shift+CapsLock"
+#: ../rules/base.xml.in.h:611
+msgid "Shift+Caps Lock"
+msgstr "Shift+Caps Lock"
-#: ../rules/base.xml.in.h:608
+#: ../rules/base.xml.in.h:612
msgid "Simple"
msgstr "Простая"
-#: ../rules/base.xml.in.h:609
+#: ../rules/base.xml.in.h:613
+msgid "Sindhi"
+msgstr "Синдхи"
+
+#: ../rules/base.xml.in.h:614
msgid "Slovakia"
msgstr "Словакия"
-#: ../rules/base.xml.in.h:610
+#: ../rules/base.xml.in.h:615
msgid "Slovenia"
msgstr "Словения"
-#: ../rules/base.xml.in.h:611
+#: ../rules/base.xml.in.h:616
msgid "South Africa"
msgstr "Южная Африка"
-#: ../rules/base.xml.in.h:612
+#: ../rules/base.xml.in.h:617
msgid "Southern Uzbek"
msgstr "Южно-узбекская"
-#: ../rules/base.xml.in.h:613
+#: ../rules/base.xml.in.h:618
msgid "Spain"
msgstr "Испания"
-#: ../rules/base.xml.in.h:614
+#: ../rules/base.xml.in.h:619
msgid "Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server"
msgstr "Специальные клавиши (Ctrl+Alt+&lt;клв&gt;) обрабатываются сервером"
-#: ../rules/base.xml.in.h:615
+#: ../rules/base.xml.in.h:620
msgid "Sri Lanka"
msgstr "Шри Ланка"
-#: ../rules/base.xml.in.h:616
+#: ../rules/base.xml.in.h:621
msgid "Standard"
msgstr "Стандартная"
-#: ../rules/base.xml.in.h:617
+#: ../rules/base.xml.in.h:622
msgid "Standard (Cedilla)"
msgstr "Стандартная (седиль)"
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:619
+#: ../rules/base.xml.in.h:624
msgid "Standard RSTU"
msgstr "Стандартная RSTU"
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:621
+#: ../rules/base.xml.in.h:626
msgid "Standard RSTU on Russian layout"
msgstr "Стандартная RSTU, русская"
-#: ../rules/base.xml.in.h:622
+#: ../rules/base.xml.in.h:627
msgid "Sun Type 5/6"
msgstr "Sun Type 5/6"
-#: ../rules/base.xml.in.h:623
+#: ../rules/base.xml.in.h:628
msgid "Sun dead keys"
msgstr "Специальные клавиши (dead keys) Sun"
-#: ../rules/base.xml.in.h:624
+#: ../rules/base.xml.in.h:629
msgid "Super Power Multimedia Keyboard"
msgstr "Super Power Multimedia Keyboard"
-#: ../rules/base.xml.in.h:625
+#: ../rules/base.xml.in.h:630
msgid "Svdvorak"
msgstr "Svdvorak"
-#: ../rules/base.xml.in.h:626
+#: ../rules/base.xml.in.h:631
msgid "Svk"
msgstr "Svk"
-#: ../rules/base.xml.in.h:627
+#: ../rules/base.xml.in.h:632
msgid "Svn"
msgstr "Svn"
-#: ../rules/base.xml.in.h:628
-msgid "Swap Ctrl and CapsLock"
-msgstr "Поменять местами клавиши Ctrl и CapsLock"
+#: ../rules/base.xml.in.h:633
+msgid "Swap Ctrl and Caps Lock"
+msgstr "Поменять местами клавиши Ctrl и Caps Lock"
-#: ../rules/base.xml.in.h:629
-msgid "Swap ESC and CapsLock"
-msgstr "Поменять местами клавиши ESC и CapsLock"
+#: ../rules/base.xml.in.h:634
+msgid "Swap ESC and Caps Lock"
+msgstr "Поменять местами клавиши ESC и Caps Lock"
-#: ../rules/base.xml.in.h:630
+#: ../rules/base.xml.in.h:635
msgid "Swe"
msgstr "Swe"
-#: ../rules/base.xml.in.h:631
+#: ../rules/base.xml.in.h:636
msgid "Sweden"
msgstr "Швеция"
-#: ../rules/base.xml.in.h:632
+#: ../rules/base.xml.in.h:637
msgid "Switzerland"
msgstr "Швейцария"
-#: ../rules/base.xml.in.h:633
+#: ../rules/base.xml.in.h:638
msgid "Symplon PaceBook (tablet PC)"
msgstr "Symplon PaceBook (карманный ПК)"
-#: ../rules/base.xml.in.h:634
+#: ../rules/base.xml.in.h:639
msgid "Syr"
msgstr "Syr"
-#: ../rules/base.xml.in.h:635
+#: ../rules/base.xml.in.h:640
msgid "Syria"
msgstr "Сирия"
-#: ../rules/base.xml.in.h:636
+#: ../rules/base.xml.in.h:641
msgid "Syriac"
msgstr "Сирийская"
-#: ../rules/base.xml.in.h:637
+#: ../rules/base.xml.in.h:642
msgid "Syriac phonetic"
msgstr "Сирийская фонетическая"
-#: ../rules/base.xml.in.h:638
+#: ../rules/base.xml.in.h:643
msgid "TIS-820.2538"
msgstr "TIS-820.2538"
-#: ../rules/base.xml.in.h:639
+#: ../rules/base.xml.in.h:644
msgid "Tajikistan"
msgstr "Таджикистан"
-#: ../rules/base.xml.in.h:640
+#: ../rules/base.xml.in.h:645
msgid "Tamil"
msgstr "Тамильская"
-#: ../rules/base.xml.in.h:641
+#: ../rules/base.xml.in.h:646
msgid "Tamil Keyboard with Numerals"
msgstr "Тамильская клавиатура с цифрами"
-#: ../rules/base.xml.in.h:642
+#: ../rules/base.xml.in.h:647
msgid "Tamil TAB Typewriter"
msgstr "Тамильская \"Печатная машинка\" TAB"
-#: ../rules/base.xml.in.h:643
+#: ../rules/base.xml.in.h:648
msgid "Tamil TSCII Typewriter"
msgstr "Тамильская \"Печатная машинка\" TSCII"
-#: ../rules/base.xml.in.h:644
+#: ../rules/base.xml.in.h:649
msgid "Tamil Unicode"
msgstr "Тамильская Юникодная"
-#: ../rules/base.xml.in.h:645
+#: ../rules/base.xml.in.h:650
msgid "Tanzania"
msgstr "Танзания"
-#: ../rules/base.xml.in.h:646
+#: ../rules/base.xml.in.h:651
msgid "Targa Visionary 811"
msgstr "Targa Visionary 811"
-#: ../rules/base.xml.in.h:647
+#: ../rules/base.xml.in.h:652
msgid "Tatar"
msgstr "Татарская"
-#: ../rules/base.xml.in.h:648
+#: ../rules/base.xml.in.h:653
msgid "Telugu"
msgstr "Телугу"
-#: ../rules/base.xml.in.h:649
+#: ../rules/base.xml.in.h:654
msgid "Tha"
msgstr "Tha"
-#: ../rules/base.xml.in.h:650
+#: ../rules/base.xml.in.h:655
msgid "Thailand"
msgstr "Таиланд"
-#: ../rules/base.xml.in.h:651
+#: ../rules/base.xml.in.h:656
msgid "Tibetan"
msgstr "Тибетская"
-#: ../rules/base.xml.in.h:652
+#: ../rules/base.xml.in.h:657
msgid "Tibetan (with ASCII numerals)"
msgstr "Тибетская (с цифрами ASCII)"
-#: ../rules/base.xml.in.h:653
+#: ../rules/base.xml.in.h:658
msgid "Tifinagh"
msgstr "Тифинагская"
-#: ../rules/base.xml.in.h:654
-msgid "Tifinagh Alternative"
+#: ../rules/base.xml.in.h:659
+msgid "Tifinagh alternative"
msgstr "Тифинагская альтернативная"
-#: ../rules/base.xml.in.h:655
-msgid "Tifinagh Alternative Phonetic"
+#: ../rules/base.xml.in.h:660
+msgid "Tifinagh alternative phonetic"
msgstr "Тифинагская альтернативная фонетическая"
-#: ../rules/base.xml.in.h:656
-msgid "Tifinagh Extended"
+#: ../rules/base.xml.in.h:661
+msgid "Tifinagh extended"
msgstr "Тифинагская расширенная"
-#: ../rules/base.xml.in.h:657
-msgid "Tifinagh Extended Phonetic"
+#: ../rules/base.xml.in.h:662
+msgid "Tifinagh extended phonetic"
msgstr "Тифинагская расширенная фонетическая"
-#: ../rules/base.xml.in.h:658
-msgid "Tifinagh Phonetic"
+#: ../rules/base.xml.in.h:663
+msgid "Tifinagh phonetic"
msgstr "Тифинагская фонетическая"
-#: ../rules/base.xml.in.h:659
+#: ../rules/base.xml.in.h:664
msgid "Tilde (~) variant"
msgstr "Вариант с тильдой (~)"
-#: ../rules/base.xml.in.h:660
+#: ../rules/base.xml.in.h:665
msgid "Tjk"
msgstr "Tjk"
-#: ../rules/base.xml.in.h:661
+#: ../rules/base.xml.in.h:666
msgid "Tkm"
msgstr "Tkm"
-#: ../rules/base.xml.in.h:662
+#: ../rules/base.xml.in.h:667
msgid "To the corresponding key in a Dvorak keyboard."
msgstr "На соответствующую клавишу на клавиатуре Дворак."
-#: ../rules/base.xml.in.h:663
+#: ../rules/base.xml.in.h:668
msgid "To the corresponding key in a Qwerty keyboard."
msgstr "На соответствующую клавишу на клавиатуре Qwerty."
-#: ../rules/base.xml.in.h:664
+#: ../rules/base.xml.in.h:669
msgid "Toshiba Satellite S3000"
msgstr "Toshiba Satellite S3000"
-#: ../rules/base.xml.in.h:665
+#: ../rules/base.xml.in.h:670
msgid "Traditional phonetic"
msgstr "Традиционная фонетическая"
-#: ../rules/base.xml.in.h:666
+#: ../rules/base.xml.in.h:671
msgid "Trust Direct Access Keyboard"
msgstr "Trust Direct Access Keyboard"
-#: ../rules/base.xml.in.h:667
+#: ../rules/base.xml.in.h:672
msgid "Trust Slimline"
msgstr "Trust Slimline"
-#: ../rules/base.xml.in.h:668
+#: ../rules/base.xml.in.h:673
msgid "Trust Wireless Keyboard Classic"
msgstr "Trust Wireless Keyboard Classic"
-#: ../rules/base.xml.in.h:669
+#: ../rules/base.xml.in.h:674
msgid "Tur"
msgstr "Tur"
-#: ../rules/base.xml.in.h:670
+#: ../rules/base.xml.in.h:675
msgid "Turkey"
msgstr "Турция"
-#: ../rules/base.xml.in.h:671
+#: ../rules/base.xml.in.h:676
msgid "Turkmenistan"
msgstr "Туркмения"
-#: ../rules/base.xml.in.h:672
+#: ../rules/base.xml.in.h:677
msgid "TypeMatrix EZ-Reach 2020"
msgstr "TypeMatrix EZ-Reach 2020"
-#: ../rules/base.xml.in.h:673
+#: ../rules/base.xml.in.h:678
msgid "TypeMatrix EZ-Reach 2030 PS2"
msgstr "TypeMatrix EZ-Reach 2030 PS2"
-#: ../rules/base.xml.in.h:674
+#: ../rules/base.xml.in.h:679
msgid "TypeMatrix EZ-Reach 2030 USB"
msgstr "TypeMatrix EZ-Reach 2030 USB"
-#: ../rules/base.xml.in.h:675
+#: ../rules/base.xml.in.h:680
msgid "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)"
msgstr "TypeMatrix EZ-Reach 2030 USB (102/105:режим EU)"
-#: ../rules/base.xml.in.h:676
+#: ../rules/base.xml.in.h:681
msgid "TypeMatrix EZ-Reach 2030 USB (106:JP mode)"
msgstr "TypeMatrix EZ-Reach 2030 USB (106:режим JP)"
-#: ../rules/base.xml.in.h:677
+#: ../rules/base.xml.in.h:682
msgid "Typewriter"
msgstr "Печатная машинка"
-#: ../rules/base.xml.in.h:678
+#: ../rules/base.xml.in.h:683
msgid "Typewriter, legacy"
msgstr "Печатная машинка, устаревшая"
-#: ../rules/base.xml.in.h:679
+#: ../rules/base.xml.in.h:684
msgid "Tza"
msgstr "Tza"
-#: ../rules/base.xml.in.h:680
+#: ../rules/base.xml.in.h:685
msgid "UCW layout (accented letters only)"
msgstr "Раскладка UCW (только символы акцентов)"
-#: ../rules/base.xml.in.h:681
+#: ../rules/base.xml.in.h:686
msgid "US Dvorak with CZ UCW support"
msgstr "Дворак США с поддержкой CZ UCW"
-#: ../rules/base.xml.in.h:682
+#: ../rules/base.xml.in.h:687
msgid "US keyboard with Bosnian digraphs"
msgstr "Клавиатура США с боснийскими диграфами"
-#: ../rules/base.xml.in.h:683
+#: ../rules/base.xml.in.h:688
msgid "US keyboard with Bosnian letters"
msgstr "Клавиатура США с боснийскими буквами"
-#: ../rules/base.xml.in.h:684
+#: ../rules/base.xml.in.h:689
msgid "US keyboard with Croatian digraphs"
msgstr "Клавиатура США с хорватскими диграфами"
-#: ../rules/base.xml.in.h:685
+#: ../rules/base.xml.in.h:690
msgid "US keyboard with Croatian letters"
msgstr "Клавиатура США с хорватскими буквами"
-#: ../rules/base.xml.in.h:686
+#: ../rules/base.xml.in.h:691
msgid "US keyboard with Estonian letters"
msgstr "Клавиатура США с эстонскими буквами"
-#: ../rules/base.xml.in.h:687
+#: ../rules/base.xml.in.h:692
msgid "US keyboard with Italian letters"
msgstr "Клавиатура США с итальянскими буквами"
-#: ../rules/base.xml.in.h:688
+#: ../rules/base.xml.in.h:693
msgid "US keyboard with Lithuanian letters"
msgstr "Клавиатура США с литовскими буквами"
-#: ../rules/base.xml.in.h:689
+#: ../rules/base.xml.in.h:694
msgid "US keyboard with Slovenian letters"
msgstr "Клавиатура США со словенскими буквами"
-#: ../rules/base.xml.in.h:690 ../rules/base.extras.xml.in.h:9
+#: ../rules/base.xml.in.h:695 ../rules/base.extras.xml.in.h:11
msgid "USA"
msgstr "США"
-#: ../rules/base.xml.in.h:691
+#: ../rules/base.xml.in.h:696
msgid "Udmurt"
msgstr "Удмуртская"
-#: ../rules/base.xml.in.h:692
+#: ../rules/base.xml.in.h:697
msgid "Ukr"
msgstr "Ukr"
-#: ../rules/base.xml.in.h:693
+#: ../rules/base.xml.in.h:698
msgid "Ukraine"
msgstr "Украина"
-#: ../rules/base.xml.in.h:694
+#: ../rules/base.xml.in.h:699
msgid "Unicode additions (arrows and math operators)"
msgstr "Дополнения юникода (стрелки и математические операторы)"
-#: ../rules/base.xml.in.h:695
+#: ../rules/base.xml.in.h:700
msgid "Unicode additions (arrows and math operators). Math operators on default level"
msgstr "Дополнения юникода (стрелки и математические операторы). Математические операторы в ряду по умолчанию"
-#: ../rules/base.xml.in.h:696
+#: ../rules/base.xml.in.h:701
msgid "UnicodeExpert"
msgstr "UnicodeExpert"
-#: ../rules/base.xml.in.h:697
+#: ../rules/base.xml.in.h:702
msgid "United Kingdom"
msgstr "Великобритания"
-#: ../rules/base.xml.in.h:698
+#: ../rules/base.xml.in.h:703
msgid "Unitek KB-1925"
msgstr "Unitek KB-1925"
-#: ../rules/base.xml.in.h:699
+#: ../rules/base.xml.in.h:704
msgid "Urdu, Alternative phonetic"
msgstr "Урду, альтернативная фонетическая"
-#: ../rules/base.xml.in.h:700
+#: ../rules/base.xml.in.h:705
msgid "Urdu, Phonetic"
msgstr "Урду, фонетическая"
-#: ../rules/base.xml.in.h:701
+#: ../rules/base.xml.in.h:706
msgid "Urdu, Winkeys"
msgstr "Урду, с клавишами Win"
-#: ../rules/base.xml.in.h:702
+#: ../rules/base.xml.in.h:707
msgid "Use Bosnian digraphs"
msgstr "Использовать боснийские диграфы"
-#: ../rules/base.xml.in.h:703
+#: ../rules/base.xml.in.h:708
msgid "Use Croatian digraphs"
msgstr "Использовать хорватские диграфы"
-#: ../rules/base.xml.in.h:704
+#: ../rules/base.xml.in.h:709
msgid "Use guillemets for quotes"
msgstr "Использовать кавычки ёлочки как кавычки"
-#: ../rules/base.xml.in.h:705
+#: ../rules/base.xml.in.h:710
msgid "Use keyboard LED to show alternative layout"
msgstr "Использовать клавиатурные индикаторы для отображения дополнительных раскладок"
-#: ../rules/base.xml.in.h:706
+#: ../rules/base.xml.in.h:711
msgid "Using space key to input non-breakable space character"
msgstr "Клавиша пробела используется для ввода символа неразрывного пробела"
-#: ../rules/base.xml.in.h:707
+#: ../rules/base.xml.in.h:712
msgid "Usual space at any level"
msgstr "Обычный пробел в любом ряду"
-#: ../rules/base.xml.in.h:708
+#: ../rules/base.xml.in.h:713
msgid "Uzb"
msgstr "Uzb"
-#: ../rules/base.xml.in.h:709
+#: ../rules/base.xml.in.h:714
msgid "Uzbekistan"
msgstr "Узбекистан"
-#: ../rules/base.xml.in.h:710
+#: ../rules/base.xml.in.h:715
msgid "Vietnam"
msgstr "Вьетнам"
-#: ../rules/base.xml.in.h:711
+#: ../rules/base.xml.in.h:716
msgid "ViewSonic KU-306 Internet Keyboard"
msgstr "ViewSonic KU-306 Internet Keyboard"
-#: ../rules/base.xml.in.h:712
+#: ../rules/base.xml.in.h:717
msgid "Vnm"
msgstr "Vnm"
-#: ../rules/base.xml.in.h:713
+#: ../rules/base.xml.in.h:718
msgid "Wang 724 keypad with unicode additions (arrows and math operators)"
msgstr "Цифровая клавиатура Wang 724 с дополнениями юникода (стрелки и математические операторы)"
-#: ../rules/base.xml.in.h:714
+#: ../rules/base.xml.in.h:719
msgid "Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level"
msgstr "Цифровая клавиатура Wang 724 с дополнениями юникода (стрелки и математические операторы). Математические операторы в ряду по умолчанию"
-#: ../rules/base.xml.in.h:715
+#: ../rules/base.xml.in.h:720
msgid "Wang model 724 azerty"
msgstr "Wang model 724 azerty"
-#: ../rules/base.xml.in.h:716
+#: ../rules/base.xml.in.h:721
msgid "Western"
msgstr "Западная"
-#: ../rules/base.xml.in.h:717
+#: ../rules/base.xml.in.h:722
msgid "Winbook Model XP5"
msgstr "Winbook Model XP5"
-#: ../rules/base.xml.in.h:718
+#: ../rules/base.xml.in.h:723
msgid "Winkeys"
msgstr "Клавиши Win"
-#: ../rules/base.xml.in.h:719
+#: ../rules/base.xml.in.h:724
msgid "With &lt;\\|&gt; key"
msgstr "С клавишей &lt;\\|&gt;"
-#: ../rules/base.xml.in.h:720
+#: ../rules/base.xml.in.h:725
msgid "With EuroSign on 5"
msgstr "со знаком евро на клавише 5"
-#: ../rules/base.xml.in.h:721
+#: ../rules/base.xml.in.h:726
msgid "With guillemets"
msgstr "С кавычками ёлочками"
-#: ../rules/base.xml.in.h:722
+#: ../rules/base.xml.in.h:727
msgid "Yahoo! Internet Keyboard"
msgstr "Yahoo! Internet Keyboard"
-#: ../rules/base.xml.in.h:723
+#: ../rules/base.xml.in.h:728
msgid "Yakut"
msgstr "Якутская"
-#: ../rules/base.xml.in.h:724
+#: ../rules/base.xml.in.h:729
msgid "Yoruba"
msgstr "Йоруба"
-#: ../rules/base.xml.in.h:725
+#: ../rules/base.xml.in.h:730
msgid "Z and ZHE swapped"
msgstr "З и Ж переставлены местами"
-#: ../rules/base.xml.in.h:726
+#: ../rules/base.xml.in.h:731
msgid "Zaf"
msgstr "Zaf"
-#: ../rules/base.xml.in.h:727
+#: ../rules/base.xml.in.h:732
msgid "Zero-width non-joiner character at second level"
msgstr "Несвязывающий символ нулевой ширины во втором ряду"
-#: ../rules/base.xml.in.h:728
+#: ../rules/base.xml.in.h:733
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level"
msgstr "Несвязывающий символ нулевой ширины во втором ряду, символ неразрывного пробела в третьем ряду"
-#: ../rules/base.xml.in.h:729
+#: ../rules/base.xml.in.h:734
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level"
msgstr "Несвязывающий символ нулевой ширины во втором ряду, символ неразрывного пробела в третьем ряду, ничего в четвёртом"
-#: ../rules/base.xml.in.h:730
+#: ../rules/base.xml.in.h:735
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level"
msgstr "Несвязывающий символ нулевой ширины во втором ряду, символ неразрывного пробела в третьем ряду, тонкий неразрывный пробел в четвёртом ряду"
-#: ../rules/base.xml.in.h:731
+#: ../rules/base.xml.in.h:736
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level"
msgstr "Несвязывающий символ нулевой ширины во втором ряду, символ неразрывного пробела в третьем ряду, связывающий символ нулевой ширины в четвёртом ряду"
-#: ../rules/base.xml.in.h:732
+#: ../rules/base.xml.in.h:737
msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level"
msgstr "Несвязывающий символ нулевой ширины во втором ряду, связывающий символ нулевой ширины в третьем ряду"
-#: ../rules/base.xml.in.h:733
+#: ../rules/base.xml.in.h:738
msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level"
msgstr "Несвязывающий символ нулевой ширины во втором ряду, связывающий символ нулевой ширины в третьем ряду, символ неразрывного пробела в четвёртом ряду"
-#: ../rules/base.xml.in.h:734
+#: ../rules/base.xml.in.h:739
msgid "Zero-width non-joiner character at third level, zero-width joiner at fourth level"
msgstr "Несвязывающий символ нулевой ширины в третьем ряду, связывающий символ нулевой ширины в четвёртом ряду"
-#: ../rules/base.xml.in.h:735
+#: ../rules/base.xml.in.h:740
msgid "azerty"
msgstr "azerty"
-#: ../rules/base.xml.in.h:736
+#: ../rules/base.xml.in.h:741
msgid "azerty/digits"
msgstr "azerty/цифры"
-#: ../rules/base.xml.in.h:737
+#: ../rules/base.xml.in.h:742
msgid "digits"
msgstr "цифры"
-#: ../rules/base.xml.in.h:738
+#: ../rules/base.xml.in.h:743
msgid "displaced semicolon and quote (obsolete)"
msgstr "смещённые точка с запятой и кавычка (устарело)"
-#: ../rules/base.xml.in.h:739
+#: ../rules/base.xml.in.h:744
msgid "lyx"
msgstr "lyx"
-#: ../rules/base.xml.in.h:740
+#: ../rules/base.xml.in.h:745
msgid "qwerty"
msgstr "qwerty"
-#: ../rules/base.xml.in.h:741
+#: ../rules/base.xml.in.h:746
msgid "qwerty, extended Backslash"
msgstr "qwerty, расширенные функции Backslash"
-#: ../rules/base.xml.in.h:742
+#: ../rules/base.xml.in.h:747
msgid "qwerty/digits"
msgstr "qwerty/цифры"
-#: ../rules/base.xml.in.h:743
+#: ../rules/base.xml.in.h:748
msgid "qwertz"
msgstr "qwertz"
@@ -2987,17 +3008,21 @@ msgid "Atsina"
msgstr "Атсинская"
#: ../rules/base.extras.xml.in.h:3
+msgid "Avestan"
+msgstr "Авестийская"
+
+#: ../rules/base.extras.xml.in.h:4
msgid "Combining accents instead of dead keys"
msgstr "Объединённые надбуквенные знаки вместе спец. клавиш (dead keys)"
-#: ../rules/base.extras.xml.in.h:4
+#: ../rules/base.extras.xml.in.h:5
msgid "Couer D'alene Salish"
msgstr "Салишская кёр-д’ален"
-#: ../rules/base.extras.xml.in.h:5
+#: ../rules/base.extras.xml.in.h:6
msgid "International (AltGr Unicode combining)"
msgstr "Международная (объединённая с AltGr Unicode)"
-#: ../rules/base.extras.xml.in.h:6
+#: ../rules/base.extras.xml.in.h:7
msgid "International (AltGr Unicode combining, alternative)"
msgstr "Международная (объединённая с AltGr Unicode, альтернативная)"
diff --git a/xorg-server/xkeyboard-config/po/vi.po b/xorg-server/xkeyboard-config/po/vi.po
index 01a2f87d2..e69aab919 100644
--- a/xorg-server/xkeyboard-config/po/vi.po
+++ b/xorg-server/xkeyboard-config/po/vi.po
@@ -6,10 +6,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: xkeyboard-config 1.9\n"
+"Project-Id-Version: xkeyboard-config 2.0\n"
"Report-Msgid-Bugs-To: svu@users.sourceforge.net\n"
-"POT-Creation-Date: 2010-05-11 21:34+0100\n"
-"PO-Revision-Date: 2010-05-13 19:00+0930\n"
+"POT-Creation-Date: 2010-09-15 21:57+0100\n"
+"PO-Revision-Date: 2010-09-28 19:37+0930\n"
"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
"MIME-Version: 1.0\n"
@@ -203,7 +203,7 @@ msgid "Alt is mapped to Right Win, Super to Menu"
msgstr "Ánh xạ Alt sang phím Win bên phải và Super sang phím trình đơn"
#: ../rules/base.xml.in.h:47
-msgid "Alt+CapsLock"
+msgid "Alt+Caps Lock"
msgstr "Alt+CapsLock"
#: ../rules/base.xml.in.h:48
@@ -297,8 +297,8 @@ msgid "Apple Aluminium Keyboard (JIS)"
msgstr "Bàn phím nhôm Apple (JIS)"
#: ../rules/base.xml.in.h:70
-msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll_Lock, Pause, NumLock)"
-msgstr "Bàn phím nhôm Apple: mô phỏng phím Phông Chữ: Print (In), Scroll_Lock (Khoá cuộn), Pause (Tạm dừng), NumLock (Khoá số)"
+msgid "Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num Lock)"
+msgstr "Bàn phím nhôm Apple: mô phỏng phím PC: Print (In), Scroll_Lock (Khoá cuộn), Pause (Tạm dừng), NumLock (Khoá số)"
#: ../rules/base.xml.in.h:71
msgid "Apple Laptop"
@@ -337,2647 +337,2667 @@ msgid "At left of 'A'"
msgstr "Bên trái của 'A'"
#: ../rules/base.xml.in.h:80
+msgid "Austria"
+msgstr "Ao"
+
+#: ../rules/base.xml.in.h:81
+msgid "Aut"
+msgstr "Aut"
+
+#: ../rules/base.xml.in.h:82
msgid "Avatime"
msgstr "Avatime"
-#: ../rules/base.xml.in.h:81
+#: ../rules/base.xml.in.h:83
msgid "Aze"
msgstr "Aze"
-#: ../rules/base.xml.in.h:82
+#: ../rules/base.xml.in.h:84
msgid "Azerbaijan"
msgstr "A-xơ-bai-gian"
-#: ../rules/base.xml.in.h:83
+#: ../rules/base.xml.in.h:85
msgid "Azona RF2300 wireless Internet Keyboard"
msgstr "Bàn phím không dây Internet Azona RF2300"
-#: ../rules/base.xml.in.h:84
+#: ../rules/base.xml.in.h:86
msgid "BTC 5090"
msgstr "BTC 5090"
-#: ../rules/base.xml.in.h:85
+#: ../rules/base.xml.in.h:87
msgid "BTC 5113RF Multimedia"
msgstr "BTC 5113RF Phim nhạc"
-#: ../rules/base.xml.in.h:86
+#: ../rules/base.xml.in.h:88
msgid "BTC 5126T"
msgstr "BTC 5126T"
-#: ../rules/base.xml.in.h:87
+#: ../rules/base.xml.in.h:89
msgid "BTC 6301URF"
msgstr "BTC 6301URF"
-#: ../rules/base.xml.in.h:88
+#: ../rules/base.xml.in.h:90
msgid "BTC 9000"
msgstr "BTC 9000"
-#: ../rules/base.xml.in.h:89
+#: ../rules/base.xml.in.h:91
msgid "BTC 9000A"
msgstr "BTC 9000A"
-#: ../rules/base.xml.in.h:90
+#: ../rules/base.xml.in.h:92
msgid "BTC 9001AH"
msgstr "BTC 9001AH"
-#: ../rules/base.xml.in.h:91
+#: ../rules/base.xml.in.h:93
msgid "BTC 9019U"
msgstr "BTC 9019U"
-#: ../rules/base.xml.in.h:92
+#: ../rules/base.xml.in.h:94
msgid "BTC 9116U Mini Wireless Internet and Gaming"
msgstr "BTC 9116U Internet và Chạy trò Không dây Nhỏ"
-#: ../rules/base.xml.in.h:93
+#: ../rules/base.xml.in.h:95
msgid "Backslash"
msgstr "Gạch chéo ngược"
-#: ../rules/base.xml.in.h:94
+#: ../rules/base.xml.in.h:96
msgid "Bangladesh"
msgstr "Băng-la-đexợ"
-#: ../rules/base.xml.in.h:95
+#: ../rules/base.xml.in.h:97
msgid "Bashkirian"
msgstr "Ba-s-khi-ri"
-#: ../rules/base.xml.in.h:96
+#: ../rules/base.xml.in.h:98
msgid "Bel"
msgstr "Bel"
-#: ../rules/base.xml.in.h:97
+#: ../rules/base.xml.in.h:99
msgid "Belarus"
msgstr "Bê-la-rút"
-#: ../rules/base.xml.in.h:98
+#: ../rules/base.xml.in.h:100
msgid "Belgium"
msgstr "Bỉ"
-#: ../rules/base.xml.in.h:99
+#: ../rules/base.xml.in.h:101
msgid "BenQ X-Touch"
msgstr "BenQ X-Touch"
-#: ../rules/base.xml.in.h:100
+#: ../rules/base.xml.in.h:102
msgid "BenQ X-Touch 730"
msgstr "BenQ X-Touch 730"
-#: ../rules/base.xml.in.h:101
+#: ../rules/base.xml.in.h:103
msgid "BenQ X-Touch 800"
msgstr "BenQ X-Touch 800"
-#: ../rules/base.xml.in.h:102
+#: ../rules/base.xml.in.h:104
msgid "Bengali"
msgstr "Ben-ga-li"
-#: ../rules/base.xml.in.h:103
+#: ../rules/base.xml.in.h:105
msgid "Bengali Probhat"
msgstr "Ben-ga-li Probhat"
-#: ../rules/base.xml.in.h:104
+#: ../rules/base.xml.in.h:106
msgid "Bepo, ergonomic, Dvorak way"
msgstr "Bepo, tối ưu nhân tố, cách Dvorak"
-#: ../rules/base.xml.in.h:105
+#: ../rules/base.xml.in.h:107
msgid "Bepo, ergonomic, Dvorak way, latin-9 only"
msgstr "Bepo, tối ưu nhân tố, cách Dvorak, chỉ Latin-9"
-#: ../rules/base.xml.in.h:106
+#: ../rules/base.xml.in.h:108
msgid "Bgd"
msgstr "Bgd"
-#: ../rules/base.xml.in.h:107
+#: ../rules/base.xml.in.h:109
msgid "Bgr"
msgstr "Bgr"
-#: ../rules/base.xml.in.h:108
+#: ../rules/base.xml.in.h:110
msgid "Bhutan"
msgstr "Bhu-tan"
-#: ../rules/base.xml.in.h:109
+#: ../rules/base.xml.in.h:111
msgid "Biblical Hebrew (Tiro)"
msgstr "Do Thái kinh thánh (Tiro)"
-#: ../rules/base.xml.in.h:110
+#: ../rules/base.xml.in.h:112
msgid "Bih"
msgstr "Bih"
-#: ../rules/base.xml.in.h:111
+#: ../rules/base.xml.in.h:113
msgid "Blr"
msgstr "Blr"
-#: ../rules/base.xml.in.h:112
+#: ../rules/base.xml.in.h:114
msgid "Bosnia and Herzegovina"
msgstr "Bô-xni-a và Héc-xê-gô-vi-na"
-#: ../rules/base.xml.in.h:113
+#: ../rules/base.xml.in.h:115
msgid "Both Alt keys together"
msgstr "Cả hai phím Alt với nhau"
-#: ../rules/base.xml.in.h:114
+#: ../rules/base.xml.in.h:116
msgid "Both Ctrl keys together"
msgstr "Cả hai phím Ctrl với nhau"
-#: ../rules/base.xml.in.h:115
+#: ../rules/base.xml.in.h:117
msgid "Both Shift keys together"
msgstr "Cả hai phím Shift với nhau"
-#: ../rules/base.xml.in.h:116
-msgid "Both Shift-Keys together toggle CapsLock"
+#: ../rules/base.xml.in.h:118
+msgid "Both Shift-Keys together toggle Caps Lock"
msgstr "Cả hai phím Shift với nhau thì bật/tắt CapsLock (khoá chữ hoa)"
-#: ../rules/base.xml.in.h:117
+#: ../rules/base.xml.in.h:119
msgid "Botswana"
msgstr "Bốt-xoă-na"
-#: ../rules/base.xml.in.h:118
+#: ../rules/base.xml.in.h:120
msgid "Bra"
msgstr "Bra"
-#: ../rules/base.xml.in.h:119
+#: ../rules/base.xml.in.h:121
msgid "Braille"
msgstr "Chữ nổi"
-#: ../rules/base.xml.in.h:120
+#: ../rules/base.xml.in.h:122
msgid "Brazil"
msgstr "Bra-xin"
-#: ../rules/base.xml.in.h:121
+#: ../rules/base.xml.in.h:123
msgid "Breton"
msgstr "Bợ-re-ton"
-#: ../rules/base.xml.in.h:122
+#: ../rules/base.xml.in.h:124
msgid "Brl"
msgstr "Brl"
-#: ../rules/base.xml.in.h:123
+#: ../rules/base.xml.in.h:125
msgid "Brother Internet Keyboard"
msgstr "Bàn phím Internet Brother"
-#: ../rules/base.xml.in.h:124
+#: ../rules/base.xml.in.h:126
msgid "Btn"
msgstr "Btn"
-#: ../rules/base.xml.in.h:125
+#: ../rules/base.xml.in.h:127
msgid "Buckwalter"
msgstr "Buckwalter"
-#: ../rules/base.xml.in.h:126
+#: ../rules/base.xml.in.h:128
msgid "Bulgaria"
msgstr "Bun-ga-ri"
-#: ../rules/base.xml.in.h:127
+#: ../rules/base.xml.in.h:129
msgid "Bwa"
msgstr "Bwa"
-#: ../rules/base.xml.in.h:128
+#: ../rules/base.xml.in.h:130
msgid "COD"
msgstr "COD"
-#: ../rules/base.xml.in.h:129
+#: ../rules/base.xml.in.h:131
msgid "CRULP"
msgstr "CRULP"
-#: ../rules/base.xml.in.h:130
+#: ../rules/base.xml.in.h:132
msgid "Cambodia"
msgstr "Căm Bốt"
-#: ../rules/base.xml.in.h:131
+#: ../rules/base.xml.in.h:133
msgid "Can"
msgstr "Can"
-#: ../rules/base.xml.in.h:132
+#: ../rules/base.xml.in.h:134
msgid "Canada"
msgstr "Ca-na-da"
-#: ../rules/base.xml.in.h:133
-msgid "CapsLock"
+#: ../rules/base.xml.in.h:135
+msgid "Caps Lock"
msgstr "CapsLock"
-#: ../rules/base.xml.in.h:134
-msgid "CapsLock (to first layout), Shift+CapsLock (to last layout)"
+#: ../rules/base.xml.in.h:136
+msgid "Caps Lock (to first layout), Shift+Caps Lock (to last layout)"
msgstr "CapsLock (tới bố trí đầu tiên), Shift+CapsLock (tới bố trí cuối cùng)"
-#: ../rules/base.xml.in.h:135
-msgid "CapsLock (while pressed), Alt+CapsLock does the original capslock action"
+#: ../rules/base.xml.in.h:137
+msgid "Caps Lock (while pressed), Alt+Caps Lock does the original capslock action"
msgstr "CapsLock (trong khi bấm), Alt+CapsLock thì làm việc gốc khoá chữ hoa"
-#: ../rules/base.xml.in.h:136
-msgid "CapsLock acts as Shift with locking. Shift \"pauses\" CapsLock"
+#: ../rules/base.xml.in.h:138
+msgid "Caps Lock acts as Shift with locking. Shift \"pauses\" Caps Lock"
msgstr "CapsLock hoạt động như Shift mà cũng khoá. Shift « tạm dừng » CapsLock."
-#: ../rules/base.xml.in.h:137
-msgid "CapsLock acts as Shift with locking. Shift doesn't affect CapsLock"
+#: ../rules/base.xml.in.h:139
+msgid "Caps Lock acts as Shift with locking. Shift doesn't affect Caps Lock"
msgstr "CapsLock hoạt động như Shift mà cũng khoá. Shift không có tác động CapsLock."
-#: ../rules/base.xml.in.h:138
-msgid "CapsLock is disabled"
+#: ../rules/base.xml.in.h:140
+msgid "Caps Lock is disabled"
msgstr "CapsLock bị tắt"
-#: ../rules/base.xml.in.h:139
-msgid "CapsLock key behavior"
+#: ../rules/base.xml.in.h:141
+msgid "Caps Lock key behavior"
msgstr "Đặc điểm của phím CapsLock"
-#: ../rules/base.xml.in.h:140
-msgid "CapsLock toggles Shift so all keys are affected"
+#: ../rules/base.xml.in.h:142
+msgid "Caps Lock toggles Shift so all keys are affected"
msgstr "CapsLock bật tắt Shift thì mọi phím đều bị ảnh hưởng"
-#: ../rules/base.xml.in.h:141
-msgid "CapsLock toggles normal capitalization of alphabetic characters"
+#: ../rules/base.xml.in.h:143
+msgid "Caps Lock toggles normal capitalization of alphabetic characters"
msgstr "CapsLock bật tắt viết hoa thông thường của các ký tự chữ cái"
-#: ../rules/base.xml.in.h:142
-msgid "CapsLock uses internal capitalization. Shift \"pauses\" CapsLock"
+#: ../rules/base.xml.in.h:144
+msgid "Caps Lock uses internal capitalization. Shift \"pauses\" Caps Lock"
msgstr "CapsLock sử dụng chức năng viết hoa nội bộ. Shift « tạm dừng » CapsLock."
-#: ../rules/base.xml.in.h:143
-msgid "CapsLock uses internal capitalization. Shift doesn't affect CapsLock"
+#: ../rules/base.xml.in.h:145
+msgid "Caps Lock uses internal capitalization. Shift doesn't affect Caps Lock"
msgstr "CapsLock sử dụng chức năng viết hoa nội bộ. Shift không có tác động CapsLock."
-#: ../rules/base.xml.in.h:144
+#: ../rules/base.xml.in.h:146
msgid "Catalan variant with middle-dot L"
msgstr "Biến thể Ca-ta-lan có chữ L chấm giữa"
# Tên bố trí bàn phím ?
-#: ../rules/base.xml.in.h:145
+#: ../rules/base.xml.in.h:147
msgid "Cedilla"
msgstr "Cedilla"
-#: ../rules/base.xml.in.h:146
+#: ../rules/base.xml.in.h:148
msgid "Che"
msgstr "Che"
-#: ../rules/base.xml.in.h:147
+#: ../rules/base.xml.in.h:149
msgid "Cherokee"
msgstr "Che-rô-khi"
-#: ../rules/base.xml.in.h:148
+#: ../rules/base.xml.in.h:150
msgid "Cherry B.UNLIMITED"
msgstr "Cherry B.VÔ_HẠN"
-#: ../rules/base.xml.in.h:149
+#: ../rules/base.xml.in.h:151
msgid "Cherry Blue Line CyBo@rd"
msgstr "Cherry Blue Line CyBo@rd"
-#: ../rules/base.xml.in.h:150
+#: ../rules/base.xml.in.h:152
msgid "Cherry Blue Line CyBo@rd (alternate option)"
msgstr "Cherry Blue Line CyBo@rd (luân phiên tùy chọn)"
-#: ../rules/base.xml.in.h:151
+#: ../rules/base.xml.in.h:153
msgid "Cherry CyBo@rd USB-Hub"
msgstr "Cherry CyBo@rd Cái Nối USB"
-#: ../rules/base.xml.in.h:152
+#: ../rules/base.xml.in.h:154
msgid "Cherry CyMotion Expert"
msgstr "Cherry CyMotion Expert"
-#: ../rules/base.xml.in.h:153
+#: ../rules/base.xml.in.h:155
msgid "Cherry CyMotion Master Linux"
msgstr "Cherry CyMotion Master Linux"
-#: ../rules/base.xml.in.h:154
+#: ../rules/base.xml.in.h:156
msgid "Cherry CyMotion Master XPress"
msgstr "Cherry CyMotion Master XPress"
-#: ../rules/base.xml.in.h:155
+#: ../rules/base.xml.in.h:157
msgid "Chicony Internet Keyboard"
msgstr "Bàn phím Internet Chicony"
-#: ../rules/base.xml.in.h:156
+#: ../rules/base.xml.in.h:158
msgid "Chicony KB-9885"
msgstr "Chicony KB-9885"
-#: ../rules/base.xml.in.h:157
+#: ../rules/base.xml.in.h:159
msgid "Chicony KU-0108"
msgstr "Chicony KU-0108"
-#: ../rules/base.xml.in.h:158
+#: ../rules/base.xml.in.h:160
msgid "Chicony KU-0420"
msgstr "Chicony KU-0420"
-#: ../rules/base.xml.in.h:159
+#: ../rules/base.xml.in.h:161
msgid "China"
msgstr "Trung Quốc"
-#: ../rules/base.xml.in.h:160
+#: ../rules/base.xml.in.h:162
msgid "Chn"
msgstr "Chn"
-#: ../rules/base.xml.in.h:161
+#: ../rules/base.xml.in.h:163
msgid "Chuvash"
msgstr "Chu-vasợ"
-#: ../rules/base.xml.in.h:162
+#: ../rules/base.xml.in.h:164
msgid "Chuvash Latin"
msgstr "Chu-vasợ La-tinh"
-#: ../rules/base.xml.in.h:163
+#: ../rules/base.xml.in.h:165
msgid "Classic"
msgstr "Kinh điển"
-#: ../rules/base.xml.in.h:164
+#: ../rules/base.xml.in.h:166
msgid "Classic Dvorak"
msgstr "Dvorak kinh điển"
-#: ../rules/base.xml.in.h:165
+#: ../rules/base.xml.in.h:167
msgid "Classic, eliminate dead keys"
msgstr "Kinh điển, loại trừ phím chết"
-#: ../rules/base.xml.in.h:166
+#: ../rules/base.xml.in.h:168
msgid "Classmate PC"
msgstr "Classmate PC"
-#: ../rules/base.xml.in.h:167
+#: ../rules/base.xml.in.h:169
msgid "CloGaelach"
msgstr "CloGaelach"
-#: ../rules/base.xml.in.h:168
+#: ../rules/base.xml.in.h:170
msgid "Colemak"
msgstr "Colemak"
-#: ../rules/base.xml.in.h:169
+#: ../rules/base.xml.in.h:171
msgid "Compaq Easy Access Keyboard"
msgstr "Bàn phím Truy cập Dễ dàng của Compaq"
-#: ../rules/base.xml.in.h:170
+#: ../rules/base.xml.in.h:172
msgid "Compaq Internet Keyboard (13 keys)"
msgstr "Bàn phím Internet Compaq (13 phím)"
-#: ../rules/base.xml.in.h:171
+#: ../rules/base.xml.in.h:173
msgid "Compaq Internet Keyboard (18 keys)"
msgstr "Bàn phím Internet Compaq (18 phím)"
-#: ../rules/base.xml.in.h:172
+#: ../rules/base.xml.in.h:174
msgid "Compaq Internet Keyboard (7 keys)"
msgstr "Bàn phím Internet Compaq (7 phím)"
-#: ../rules/base.xml.in.h:173
+#: ../rules/base.xml.in.h:175
msgid "Compaq iPaq Keyboard"
msgstr "Bàn phím iPaq Compaq"
-#: ../rules/base.xml.in.h:174
+#: ../rules/base.xml.in.h:176
msgid "Compose key position"
msgstr "Vị trí phím Soạn thảo"
-#: ../rules/base.xml.in.h:175
+#: ../rules/base.xml.in.h:177
msgid "Congo, Democratic Republic of the"
msgstr "Cộng Hoà Dân Chủ Công-gô"
-#: ../rules/base.xml.in.h:176
+#: ../rules/base.xml.in.h:178
msgid "Control + Alt + Backspace"
msgstr "Control + Alt + Backspace"
-#: ../rules/base.xml.in.h:177
+#: ../rules/base.xml.in.h:179
msgid "Control is mapped to Alt keys, Alt is mapped to Win keys"
msgstr "Control ánh xạ tới các phím Alt, Alt ánh xạ tới các phím Win"
-#: ../rules/base.xml.in.h:178
+#: ../rules/base.xml.in.h:180
msgid "Control is mapped to Win keys (and the usual Ctrl keys)"
msgstr "Control ánh xạ tới các phím Win (và các phím Ctrl thường dùng)"
-#: ../rules/base.xml.in.h:179
+#: ../rules/base.xml.in.h:181
msgid "Creative Desktop Wireless 7000"
msgstr "Creative Desktop Wireless 7000"
-#: ../rules/base.xml.in.h:180
+#: ../rules/base.xml.in.h:182
msgid "Crimean Tatar (Dobruca-1 Q)"
msgstr "Ta-tă Cợ-ri-mia (Dobruca-1 Q)"
-#: ../rules/base.xml.in.h:181
+#: ../rules/base.xml.in.h:183
msgid "Crimean Tatar (Dobruca-2 Q)"
msgstr "Ta-tă Cợ-ri-mia (Dobruca-2 Q)"
-#: ../rules/base.xml.in.h:182
+#: ../rules/base.xml.in.h:184
msgid "Crimean Tatar (Turkish Alt-Q)"
msgstr "Ta-tă Cợ-ri-mia (Thổ Nhĩ Kỳ Alt-Q)"
-#: ../rules/base.xml.in.h:183
+#: ../rules/base.xml.in.h:185
msgid "Crimean Tatar (Turkish F)"
msgstr "Ta-tă Cợ-ri-mia (Thổ Nhĩ Kỳ F)"
-#: ../rules/base.xml.in.h:184
+#: ../rules/base.xml.in.h:186
msgid "Crimean Tatar (Turkish Q)"
msgstr "Ta-tă Cợ-ri-mia (Thổ Nhĩ Kỳ Q)"
-#: ../rules/base.xml.in.h:185
+#: ../rules/base.xml.in.h:187
msgid "Croatia"
msgstr "Cợ-rô-a-ti-a"
-#: ../rules/base.xml.in.h:186
+#: ../rules/base.xml.in.h:188
msgid "Ctrl key position"
msgstr "Vị trí phím Ctrl"
-#: ../rules/base.xml.in.h:187
+#: ../rules/base.xml.in.h:189
msgid "Ctrl+Shift"
msgstr "Ctrl+Shift"
-#: ../rules/base.xml.in.h:188
+#: ../rules/base.xml.in.h:190
msgid "Cyrillic"
msgstr "Ki-rin"
-#: ../rules/base.xml.in.h:189
+#: ../rules/base.xml.in.h:191
msgid "Cyrillic with guillemets"
msgstr "Ki-rin với « chim uria »"
-#: ../rules/base.xml.in.h:190
+#: ../rules/base.xml.in.h:192
msgid "Cyrillic, Z and ZHE swapped"
msgstr "Ki-rin, đổi chỗ Z và ZHE"
-#: ../rules/base.xml.in.h:191
+#: ../rules/base.xml.in.h:193
msgid "Cze"
msgstr "Cze"
-#: ../rules/base.xml.in.h:192
+#: ../rules/base.xml.in.h:194
msgid "Czechia"
msgstr "Séc"
-#: ../rules/base.xml.in.h:193
+#: ../rules/base.xml.in.h:195
msgid "DOS"
msgstr "DOS"
-#: ../rules/base.xml.in.h:194
+#: ../rules/base.xml.in.h:196
msgid "DTK2000"
msgstr "DTK2000"
-#: ../rules/base.xml.in.h:195
+#: ../rules/base.xml.in.h:197
msgid "Dead acute"
msgstr "Chết sắc"
-#: ../rules/base.xml.in.h:196
+#: ../rules/base.xml.in.h:198
msgid "Dead grave acute"
msgstr "Chết huyền sắc"
-#: ../rules/base.xml.in.h:197
+#: ../rules/base.xml.in.h:199
msgid "Default numeric keypad keys"
msgstr "Các phím vùng số mặc định"
-#: ../rules/base.xml.in.h:198
+#: ../rules/base.xml.in.h:200
msgid "Dell"
msgstr "Dell"
-#: ../rules/base.xml.in.h:199
+#: ../rules/base.xml.in.h:201
msgid "Dell 101-key PC"
msgstr "Dell PC 101 phím"
-#: ../rules/base.xml.in.h:200
+#: ../rules/base.xml.in.h:202
msgid "Dell Laptop/notebook Inspiron 6xxx/8xxx"
msgstr "Xách tay Dell Inspiron 6xxx/8xxx"
-#: ../rules/base.xml.in.h:201
+#: ../rules/base.xml.in.h:203
msgid "Dell Laptop/notebook Precision M series"
msgstr "Xách tay Dell dãy Precision M"
-#: ../rules/base.xml.in.h:202
+#: ../rules/base.xml.in.h:204
msgid "Dell Latitude series laptop"
msgstr "Xách tay Dell dãy Latitude"
-#: ../rules/base.xml.in.h:203
+#: ../rules/base.xml.in.h:205
msgid "Dell Precision M65"
msgstr "Dell Precision M65"
-#: ../rules/base.xml.in.h:204
+#: ../rules/base.xml.in.h:206
msgid "Dell SK-8125"
msgstr "Dell SK-8125"
-#: ../rules/base.xml.in.h:205
+#: ../rules/base.xml.in.h:207
msgid "Dell SK-8135"
msgstr "Dell SK-8135"
-#: ../rules/base.xml.in.h:206
+#: ../rules/base.xml.in.h:208
msgid "Dell USB Multimedia Keyboard"
msgstr "Bàn phím đa phương tiện USB Dell"
-#: ../rules/base.xml.in.h:207
+#: ../rules/base.xml.in.h:209
msgid "Denmark"
msgstr "Đan Mạch"
-#: ../rules/base.xml.in.h:208
+#: ../rules/base.xml.in.h:210
msgid "Deu"
msgstr "Deu"
-#: ../rules/base.xml.in.h:209
+#: ../rules/base.xml.in.h:211
msgid "Dexxa Wireless Desktop Keyboard"
msgstr "Bàn phím Không dây Dexxa cho Desktop"
-#: ../rules/base.xml.in.h:210
+#: ../rules/base.xml.in.h:212
msgid "Diamond 9801 / 9802 series"
msgstr "Sê ri Diamond 9801 / 9802"
-#: ../rules/base.xml.in.h:211
+#: ../rules/base.xml.in.h:213
msgid "Dnk"
msgstr "Dnk"
-#: ../rules/base.xml.in.h:212
+#: ../rules/base.xml.in.h:214
msgid "Dvorak"
msgstr "Dvorak"
-#: ../rules/base.xml.in.h:213
+#: ../rules/base.xml.in.h:215
msgid "Dvorak (UK Punctuation)"
msgstr "Dvorak (dấu chấm câu Quốc Anh)"
-#: ../rules/base.xml.in.h:214
+#: ../rules/base.xml.in.h:216
msgid "Dvorak alternative international (no dead keys)"
msgstr "Dvorak quốc tế tương đương (không có phím chết)"
-#: ../rules/base.xml.in.h:215
+#: ../rules/base.xml.in.h:217
msgid "Dvorak international (with dead keys)"
msgstr "Dvorak quốc tế (với phím chết)"
-#: ../rules/base.xml.in.h:216
+#: ../rules/base.xml.in.h:218
msgid "Dvorak, Polish quotes on key 1"
msgstr "Dvorak, dấu ngoặc tiếng Ba Lan trên phím 1"
-#: ../rules/base.xml.in.h:217
+#: ../rules/base.xml.in.h:219
msgid "Dvorak, Polish quotes on quotemark key"
msgstr "Dvorak, dấu ngoặc Polish trên phím đánh dấu ngoặc"
-#: ../rules/base.xml.in.h:218
+#: ../rules/base.xml.in.h:220
msgid "E"
msgstr "E"
-#: ../rules/base.xml.in.h:219
+#: ../rules/base.xml.in.h:221
msgid "Eastern"
msgstr "Vùng Đông"
-#: ../rules/base.xml.in.h:220
+#: ../rules/base.xml.in.h:222
msgid "Eliminate dead keys"
msgstr "Phím chết loại trừ"
-#: ../rules/base.xml.in.h:221
+#: ../rules/base.xml.in.h:223
msgid "Enable extra typographic characters"
msgstr "Bật thêm ký tự thuật in máy"
-#: ../rules/base.xml.in.h:222
+#: ../rules/base.xml.in.h:224
msgid "English"
msgstr "Anh"
-#: ../rules/base.xml.in.h:223
+#: ../rules/base.xml.in.h:225
msgid "English (USA International)"
msgstr "Anh (Mỹ quốc tế)"
-#: ../rules/base.xml.in.h:224
+#: ../rules/base.xml.in.h:226
msgid "English (USA Macintosh)"
msgstr "Anh (Mỹ Macintosh)"
-#: ../rules/base.xml.in.h:225
+#: ../rules/base.xml.in.h:227
msgid "Ennyah DKB-1008"
msgstr "Ennyah DKB-1008"
-#: ../rules/base.xml.in.h:226
+#: ../rules/base.xml.in.h:228
msgid "Enter on keypad"
msgstr "Enter trên vùng phím"
-#: ../rules/base.xml.in.h:227
+#: ../rules/base.xml.in.h:229
msgid "Epo"
msgstr "Epo"
-#: ../rules/base.xml.in.h:228
+#: ../rules/base.xml.in.h:230
msgid "Ergonomic"
msgstr "Tối ưu nhân tố"
-#: ../rules/base.xml.in.h:229
+#: ../rules/base.xml.in.h:231
msgid "Esp"
msgstr "Esp"
-#: ../rules/base.xml.in.h:230
+#: ../rules/base.xml.in.h:232
msgid "Esperanto"
msgstr "Ét-pe-ran-tô"
-#: ../rules/base.xml.in.h:231
+#: ../rules/base.xml.in.h:233
msgid "Est"
msgstr "Est"
-#: ../rules/base.xml.in.h:232
+#: ../rules/base.xml.in.h:234
msgid "Estonia"
msgstr "Ex-tô-ni-a"
-#: ../rules/base.xml.in.h:233
+#: ../rules/base.xml.in.h:235
msgid "Eth"
msgstr "Eth"
-#: ../rules/base.xml.in.h:234
+#: ../rules/base.xml.in.h:236
msgid "Ethiopia"
msgstr "Ê-ti-ô-pi"
-#: ../rules/base.xml.in.h:235
+#: ../rules/base.xml.in.h:237
msgid "Everex STEPnote"
msgstr "Everex STEPnote"
-#: ../rules/base.xml.in.h:236
+#: ../rules/base.xml.in.h:238
msgid "Ewe"
msgstr "Ewe"
-#: ../rules/base.xml.in.h:237
+#: ../rules/base.xml.in.h:239
msgid "Extended"
msgstr "Mở rộng"
-#: ../rules/base.xml.in.h:238
+#: ../rules/base.xml.in.h:240
msgid "Extended - Winkeys"
msgstr "Mở rộng — Winkeys"
-#: ../rules/base.xml.in.h:239
+#: ../rules/base.xml.in.h:241
msgid "Extended Backslash"
msgstr "Gạch chéo ngược Mở rộng"
-#: ../rules/base.xml.in.h:240
+#: ../rules/base.xml.in.h:242
msgid "F-letter (F) variant"
msgstr "Phương án chữ cái F (F)"
-#: ../rules/base.xml.in.h:241
+#: ../rules/base.xml.in.h:243
msgid "FL90"
msgstr "FL90"
-#: ../rules/base.xml.in.h:242
+#: ../rules/base.xml.in.h:244
msgid "Faroe Islands"
msgstr "Quần Đảo Pha-rô"
-#: ../rules/base.xml.in.h:243
+#: ../rules/base.xml.in.h:245
msgid "Fin"
msgstr "Fin"
-#: ../rules/base.xml.in.h:244
+#: ../rules/base.xml.in.h:246
msgid "Finland"
msgstr "Phần Lan"
#. This assumes the KP_ abstract symbols are actually useful for some apps
#. The description needs to be rewritten
-#: ../rules/base.xml.in.h:247
+#: ../rules/base.xml.in.h:249
msgid "Four-level key with abstract separators"
msgstr "Phím bốn bậc có bộ phân cách ảo"
-#: ../rules/base.xml.in.h:248
+#: ../rules/base.xml.in.h:250
msgid "Four-level key with comma"
msgstr "Phím bốn bậc có dấu phẩy"
-#: ../rules/base.xml.in.h:249
+#: ../rules/base.xml.in.h:251
msgid "Four-level key with dot"
msgstr "Phím bốn bậc có chấm"
-#: ../rules/base.xml.in.h:250
+#: ../rules/base.xml.in.h:252
msgid "Four-level key with dot, latin-9 restriction"
msgstr "Phím bốn bậc có chấm, sự hạn chế latin-9"
-#: ../rules/base.xml.in.h:251
+#: ../rules/base.xml.in.h:253
msgid "Four-level key with momayyez"
msgstr "Phím bốn bậc có momayyez"
-#: ../rules/base.xml.in.h:252
+#: ../rules/base.xml.in.h:254
msgid "Fra"
msgstr "Fra"
-#: ../rules/base.xml.in.h:253
+#: ../rules/base.xml.in.h:255
msgid "France"
msgstr "Pháp"
-#: ../rules/base.xml.in.h:254
+#: ../rules/base.xml.in.h:256
msgid "Français (France Alternative)"
msgstr "Pháp (Pháp tương đương)"
-#: ../rules/base.xml.in.h:255
+#: ../rules/base.xml.in.h:257
msgid "French"
msgstr "Pháp"
-#: ../rules/base.xml.in.h:256
+#: ../rules/base.xml.in.h:258
msgid "French (Macintosh)"
msgstr "Pháp (Macintosh)"
-#: ../rules/base.xml.in.h:257
+#: ../rules/base.xml.in.h:259
msgid "French (legacy)"
msgstr "Pháp (di sản)"
-#: ../rules/base.xml.in.h:258
+#: ../rules/base.xml.in.h:260
msgid "French Dvorak"
msgstr "Pháp Dvorak"
-#: ../rules/base.xml.in.h:259
+#: ../rules/base.xml.in.h:261
msgid "French, Sun dead keys"
msgstr "Pháp, phím chết Sun"
-#: ../rules/base.xml.in.h:260
+#: ../rules/base.xml.in.h:262
msgid "French, eliminate dead keys"
msgstr "Pháp, phím chết loại trừ"
-#: ../rules/base.xml.in.h:261
+#: ../rules/base.xml.in.h:263
msgid "Fro"
msgstr "Fro"
-#: ../rules/base.xml.in.h:262
+#: ../rules/base.xml.in.h:264
msgid "Fujitsu-Siemens Computers AMILO laptop"
msgstr "Máy tính xách tay AMILO Fujitsu-Siemens"
-#: ../rules/base.xml.in.h:263
+#: ../rules/base.xml.in.h:265
msgid "Fula"
msgstr "Fula"
-#: ../rules/base.xml.in.h:264
+#: ../rules/base.xml.in.h:266
msgid "GBr"
msgstr "GBr"
-#: ../rules/base.xml.in.h:265
+#: ../rules/base.xml.in.h:267
msgid "GILLBT"
msgstr "GILLBT"
-#: ../rules/base.xml.in.h:266
+#: ../rules/base.xml.in.h:268
msgid "Ga"
msgstr "Ga"
-#: ../rules/base.xml.in.h:267
+#: ../rules/base.xml.in.h:269
msgid "Generic 101-key PC"
msgstr "PC chung 101 phím"
-#: ../rules/base.xml.in.h:268
+#: ../rules/base.xml.in.h:270
msgid "Generic 102-key (Intl) PC"
msgstr "PC chung 102 phím (Intl)"
-#: ../rules/base.xml.in.h:269
+#: ../rules/base.xml.in.h:271
msgid "Generic 104-key PC"
msgstr "PC chung 104 phím"
-#: ../rules/base.xml.in.h:270
+#: ../rules/base.xml.in.h:272
msgid "Generic 105-key (Intl) PC"
msgstr "PC chung 105 phím (Intl)"
# Name: don't translate/Tên: đừng dịch
-#: ../rules/base.xml.in.h:271
+#: ../rules/base.xml.in.h:273
msgid "Genius Comfy KB-12e"
msgstr "Genius Comfy KB-12e"
-#: ../rules/base.xml.in.h:272
+#: ../rules/base.xml.in.h:274
msgid "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
msgstr "Genius Tiện lợi KB-16M / Bàn phím Genius MM KWD-910"
-#: ../rules/base.xml.in.h:273
+#: ../rules/base.xml.in.h:275
msgid "Genius Comfy KB-21e-Scroll"
msgstr "Genius Comfy KB-21e-Scroll"
# Name: don't translate/Tên: đừng dịch
-#: ../rules/base.xml.in.h:274
+#: ../rules/base.xml.in.h:276
msgid "Genius KB-19e NB"
msgstr "Genius KB-19e NB"
# Name: don't translate/Tên: đừng dịch
-#: ../rules/base.xml.in.h:275
+#: ../rules/base.xml.in.h:277
msgid "Genius KKB-2050HS"
msgstr "Genius KKB-2050HS"
-#: ../rules/base.xml.in.h:276
+#: ../rules/base.xml.in.h:278
msgid "Geo"
msgstr "Geo"
-#: ../rules/base.xml.in.h:277
+#: ../rules/base.xml.in.h:279
msgid "Georgia"
msgstr "Gi-oa-gi-a"
-#: ../rules/base.xml.in.h:278
+#: ../rules/base.xml.in.h:280
msgid "Georgian"
msgstr "Gi-oa-gi-a"
-#: ../rules/base.xml.in.h:279
+#: ../rules/base.xml.in.h:281
msgid "Georgian AZERTY Tskapo"
msgstr "Gi-oa-gi-a AZERTY Tskapo"
-#: ../rules/base.xml.in.h:280
+#: ../rules/base.xml.in.h:282
msgid "German (Macintosh)"
msgstr "Đức (Macintosh)"
-#: ../rules/base.xml.in.h:281
+#: ../rules/base.xml.in.h:283
msgid "German, Sun dead keys"
msgstr "Đức, phím chết Sun"
-#: ../rules/base.xml.in.h:282
+#: ../rules/base.xml.in.h:284
msgid "German, eliminate dead keys"
msgstr "Đức, phím chết loại trừ"
-#: ../rules/base.xml.in.h:283
+#: ../rules/base.xml.in.h:285
msgid "Germany"
msgstr "Đức"
-#: ../rules/base.xml.in.h:284
+#: ../rules/base.xml.in.h:286
msgid "Gha"
msgstr "Gha"
-#: ../rules/base.xml.in.h:285
+#: ../rules/base.xml.in.h:287
msgid "Ghana"
msgstr "Gha-na"
-#: ../rules/base.xml.in.h:286
+#: ../rules/base.xml.in.h:288
msgid "Gin"
msgstr "Gin"
-#: ../rules/base.xml.in.h:287
+#: ../rules/base.xml.in.h:289
msgid "Grc"
msgstr "Grc"
-#: ../rules/base.xml.in.h:288
+#: ../rules/base.xml.in.h:290
msgid "Greece"
msgstr "Hy Lạp"
-#: ../rules/base.xml.in.h:289
+#: ../rules/base.xml.in.h:291
msgid "Guinea"
msgstr "Ghi-nê"
-#: ../rules/base.xml.in.h:290
+#: ../rules/base.xml.in.h:292
msgid "Gujarati"
msgstr "Gu-gia-ra-ti"
-#: ../rules/base.xml.in.h:291
+#: ../rules/base.xml.in.h:293
msgid "Gurmukhi"
msgstr "Gổ-mu-khi"
-#: ../rules/base.xml.in.h:292
+#: ../rules/base.xml.in.h:294
msgid "Gurmukhi Jhelum"
msgstr "Gổ-mu-khi Jhelum"
-#: ../rules/base.xml.in.h:293
+#: ../rules/base.xml.in.h:295
msgid "Gyration"
msgstr "Sự chuyển hồi"
-#: ../rules/base.xml.in.h:294
+#: ../rules/base.xml.in.h:296
msgid "Happy Hacking Keyboard"
msgstr "Bàn phím Happy Hacking"
-#: ../rules/base.xml.in.h:295
+#: ../rules/base.xml.in.h:297
msgid "Happy Hacking Keyboard for Mac"
msgstr "Bàn phím Happy Hacking cho Mac"
-#: ../rules/base.xml.in.h:296
+#: ../rules/base.xml.in.h:298
msgid "Hausa"
msgstr "Hau-xa"
-#: ../rules/base.xml.in.h:297
+#: ../rules/base.xml.in.h:299
msgid "Hewlett-Packard Internet Keyboard"
msgstr "Bàn phím Internet Hewlett-Packard"
-#: ../rules/base.xml.in.h:298
+#: ../rules/base.xml.in.h:300
msgid "Hewlett-Packard Mini 110 Notebook"
msgstr "Hewlett-Packard Mini 110 Notebook"
-#: ../rules/base.xml.in.h:299
+#: ../rules/base.xml.in.h:301
msgid "Hewlett-Packard Omnibook 500 FA"
msgstr "Hewlett-Packard Omnibook 500 FA"
-#: ../rules/base.xml.in.h:300
+#: ../rules/base.xml.in.h:302
msgid "Hewlett-Packard Omnibook 5xx"
msgstr "Hewlett-Packard Omnibook 5xx"
-#: ../rules/base.xml.in.h:301
+#: ../rules/base.xml.in.h:303
msgid "Hewlett-Packard Omnibook 6000/6100"
msgstr "Hewlett-Packard Omnibook 6000/6100"
-#: ../rules/base.xml.in.h:302
+#: ../rules/base.xml.in.h:304
msgid "Hewlett-Packard Omnibook XE3 GC"
msgstr "Hewlett-Packard Omnibook XE3 GC"
-#: ../rules/base.xml.in.h:303
+#: ../rules/base.xml.in.h:305
msgid "Hewlett-Packard Omnibook XE3 GF"
msgstr "Hewlett-Packard Omnibook XE3 GF"
-#: ../rules/base.xml.in.h:304
+#: ../rules/base.xml.in.h:306
msgid "Hewlett-Packard Omnibook XT1000"
msgstr "Hewlett-Packard Omnibook XT1000"
-#: ../rules/base.xml.in.h:305
+#: ../rules/base.xml.in.h:307
msgid "Hewlett-Packard Pavilion ZT11xx"
msgstr "Hewlett-Packard Pavilion ZT11xx"
-#: ../rules/base.xml.in.h:306
+#: ../rules/base.xml.in.h:308
msgid "Hewlett-Packard Pavilion dv5"
msgstr "Hewlett-Packard Pavilion dv5"
-#: ../rules/base.xml.in.h:307
+#: ../rules/base.xml.in.h:309
msgid "Hewlett-Packard SK-250x Multimedia Keyboard"
msgstr "Bàn phím phim nhạc Hewlett-Packard SK-250x"
-#: ../rules/base.xml.in.h:308
+#: ../rules/base.xml.in.h:310
msgid "Hewlett-Packard nx9020"
msgstr "Hewlett-Packard nx9020"
-#: ../rules/base.xml.in.h:309
+#: ../rules/base.xml.in.h:311
msgid "Hexadecimal"
msgstr "Thập lục"
-#: ../rules/base.xml.in.h:310
+#: ../rules/base.xml.in.h:312
msgid "Hindi Bolnagri"
msgstr "Hin-đi Bolnagri"
-#: ../rules/base.xml.in.h:311
+#: ../rules/base.xml.in.h:313
msgid "Hindi Wx"
msgstr "Hin-đi Wx"
-#: ../rules/base.xml.in.h:312
+#: ../rules/base.xml.in.h:314
msgid "Homophonic"
msgstr "Cùng một chủ điệu"
-#: ../rules/base.xml.in.h:313
+#: ../rules/base.xml.in.h:315
msgid "Honeywell Euroboard"
msgstr "Honeywell Euroboard"
-#: ../rules/base.xml.in.h:314
+#: ../rules/base.xml.in.h:316
msgid "Hrv"
msgstr "Hrv"
-#: ../rules/base.xml.in.h:315
+#: ../rules/base.xml.in.h:317
msgid "Hun"
msgstr "Hun"
-#: ../rules/base.xml.in.h:316
+#: ../rules/base.xml.in.h:318
msgid "Hungary"
msgstr "Hun-ga-ri"
-#: ../rules/base.xml.in.h:317
+#: ../rules/base.xml.in.h:319
msgid "Hyper is mapped to Win-keys"
msgstr "Hyper ánh xạ tới các phím Win"
-#: ../rules/base.xml.in.h:318
+#: ../rules/base.xml.in.h:320
msgid "IBM (LST 1205-92)"
msgstr "IBM (LST 1205-92)"
-#: ../rules/base.xml.in.h:319
+#: ../rules/base.xml.in.h:321
msgid "IBM Rapid Access"
msgstr "Truy cập nhanh IBM"
-#: ../rules/base.xml.in.h:320
+#: ../rules/base.xml.in.h:322
msgid "IBM Rapid Access II"
msgstr "Truy cập nhanh IBM II"
-#: ../rules/base.xml.in.h:321
+#: ../rules/base.xml.in.h:323
msgid "IBM Space Saver"
msgstr "IBM Space Saver"
-#: ../rules/base.xml.in.h:322
+#: ../rules/base.xml.in.h:324
msgid "IBM ThinkPad 560Z/600/600E/A22E"
msgstr "IBM ThinkPad 560Z/600/600E/A22E"
-#: ../rules/base.xml.in.h:323
+#: ../rules/base.xml.in.h:325
msgid "IBM ThinkPad R60/T60/R61/T61"
msgstr "IBM ThinkPad R60/T60/R61/T61"
-#: ../rules/base.xml.in.h:324
+#: ../rules/base.xml.in.h:326
msgid "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
msgstr "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
-#: ../rules/base.xml.in.h:325
+#: ../rules/base.xml.in.h:327
msgid "ISO Alternate"
msgstr "ISO Xen kẽ"
-#: ../rules/base.xml.in.h:326
+#: ../rules/base.xml.in.h:328
msgid "Iceland"
msgstr "Băng Đảo"
-#: ../rules/base.xml.in.h:327
+#: ../rules/base.xml.in.h:329
msgid "Igbo"
msgstr "Ig-bô"
-#: ../rules/base.xml.in.h:328
+#: ../rules/base.xml.in.h:330
msgid "Include dead tilde"
msgstr "Bao gồm dấu sóng chết"
-#: ../rules/base.xml.in.h:329
+#: ../rules/base.xml.in.h:331
msgid "Ind"
msgstr "Ind"
-#: ../rules/base.xml.in.h:330
+#: ../rules/base.xml.in.h:332
msgid "India"
msgstr "Ấn Độ"
-#: ../rules/base.xml.in.h:331
+#: ../rules/base.xml.in.h:333
msgid "International (AltGr dead keys)"
msgstr "Quốc tế (với phím chết AltGr)"
-#: ../rules/base.xml.in.h:332
+#: ../rules/base.xml.in.h:334
msgid "International (with dead keys)"
msgstr "Quốc tế (với phím chết)"
-#: ../rules/base.xml.in.h:333
+#: ../rules/base.xml.in.h:335
msgid "Inuktitut"
msgstr "I-nukh-ti-tu-th"
-#: ../rules/base.xml.in.h:334
+#: ../rules/base.xml.in.h:336 ../rules/base.extras.xml.in.h:8
msgid "Iran"
msgstr "I-rắn"
-#: ../rules/base.xml.in.h:335
+#: ../rules/base.xml.in.h:337
msgid "Iraq"
msgstr "I-rắc"
-#: ../rules/base.xml.in.h:336
+#: ../rules/base.xml.in.h:338
msgid "Ireland"
msgstr "Ái-nhĩ-lan"
-#: ../rules/base.xml.in.h:337
+#: ../rules/base.xml.in.h:339
msgid "Irl"
msgstr "Irl"
-#: ../rules/base.xml.in.h:338
+#: ../rules/base.xml.in.h:340
msgid "Irn"
msgstr "Irn"
-#: ../rules/base.xml.in.h:339
+#: ../rules/base.xml.in.h:341
msgid "Irq"
msgstr "Irq"
-#: ../rules/base.xml.in.h:340
+#: ../rules/base.xml.in.h:342
msgid "Isl"
msgstr "Isl"
-#: ../rules/base.xml.in.h:341
+#: ../rules/base.xml.in.h:343
msgid "Isr"
msgstr "Isr"
-#: ../rules/base.xml.in.h:342
+#: ../rules/base.xml.in.h:344
msgid "Israel"
msgstr "Do Thái"
-#: ../rules/base.xml.in.h:343
+#: ../rules/base.xml.in.h:345
msgid "Ita"
msgstr "Ita"
-#: ../rules/base.xml.in.h:344
+#: ../rules/base.xml.in.h:346
msgid "Italy"
msgstr "Ý"
-#: ../rules/base.xml.in.h:345
+#: ../rules/base.xml.in.h:347
msgid "Japan"
msgstr "Nhật Bản"
-#: ../rules/base.xml.in.h:346
+#: ../rules/base.xml.in.h:348
msgid "Japan (PC-98xx Series)"
msgstr "Nhật (dãy PC-98xx)"
-#: ../rules/base.xml.in.h:347
+#: ../rules/base.xml.in.h:349
msgid "Japanese keyboard options"
msgstr "Tùy chọn bàn phím tiếng Nhật"
-#: ../rules/base.xml.in.h:348
+#: ../rules/base.xml.in.h:350
msgid "Jpn"
msgstr "Jpn"
-#: ../rules/base.xml.in.h:349
+#: ../rules/base.xml.in.h:351
msgid "Kalmyk"
msgstr "Kalmyk"
-#: ../rules/base.xml.in.h:350
+#: ../rules/base.xml.in.h:352
msgid "Kana"
msgstr "Kana"
-#: ../rules/base.xml.in.h:351
+#: ../rules/base.xml.in.h:353
msgid "Kana Lock key is locking"
msgstr "Phím Kana Lock sẽ khoá"
-#: ../rules/base.xml.in.h:352
+#: ../rules/base.xml.in.h:354
msgid "Kannada"
msgstr "Kannada"
-#: ../rules/base.xml.in.h:353
+#: ../rules/base.xml.in.h:355
msgid "Kashubian"
msgstr "Kha-su-bi"
-#: ../rules/base.xml.in.h:354
+#: ../rules/base.xml.in.h:356
msgid "Kaz"
msgstr "Kaz"
-#: ../rules/base.xml.in.h:355
+#: ../rules/base.xml.in.h:357
msgid "Kazakh with Russian"
msgstr "Kha-xắc với tiếng Nga"
-#: ../rules/base.xml.in.h:356
+#: ../rules/base.xml.in.h:358
msgid "Kazakhstan"
msgstr "Kha-xắc-x-tanh"
-#: ../rules/base.xml.in.h:357
+#: ../rules/base.xml.in.h:359
msgid "Ken"
msgstr "Ken"
-#: ../rules/base.xml.in.h:358
+#: ../rules/base.xml.in.h:360
msgid "Kenya"
msgstr "Khi-nia"
-#: ../rules/base.xml.in.h:359
+#: ../rules/base.xml.in.h:361
msgid "Key sequence to kill the X server"
msgstr "Dãy phím để giết trình phục vụ X"
-#: ../rules/base.xml.in.h:360
+#: ../rules/base.xml.in.h:362
msgid "Key to choose 3rd level"
msgstr "Phím để chọn cấp ba"
-#: ../rules/base.xml.in.h:361
+#: ../rules/base.xml.in.h:363
msgid "Key to choose 5th level"
msgstr "Phím để chọn cấp 5"
-#: ../rules/base.xml.in.h:362
+#: ../rules/base.xml.in.h:364
msgid "Key(s) to change layout"
msgstr "(Các) phím để chuyển đổi bố trí"
-#: ../rules/base.xml.in.h:363
+#: ../rules/base.xml.in.h:365
msgid "Keytronic FlexPro"
msgstr "Keytronic FlexPro"
-#: ../rules/base.xml.in.h:364
+#: ../rules/base.xml.in.h:366
msgid "Kgz"
msgstr "Kgz"
-#: ../rules/base.xml.in.h:365
+#: ../rules/base.xml.in.h:367
msgid "Khm"
msgstr "Khm"
-#: ../rules/base.xml.in.h:366
+#: ../rules/base.xml.in.h:368
msgid "Kikuyu"
msgstr "Ki-ku-yu"
-#: ../rules/base.xml.in.h:367
+#: ../rules/base.xml.in.h:369
+msgid "Kinesis"
+msgstr "Kinesis"
+
+#: ../rules/base.xml.in.h:370
msgid "Komi"
msgstr "Komi"
-#: ../rules/base.xml.in.h:368
+#: ../rules/base.xml.in.h:371
msgid "Kor"
msgstr "Kor"
-#: ../rules/base.xml.in.h:369
+#: ../rules/base.xml.in.h:372
msgid "Korea, Republic of"
msgstr "Cộng Hoà Nam Hàn"
-#: ../rules/base.xml.in.h:370
+#: ../rules/base.xml.in.h:373
msgid "Ktunaxa"
msgstr "Ktunaxa"
-#: ../rules/base.xml.in.h:371
+#: ../rules/base.xml.in.h:374
msgid "Kurdish, (F)"
msgstr "Kuổ-đít (F)"
-#: ../rules/base.xml.in.h:372
+#: ../rules/base.xml.in.h:375
msgid "Kurdish, Arabic-Latin"
msgstr "Kuổ-đít, A Rập/La-tinh"
-#: ../rules/base.xml.in.h:373
+#: ../rules/base.xml.in.h:376
msgid "Kurdish, Latin Alt-Q"
msgstr "Kuổ-đít, La-tinh Alt-Q"
-#: ../rules/base.xml.in.h:374
+#: ../rules/base.xml.in.h:377
msgid "Kurdish, Latin Q"
msgstr "Kuổ-đít, La-tinh Q"
-#: ../rules/base.xml.in.h:375
+#: ../rules/base.xml.in.h:378
msgid "Kyrgyzstan"
msgstr "Kyr-gi-x-tanh"
-#: ../rules/base.xml.in.h:376
+#: ../rules/base.xml.in.h:379
msgid "LAm"
msgstr "LAm"
-#: ../rules/base.xml.in.h:377
+#: ../rules/base.xml.in.h:380
msgid "LEKP"
msgstr "LEKP"
-#: ../rules/base.xml.in.h:378
+#: ../rules/base.xml.in.h:381
msgid "LEKPa"
msgstr "LEKPa"
-#: ../rules/base.xml.in.h:379
+#: ../rules/base.xml.in.h:382
msgid "Lao"
msgstr "Lào"
-#: ../rules/base.xml.in.h:380
+#: ../rules/base.xml.in.h:383
msgid "Laos"
msgstr "Lào"
-#: ../rules/base.xml.in.h:381
+#: ../rules/base.xml.in.h:384
msgid "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard"
msgstr "Bàn phím nhỏ gọn cho máy xách tay/notebook Compaq (ví dụ Armada)"
-#: ../rules/base.xml.in.h:382
+#: ../rules/base.xml.in.h:385
msgid "Laptop/notebook Compaq (eg. Presario) Internet Keyboard"
msgstr "Bàn phím Internet cho máy xách tay/notebook Compaq (ví dụ Presario)"
-#: ../rules/base.xml.in.h:383
+#: ../rules/base.xml.in.h:386
msgid "Laptop/notebook eMachines m68xx"
msgstr "Xách tay eMachines m68xx"
-#: ../rules/base.xml.in.h:384
+#: ../rules/base.xml.in.h:387
msgid "Latin"
msgstr "La-tinh"
-#: ../rules/base.xml.in.h:385
+#: ../rules/base.xml.in.h:388
msgid "Latin American"
msgstr "La-tinh Mỹ"
-#: ../rules/base.xml.in.h:386
+#: ../rules/base.xml.in.h:389
msgid "Latin Unicode"
msgstr "La-tinh Unicode"
-#: ../rules/base.xml.in.h:387
+#: ../rules/base.xml.in.h:390
msgid "Latin Unicode qwerty"
msgstr "La-tinh Unicode qwerty"
-#: ../rules/base.xml.in.h:388
+#: ../rules/base.xml.in.h:391
msgid "Latin qwerty"
msgstr "La-tinh qwerty"
-#: ../rules/base.xml.in.h:389
+#: ../rules/base.xml.in.h:392
msgid "Latin unicode"
msgstr "La-tinh Unicode"
-#: ../rules/base.xml.in.h:390
+#: ../rules/base.xml.in.h:393
msgid "Latin unicode qwerty"
msgstr "La-tinh Unicode QWERTY"
-#: ../rules/base.xml.in.h:391
+#: ../rules/base.xml.in.h:394
msgid "Latin with guillemets"
msgstr "La-tinh với « chim uria »"
-#: ../rules/base.xml.in.h:392
+#: ../rules/base.xml.in.h:395
msgid "Latvia"
msgstr "Lát-via"
-#: ../rules/base.xml.in.h:393
+#: ../rules/base.xml.in.h:396
msgid "Layout toggle on multiply/divide key"
msgstr "Bật/tắt bố trí với phím nhân/chia"
-#: ../rules/base.xml.in.h:394
+#: ../rules/base.xml.in.h:397
msgid "Left Alt"
msgstr "Alt trái"
-#: ../rules/base.xml.in.h:395
+#: ../rules/base.xml.in.h:398
msgid "Left Alt (while pressed)"
msgstr "Alt trái (trong khi bấm)"
-#: ../rules/base.xml.in.h:396
+#: ../rules/base.xml.in.h:399
msgid "Left Alt is swapped with Left Win"
msgstr "Alt bên trái được trao đổi với phím Win bên trái"
-#: ../rules/base.xml.in.h:397
+#: ../rules/base.xml.in.h:400
msgid "Left Ctrl"
msgstr "Ctrl trái"
-#: ../rules/base.xml.in.h:398
+#: ../rules/base.xml.in.h:401
msgid "Left Ctrl (to first layout), Right Ctrl (to last layout)"
msgstr "Ctrl trái (tới bố trí đầu tiên), Ctrl phải (tới bố trí cuối cùng)"
-#: ../rules/base.xml.in.h:399
+#: ../rules/base.xml.in.h:402
msgid "Left Ctrl+Left Shift"
msgstr "Ctrl trái+Shift trái"
-#: ../rules/base.xml.in.h:400
+#: ../rules/base.xml.in.h:403
msgid "Left Shift"
msgstr "Shift trái"
-#: ../rules/base.xml.in.h:401
+#: ../rules/base.xml.in.h:404
msgid "Left Win"
msgstr "Win trái"
-#: ../rules/base.xml.in.h:402
+#: ../rules/base.xml.in.h:405
msgid "Left Win (to first layout), Right Win/Menu (to last layout)"
msgstr "Win trái (tới bố trí đầu tiên), Win phải/Trình đơn (tới bố trí cuối cùng)"
-#: ../rules/base.xml.in.h:403
+#: ../rules/base.xml.in.h:406
msgid "Left Win (while pressed)"
msgstr "Win trái (trong khi bấm)"
-#: ../rules/base.xml.in.h:404
+#: ../rules/base.xml.in.h:407
msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "Win trái chọn cấp 5, khoá khi bấm nhau với một bộ chọn năm 5 khác"
-#: ../rules/base.xml.in.h:405
+#: ../rules/base.xml.in.h:408
msgid "Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "Win trái chọn cấp 5, khoá khi bấm nhau với một bộ chọn năm 5 khác, một cú bấm cũng buông khoá"
-#: ../rules/base.xml.in.h:406
+#: ../rules/base.xml.in.h:409
msgid "Left hand"
msgstr "Thuận tay trái"
-#: ../rules/base.xml.in.h:407
+#: ../rules/base.xml.in.h:410
msgid "Left handed Dvorak"
msgstr "Dvorak thuận tay trái"
-#: ../rules/base.xml.in.h:408
+#: ../rules/base.xml.in.h:411
msgid "Legacy"
msgstr "Thừa tự"
-#: ../rules/base.xml.in.h:409
+#: ../rules/base.xml.in.h:412
msgid "Legacy Wang 724"
msgstr "Wang 724 thừa tự"
#. Actually, with KP_SEPARATOR, as the old keypad(comma)
-#: ../rules/base.xml.in.h:411
+#: ../rules/base.xml.in.h:414
msgid "Legacy key with comma"
msgstr "Phím thừa tự có dấu phẩy"
-#: ../rules/base.xml.in.h:412
+#: ../rules/base.xml.in.h:415
msgid "Legacy key with dot"
msgstr "Phím thừa tự có chấm"
-#: ../rules/base.xml.in.h:413
+#: ../rules/base.xml.in.h:416
msgid "Lithuania"
msgstr "Li-tu-a-ni"
-#: ../rules/base.xml.in.h:414
+#: ../rules/base.xml.in.h:417
msgid "Lka"
msgstr "Lka"
-#: ../rules/base.xml.in.h:415
+#: ../rules/base.xml.in.h:418
msgid "Logitech Access Keyboard"
msgstr "Bàn phím Truy cập Logitech"
-#: ../rules/base.xml.in.h:416
+#: ../rules/base.xml.in.h:419
msgid "Logitech Cordless Desktop"
msgstr "Logitech Cordless Desktop"
-#: ../rules/base.xml.in.h:417
+#: ../rules/base.xml.in.h:420
msgid "Logitech Cordless Desktop (alternate option)"
msgstr "Logitech Cordless Desktop (tùy chọn thay thế)"
-#: ../rules/base.xml.in.h:418
+#: ../rules/base.xml.in.h:421
msgid "Logitech Cordless Desktop EX110"
msgstr "Logitech Cordless Desktop EX110"
-#: ../rules/base.xml.in.h:419
+#: ../rules/base.xml.in.h:422
msgid "Logitech Cordless Desktop LX-300"
msgstr "Logitech Cordless Desktop LX-300"
-#: ../rules/base.xml.in.h:420
+#: ../rules/base.xml.in.h:423
msgid "Logitech Cordless Desktop Navigator"
msgstr "Logitech Cordless Desktop Navigator"
-#: ../rules/base.xml.in.h:421
+#: ../rules/base.xml.in.h:424
msgid "Logitech Cordless Desktop Optical"
msgstr "Logitech Cordless Desktop Optical"
-#: ../rules/base.xml.in.h:422
+#: ../rules/base.xml.in.h:425
msgid "Logitech Cordless Desktop Pro (alternate option 2)"
msgstr "Logitech Cordless Desktop Pro (luân phiên tùy chọn 2)"
-#: ../rules/base.xml.in.h:423
+#: ../rules/base.xml.in.h:426
msgid "Logitech Cordless Desktop iTouch"
msgstr "Logitech Cordless Desktop iTouch"
-#: ../rules/base.xml.in.h:424
+#: ../rules/base.xml.in.h:427
msgid "Logitech Cordless Freedom/Desktop Navigator"
msgstr "Logitech Cordless Freedom/Desktop Navigator"
-#: ../rules/base.xml.in.h:425
+#: ../rules/base.xml.in.h:428
msgid "Logitech G15 extra keys via G15daemon"
msgstr "Logitech G15 các phím thêm thông qua G15daemon"
-#: ../rules/base.xml.in.h:426
+#: ../rules/base.xml.in.h:429
msgid "Logitech Generic Keyboard"
msgstr "Bàn phím chung Logitech"
-#: ../rules/base.xml.in.h:427
+#: ../rules/base.xml.in.h:430
msgid "Logitech Internet 350 Keyboard"
msgstr "Bàn phím Internet Logitech 350"
-#: ../rules/base.xml.in.h:428
+#: ../rules/base.xml.in.h:431
msgid "Logitech Internet Keyboard"
msgstr "Bàn phím Internet Logitech"
-#: ../rules/base.xml.in.h:429
+#: ../rules/base.xml.in.h:432
msgid "Logitech Internet Navigator Keyboard"
msgstr "Bàn phím Logitech Internet Navigator"
-#: ../rules/base.xml.in.h:430
+#: ../rules/base.xml.in.h:433
msgid "Logitech Media Elite Keyboard"
msgstr "Bàn phím Logitech Media Elite"
-#: ../rules/base.xml.in.h:431
+#: ../rules/base.xml.in.h:434
msgid "Logitech Ultra-X Cordless Media Desktop Keyboard"
msgstr "Bàn phím Logitech Ultra-X Cordless Media Desktop"
-#: ../rules/base.xml.in.h:432
+#: ../rules/base.xml.in.h:435
msgid "Logitech Ultra-X Keyboard"
msgstr "Bàn phím Logitech Ultra-X"
-#: ../rules/base.xml.in.h:433
+#: ../rules/base.xml.in.h:436
msgid "Logitech diNovo Edge Keyboard"
msgstr "Bàn phím Logitech diNovo Edge"
-#: ../rules/base.xml.in.h:434
+#: ../rules/base.xml.in.h:437
msgid "Logitech diNovo Keyboard"
msgstr "Bàn phím Logitech diNovo"
-#: ../rules/base.xml.in.h:435
+#: ../rules/base.xml.in.h:438
msgid "Logitech iTouch"
msgstr "Logitech iTouch"
-#: ../rules/base.xml.in.h:436
+#: ../rules/base.xml.in.h:439
msgid "Logitech iTouch Cordless Keyboard (model Y-RB6)"
msgstr "Bàn phím Không dây Logitech iTouch (mẫu mã Y-RB6)"
-#: ../rules/base.xml.in.h:437
+#: ../rules/base.xml.in.h:440
msgid "Logitech iTouch Internet Navigator Keyboard SE"
msgstr "Bàn phím Logitech iTouch Internet Navigator SE"
-#: ../rules/base.xml.in.h:438
+#: ../rules/base.xml.in.h:441
msgid "Logitech iTouch Internet Navigator Keyboard SE (USB)"
msgstr "Bàn phím Logitech iTouch Internet Navigator SE (USB)"
-#: ../rules/base.xml.in.h:439
+#: ../rules/base.xml.in.h:442
msgid "Lower Sorbian"
msgstr "Xoa-bi Thấp"
-#: ../rules/base.xml.in.h:440
+#: ../rules/base.xml.in.h:443
msgid "Lower Sorbian (qwertz)"
msgstr "Xoa-bi Thấp (qwertz)"
-#: ../rules/base.xml.in.h:441
+#: ../rules/base.xml.in.h:444
msgid "Ltu"
msgstr "Ltu"
-#: ../rules/base.xml.in.h:442
+#: ../rules/base.xml.in.h:445
msgid "Lva"
msgstr "Lva"
-#: ../rules/base.xml.in.h:443
+#: ../rules/base.xml.in.h:446
msgid "MESS"
msgstr "MESS"
-#: ../rules/base.xml.in.h:444
+#: ../rules/base.xml.in.h:447
msgid "MNE"
msgstr "MNE"
-#: ../rules/base.xml.in.h:445
+#: ../rules/base.xml.in.h:448
msgid "MacBook/MacBook Pro"
msgstr "MacBook/MacBook Pro"
-#: ../rules/base.xml.in.h:446
+#: ../rules/base.xml.in.h:449
msgid "MacBook/MacBook Pro (Intl)"
msgstr "MacBook/MacBook Pro (quốc tế)"
-#: ../rules/base.xml.in.h:447
+#: ../rules/base.xml.in.h:450
msgid "Macedonia"
msgstr "Ma-xê-đô-ni-a"
-#: ../rules/base.xml.in.h:448
+#: ../rules/base.xml.in.h:451
msgid "Macintosh"
msgstr "Macintosh"
-#: ../rules/base.xml.in.h:449
+#: ../rules/base.xml.in.h:452
+msgid "Macintosh (International)"
+msgstr "Macintosh (Quốc tế)"
+
+#: ../rules/base.xml.in.h:453
msgid "Macintosh Old"
msgstr "Macintosh Cũ"
-#: ../rules/base.xml.in.h:450
+#: ../rules/base.xml.in.h:454
msgid "Macintosh, Sun dead keys"
msgstr "Macintosh, phím chết Sun"
-#: ../rules/base.xml.in.h:451
+#: ../rules/base.xml.in.h:455
msgid "Macintosh, eliminate dead keys"
msgstr "Macintosh, phím chết loại trừ"
-#: ../rules/base.xml.in.h:452
-msgid "Make CapsLock an additional Backspace"
+#: ../rules/base.xml.in.h:456
+msgid "Make Caps Lock an additional Backspace"
msgstr "Đặt CapsLock làm một phím Xoá lùi bổ sung"
-#: ../rules/base.xml.in.h:453
-msgid "Make CapsLock an additional Ctrl"
+#: ../rules/base.xml.in.h:457
+msgid "Make Caps Lock an additional Ctrl"
msgstr "Đặt CapsLock làm một phím Ctrl bổ sung"
-#: ../rules/base.xml.in.h:454
-msgid "Make CapsLock an additional ESC"
+#: ../rules/base.xml.in.h:458
+msgid "Make Caps Lock an additional ESC"
msgstr "Đặt CapsLock làm một phím ESC bổ sung"
-#: ../rules/base.xml.in.h:455
-msgid "Make CapsLock an additional Hyper"
+#: ../rules/base.xml.in.h:459
+msgid "Make Caps Lock an additional Hyper"
msgstr "Đặt CapsLock làm một phím Hyper bổ sung"
-#: ../rules/base.xml.in.h:456
-msgid "Make CapsLock an additional NumLock"
+#: ../rules/base.xml.in.h:460
+msgid "Make Caps Lock an additional Num Lock"
msgstr "Đặt CapsLock làm một phím NumLock bổ sung"
-#: ../rules/base.xml.in.h:457
-msgid "Make CapsLock an additional Super"
+#: ../rules/base.xml.in.h:461
+msgid "Make Caps Lock an additional Super"
msgstr "Đặt CapsLock làm một phím Super bổ sung"
-#: ../rules/base.xml.in.h:458
+#: ../rules/base.xml.in.h:462
msgid "Malayalam"
msgstr "Malayalam"
-#: ../rules/base.xml.in.h:459
+#: ../rules/base.xml.in.h:463
msgid "Malayalam Lalitha"
msgstr "Malayalam Lalitha"
-#: ../rules/base.xml.in.h:460
+#: ../rules/base.xml.in.h:464
msgid "Maldives"
msgstr "Man-đi-vơ-xợ"
-#: ../rules/base.xml.in.h:461
+#: ../rules/base.xml.in.h:465
msgid "Mali"
msgstr "Ma-li"
-#: ../rules/base.xml.in.h:462
+#: ../rules/base.xml.in.h:466
msgid "Malta"
msgstr "Man-tợ"
-#: ../rules/base.xml.in.h:463
+#: ../rules/base.xml.in.h:467
msgid "Maltese keyboard with US layout"
msgstr "Bàn phím Man-tợ có bố trí Mỹ"
-#: ../rules/base.xml.in.h:464
+#: ../rules/base.xml.in.h:468
msgid "Mao"
msgstr "Mao"
-#: ../rules/base.xml.in.h:465
+#: ../rules/base.xml.in.h:469
msgid "Maori"
msgstr "Mao-ri"
-#: ../rules/base.xml.in.h:466
+#: ../rules/base.xml.in.h:470
msgid "Mdv"
msgstr "Mdv"
-#: ../rules/base.xml.in.h:467
+#: ../rules/base.xml.in.h:471
msgid "Memorex MX1998"
msgstr "Memorex MX1998"
-#: ../rules/base.xml.in.h:468
+#: ../rules/base.xml.in.h:472
msgid "Memorex MX2500 EZ-Access Keyboard"
msgstr "Bàn phím Memorex MX2500 EZ-Access"
-#: ../rules/base.xml.in.h:469
+#: ../rules/base.xml.in.h:473
msgid "Memorex MX2750"
msgstr "Memorex MX2750"
-#: ../rules/base.xml.in.h:470
+#: ../rules/base.xml.in.h:474
msgid "Menu"
msgstr "Trình đơn"
-#: ../rules/base.xml.in.h:471
+#: ../rules/base.xml.in.h:475
msgid "Meta is mapped to Left Win"
msgstr "Meta ánh xạ tới Win trái"
-#: ../rules/base.xml.in.h:472
+#: ../rules/base.xml.in.h:476
msgid "Meta is mapped to Win keys"
msgstr "Meta ánh xạ tới các phím Win"
-#: ../rules/base.xml.in.h:473
+#: ../rules/base.xml.in.h:477
msgid "Microsoft Comfort Curve Keyboard 2000"
msgstr "Microsoft Comfort Curve Keyboard 2000"
-#: ../rules/base.xml.in.h:474
+#: ../rules/base.xml.in.h:478
msgid "Microsoft Internet Keyboard"
msgstr "Bàn phím Internet Microsoft"
-#: ../rules/base.xml.in.h:475
+#: ../rules/base.xml.in.h:479
msgid "Microsoft Internet Keyboard Pro, Swedish"
msgstr "Bàn phím Internet Microsoft Pro, Thụy Điển"
-#: ../rules/base.xml.in.h:476
+#: ../rules/base.xml.in.h:480
msgid "Microsoft Natural"
msgstr "Microsoft Natural"
-#: ../rules/base.xml.in.h:477
+#: ../rules/base.xml.in.h:481
msgid "Microsoft Natural Keyboard Elite"
msgstr "Microsoft Natural Keyboard Elite"
-#: ../rules/base.xml.in.h:478
+#: ../rules/base.xml.in.h:482
msgid "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
msgstr "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
-#: ../rules/base.xml.in.h:479
+#: ../rules/base.xml.in.h:483
msgid "Microsoft Natural Keyboard Pro OEM"
msgstr "Microsoft Natural Keyboard Pro OEM"
-#: ../rules/base.xml.in.h:480
+#: ../rules/base.xml.in.h:484
msgid "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
msgstr "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
-#: ../rules/base.xml.in.h:481
+#: ../rules/base.xml.in.h:485
msgid "Microsoft Natural Wireless Ergonomic Keyboard 7000"
msgstr "Microsoft Natural Wireless Ergonomic Keyboard 7000"
-#: ../rules/base.xml.in.h:482
+#: ../rules/base.xml.in.h:486
msgid "Microsoft Office Keyboard"
msgstr "Bàn phím Văn phòng Microsoft"
-#: ../rules/base.xml.in.h:483
+#: ../rules/base.xml.in.h:487
msgid "Microsoft Wireless Multimedia Keyboard 1.0A"
msgstr "Microsoft Wireless Multimedia Keyboard 1.0A"
-#: ../rules/base.xml.in.h:484
+#: ../rules/base.xml.in.h:488
msgid "Miscellaneous compatibility options"
msgstr "Tùy chọn tương thích khác"
-#: ../rules/base.xml.in.h:485
+#: ../rules/base.xml.in.h:489
msgid "Mkd"
msgstr "Mkd"
-#: ../rules/base.xml.in.h:486
+#: ../rules/base.xml.in.h:490
msgid "Mli"
msgstr "Mli"
-#: ../rules/base.xml.in.h:487
+#: ../rules/base.xml.in.h:491
msgid "Mlt"
msgstr "Mlt"
-#: ../rules/base.xml.in.h:488
+#: ../rules/base.xml.in.h:492
msgid "Mmr"
msgstr "Mmr"
-#: ../rules/base.xml.in.h:489
+#: ../rules/base.xml.in.h:493
msgid "Mng"
msgstr "Mng"
-#: ../rules/base.xml.in.h:490
+#: ../rules/base.xml.in.h:494
msgid "Mongolia"
msgstr "Mông Cổ"
-#: ../rules/base.xml.in.h:491
+#: ../rules/base.xml.in.h:495
msgid "Montenegro"
msgstr "Mon-te-nê-gợ-rô"
-#: ../rules/base.xml.in.h:492
+#: ../rules/base.xml.in.h:496
msgid "Morocco"
msgstr "Ma Rốc"
-#: ../rules/base.xml.in.h:493
+#: ../rules/base.xml.in.h:497
msgid "Multilingual"
msgstr "Đa ngôn ngữ"
-#: ../rules/base.xml.in.h:494
+#: ../rules/base.xml.in.h:498
msgid "Multilingual, first part"
msgstr "Đa ngôn ngữ, phần đầu"
-#: ../rules/base.xml.in.h:495
+#: ../rules/base.xml.in.h:499
msgid "Multilingual, second part"
msgstr "Đa ngôn ngữ, phần hai"
-#: ../rules/base.xml.in.h:496
+#: ../rules/base.xml.in.h:500
msgid "Myanmar"
msgstr "Miến Điện"
-#: ../rules/base.xml.in.h:497
+#: ../rules/base.xml.in.h:501
msgid "NICOLA-F style Backspace"
msgstr "Xoá lùi kiểu NICOLA-F"
-#: ../rules/base.xml.in.h:498
+#: ../rules/base.xml.in.h:502
msgid "NLA"
msgstr "NLA"
-#: ../rules/base.xml.in.h:499
+#: ../rules/base.xml.in.h:503
msgid "Nativo"
msgstr "Nativo"
-#: ../rules/base.xml.in.h:500
+#: ../rules/base.xml.in.h:504
msgid "Nativo for Esperanto"
msgstr "Nativo cho Ét-pe-ran-tô"
-#: ../rules/base.xml.in.h:501
+#: ../rules/base.xml.in.h:505
msgid "Nativo for USA keyboards"
msgstr "Nativo cho bàn phím Mỹ"
-#: ../rules/base.xml.in.h:502
+#: ../rules/base.xml.in.h:506
msgid "Neo 2"
msgstr "Neo 2"
-#: ../rules/base.xml.in.h:503
+#: ../rules/base.xml.in.h:507
msgid "Nepal"
msgstr "Ne-pan"
-#: ../rules/base.xml.in.h:504
+#: ../rules/base.xml.in.h:508
msgid "Netherlands"
msgstr "Hà Lan"
-#: ../rules/base.xml.in.h:505
+#: ../rules/base.xml.in.h:509
msgid "New phonetic"
msgstr "Ngữ âm mới"
-#: ../rules/base.xml.in.h:506
+#: ../rules/base.xml.in.h:510
msgid "Nga"
msgstr "Nga"
-#: ../rules/base.xml.in.h:507
+#: ../rules/base.xml.in.h:511
msgid "Nigeria"
msgstr "Ni-gê-ri-a"
-#: ../rules/base.xml.in.h:508
+#: ../rules/base.xml.in.h:512
msgid "Nld"
msgstr "Nld"
-#: ../rules/base.xml.in.h:509
+#: ../rules/base.xml.in.h:513
msgid "Non-breakable space character at fourth level"
msgstr "Ký tự dấu cách không thể ngắt ở bậc thứ tư"
-#: ../rules/base.xml.in.h:510
+#: ../rules/base.xml.in.h:514
msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level"
msgstr "Ký tự dấu cách không thể ngắt ở bậc thứ tư, ký tự dấu cách không thể ngắt mảnh ở bậc thứ sáu"
-#: ../rules/base.xml.in.h:511
+#: ../rules/base.xml.in.h:515
msgid "Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)"
msgstr "Ký tự dấu cách không thể ngắt ở bậc thứ tư, ký tự dấu cách không thể ngắt mảnh ở bậc thứ sáu (dùng Ctrl+Shift)"
-#: ../rules/base.xml.in.h:512
+#: ../rules/base.xml.in.h:516
msgid "Non-breakable space character at second level"
msgstr "Ký tự dấu cách không thể ngắt ở bậc thứ hai"
-#: ../rules/base.xml.in.h:513
+#: ../rules/base.xml.in.h:517
msgid "Non-breakable space character at third level"
msgstr "Ký tự dấu cách không thể ngắt ở bậc thứ ba"
-#: ../rules/base.xml.in.h:514
+#: ../rules/base.xml.in.h:518
msgid "Non-breakable space character at third level, nothing at fourth level"
msgstr "Ký tự dấu cách không thể ngắt ở bậc thứ ba, không nhập gì ở bậc thứ tư"
-#: ../rules/base.xml.in.h:515
+#: ../rules/base.xml.in.h:519
msgid "Non-breakable space character at third level, thin non-breakable space character at fourth level"
msgstr "Ký tự dấu cách không thể ngắt ở bậc thứ ba, ký tự dấu cách không thể ngắt mảnh ở bậc thứ tư"
-#: ../rules/base.xml.in.h:516
+#: ../rules/base.xml.in.h:520
msgid "Nor"
msgstr "Nor"
-#: ../rules/base.xml.in.h:517
+#: ../rules/base.xml.in.h:521
msgid "Northern Saami"
msgstr "Bắc Xa-mi"
-#: ../rules/base.xml.in.h:518
+#: ../rules/base.xml.in.h:522
msgid "Northern Saami, eliminate dead keys"
msgstr "Bắc Xa-mi, phím chết loại trừ"
-#: ../rules/base.xml.in.h:519
+#: ../rules/base.xml.in.h:523
msgid "Northgate OmniKey 101"
msgstr "Northgate OmniKey 101"
-#: ../rules/base.xml.in.h:520
+#: ../rules/base.xml.in.h:524
msgid "Norway"
msgstr "Na Uy"
-#: ../rules/base.xml.in.h:521
+#: ../rules/base.xml.in.h:525
msgid "Npl"
msgstr "Npl"
-#: ../rules/base.xml.in.h:522
-msgid "NumLock"
+#: ../rules/base.xml.in.h:526
+msgid "Num Lock"
msgstr "NumLock"
-#: ../rules/base.xml.in.h:523
+#: ../rules/base.xml.in.h:527
msgid "Numeric keypad delete key behaviour"
msgstr "Ứng xử phím xoá của vùng số"
-#: ../rules/base.xml.in.h:524
+#: ../rules/base.xml.in.h:528
msgid "Numeric keypad keys work as with Mac"
msgstr "Phím vùng số hoạt động như trên Mac"
-#: ../rules/base.xml.in.h:525
+#: ../rules/base.xml.in.h:529
msgid "Numeric keypad layout selection"
msgstr "Chọn bố trí vùng phím số"
-#: ../rules/base.xml.in.h:526
+#: ../rules/base.xml.in.h:530
msgid "OADG 109A"
msgstr "OADG 109A"
-#: ../rules/base.xml.in.h:527
+#: ../rules/base.xml.in.h:531
msgid "OLPC"
msgstr "OLPC"
-#: ../rules/base.xml.in.h:528
+#: ../rules/base.xml.in.h:532
msgid "OLPC Dari"
msgstr "OLPC Dari"
-#: ../rules/base.xml.in.h:529
+#: ../rules/base.xml.in.h:533
msgid "OLPC Pashto"
msgstr "OLPC Pas-tô"
-#: ../rules/base.xml.in.h:530
+#: ../rules/base.xml.in.h:534
msgid "OLPC Southern Uzbek"
msgstr "OLPC Nam Ux-béc"
-#: ../rules/base.xml.in.h:531
+#: ../rules/base.xml.in.h:535
msgid "Occitan"
msgstr "Óc-khi-tanh"
-#: ../rules/base.xml.in.h:532
+#: ../rules/base.xml.in.h:536
msgid "Ogham"
msgstr "Og-âm"
-#: ../rules/base.xml.in.h:533
+#: ../rules/base.xml.in.h:537
msgid "Ogham IS434"
msgstr "Ogam IS434"
-#: ../rules/base.xml.in.h:534
+#: ../rules/base.xml.in.h:538
msgid "Oriya"
msgstr "Ô-ri-a"
-#: ../rules/base.xml.in.h:535
+#: ../rules/base.xml.in.h:539
msgid "Ortek MCK-800 MM/Internet keyboard"
msgstr "Bàn phím Ortek MCK-800 MM/Internet"
-#: ../rules/base.xml.in.h:536
+#: ../rules/base.xml.in.h:540
msgid "Ossetian"
msgstr "O-xét"
-#: ../rules/base.xml.in.h:537
+#: ../rules/base.xml.in.h:541
msgid "Ossetian, Winkeys"
msgstr "O-xét, phím Win"
-#: ../rules/base.xml.in.h:538
+#: ../rules/base.xml.in.h:542
msgid "Ossetian, legacy"
msgstr "O-xét, thừa tự"
-#: ../rules/base.xml.in.h:539
+#: ../rules/base.xml.in.h:543
msgid "PC-98xx Series"
msgstr "Sê ri PC-98xx"
-#: ../rules/base.xml.in.h:540
+#: ../rules/base.xml.in.h:544
msgid "Pak"
msgstr "Pak"
-#: ../rules/base.xml.in.h:541
+#: ../rules/base.xml.in.h:545
msgid "Pakistan"
msgstr "Pa-khi-x-tanh"
-#: ../rules/base.xml.in.h:542
+#: ../rules/base.xml.in.h:546
msgid "Pannonian Rusyn Homophonic"
msgstr "Đồng điệu Ru-xin Pa-non"
-#: ../rules/base.xml.in.h:543
+#: ../rules/base.xml.in.h:547
msgid "Pashto"
msgstr "Pas-tô"
-#: ../rules/base.xml.in.h:544
+#: ../rules/base.xml.in.h:548
msgid "Pattachote"
msgstr "Pa-ta-chô-te"
-#: ../rules/base.xml.in.h:545
+#: ../rules/base.xml.in.h:549
msgid "Pause"
msgstr "Pause"
-#: ../rules/base.xml.in.h:546
+#: ../rules/base.xml.in.h:550
msgid "Persian, with Persian Keypad"
msgstr "Ba Tư có vùng phím Ba Tư"
-#: ../rules/base.xml.in.h:547
+#: ../rules/base.xml.in.h:551
msgid "Phonetic"
msgstr "Ngữ âm"
-#: ../rules/base.xml.in.h:548
+#: ../rules/base.xml.in.h:552
msgid "Phonetic Winkeys"
msgstr "Winkeys ngữ âm"
-#: ../rules/base.xml.in.h:549
+#: ../rules/base.xml.in.h:553
msgid "Pol"
msgstr "Pol"
-#: ../rules/base.xml.in.h:550
+#: ../rules/base.xml.in.h:554
msgid "Poland"
msgstr "Phần Lan"
-#: ../rules/base.xml.in.h:551
+#: ../rules/base.xml.in.h:555
msgid "Polytonic"
msgstr "Nhiều âm"
-#: ../rules/base.xml.in.h:552
+#: ../rules/base.xml.in.h:556
msgid "Portugal"
msgstr "Bồ Đào Nha"
-#: ../rules/base.xml.in.h:553
+#: ../rules/base.xml.in.h:557
msgid "Probhat"
msgstr "Probhat"
-#: ../rules/base.xml.in.h:554
+#: ../rules/base.xml.in.h:558
msgid "Programmer Dvorak"
msgstr "Programmer Dvorak"
-#: ../rules/base.xml.in.h:555
+#: ../rules/base.xml.in.h:559
msgid "Propeller Voyager (KTEZ-1000)"
msgstr "Propeller Voyager (KTEZ-1000)"
-#: ../rules/base.xml.in.h:556
+#: ../rules/base.xml.in.h:560
msgid "Prt"
msgstr "Prt"
-#: ../rules/base.xml.in.h:557
+#: ../rules/base.xml.in.h:561
msgid "PrtSc"
msgstr "PrtSc"
-#: ../rules/base.xml.in.h:558
+#: ../rules/base.xml.in.h:562
msgid "QTronix Scorpius 98N+"
msgstr "QTronix Scorpius 98N+"
-#: ../rules/base.xml.in.h:559
+#: ../rules/base.xml.in.h:563
msgid "Right Alt"
msgstr "Alt phải"
-#: ../rules/base.xml.in.h:560
+#: ../rules/base.xml.in.h:564
msgid "Right Alt (while pressed)"
msgstr "Alt phải (trong khi bấm)"
-#: ../rules/base.xml.in.h:561
+#: ../rules/base.xml.in.h:565
msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "Alt phải chọn cấp 5, khoá khi bấm nhau với một bộ chọn cấp 5 khác"
-#: ../rules/base.xml.in.h:562
+#: ../rules/base.xml.in.h:566
msgid "Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "Alt phải chọn cấp 5, khoá khi bấm nhau với một bộ chọn cấp 5 khác, một cú bấm cũng buông khoá"
-#: ../rules/base.xml.in.h:563
+#: ../rules/base.xml.in.h:567
msgid "Right Alt key never chooses 3rd level"
msgstr "Phím Alt bên phải không bao giờ chọn bậc thứ 3"
-#: ../rules/base.xml.in.h:564
+#: ../rules/base.xml.in.h:568
msgid "Right Alt, Shift+Right Alt key is Multi_Key"
msgstr "Alt phải, phím Shift+Right Alt là Multi_Key"
-#: ../rules/base.xml.in.h:565
+#: ../rules/base.xml.in.h:569
msgid "Right Ctrl"
msgstr "Ctrl phải"
-#: ../rules/base.xml.in.h:566
+#: ../rules/base.xml.in.h:570
msgid "Right Ctrl (while pressed)"
msgstr "Ctrl phải (trong khi bấm)"
-#: ../rules/base.xml.in.h:567
+#: ../rules/base.xml.in.h:571
msgid "Right Ctrl as Right Alt"
msgstr "Ctrl phải làm Alt phải"
-#: ../rules/base.xml.in.h:568
+#: ../rules/base.xml.in.h:572
msgid "Right Ctrl+Right Shift"
msgstr "Ctrl phải + Shift phải"
-#: ../rules/base.xml.in.h:569
+#: ../rules/base.xml.in.h:573
msgid "Right Shift"
msgstr "Shift phải"
-#: ../rules/base.xml.in.h:570
+#: ../rules/base.xml.in.h:574
msgid "Right Win"
msgstr "Win phải"
-#: ../rules/base.xml.in.h:571
+#: ../rules/base.xml.in.h:575
msgid "Right Win (while pressed)"
msgstr "Win phải (trong khi bấm)"
-#: ../rules/base.xml.in.h:572
+#: ../rules/base.xml.in.h:576
msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser"
msgstr "Win phải chọn cấp 5, khoá khi bấm nhau với một bộ chọn cấp 5 khác"
-#: ../rules/base.xml.in.h:573
+#: ../rules/base.xml.in.h:577
msgid "Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock"
msgstr "Win phải chọn cấp 5, khoá khi bấm nhau với một bộ chọn cấp 5 khác, một cú bấm cũng buông khoá"
-#: ../rules/base.xml.in.h:574
+#: ../rules/base.xml.in.h:578
msgid "Right hand"
msgstr "Thuận tay phải"
-#: ../rules/base.xml.in.h:575
+#: ../rules/base.xml.in.h:579
msgid "Right handed Dvorak"
msgstr "Dvorak thuận tay phải"
-#: ../rules/base.xml.in.h:576
+#: ../rules/base.xml.in.h:580
msgid "Romania"
msgstr "Rô-ma-ni"
-#: ../rules/base.xml.in.h:577
+#: ../rules/base.xml.in.h:581
msgid "Romanian keyboard with German letters"
msgstr "Bàn phím Rô-ma-ni với các chữ cái Đức"
-#: ../rules/base.xml.in.h:578
+#: ../rules/base.xml.in.h:582
msgid "Romanian keyboard with German letters, eliminate dead keys"
msgstr "Bàn phím Rô-ma-ni với các chữ cái Đức, các phím chết loại trừ"
-#: ../rules/base.xml.in.h:579
+#: ../rules/base.xml.in.h:583
msgid "Rou"
msgstr "Rou"
-#: ../rules/base.xml.in.h:580
+#: ../rules/base.xml.in.h:584
msgid "Rus"
msgstr "Nga"
-#: ../rules/base.xml.in.h:581
+#: ../rules/base.xml.in.h:585
msgid "Russia"
msgstr "Nga"
-#: ../rules/base.xml.in.h:582
+#: ../rules/base.xml.in.h:586
msgid "Russian"
msgstr "Nga"
-#: ../rules/base.xml.in.h:583
+#: ../rules/base.xml.in.h:587
msgid "Russian phonetic"
msgstr "Nga ngữ âm"
-#: ../rules/base.xml.in.h:584
+#: ../rules/base.xml.in.h:588
msgid "Russian phonetic Dvorak"
msgstr "Nga ngữ âm Dvorak"
-#: ../rules/base.xml.in.h:585
+#: ../rules/base.xml.in.h:589
msgid "Russian phonetic, eliminate dead keys"
msgstr "Nga ngữ âm, phím chết loại trừ"
-#: ../rules/base.xml.in.h:586
+#: ../rules/base.xml.in.h:590
msgid "Russian with Kazakh"
msgstr "Nga có Kha-xắc"
-#: ../rules/base.xml.in.h:587
+#: ../rules/base.xml.in.h:591
msgid "SILVERCREST Multimedia Wireless Keyboard"
msgstr "Bàn phím Không dây Đa phương tiện SILVERCREST"
-#: ../rules/base.xml.in.h:588
+#: ../rules/base.xml.in.h:592
msgid "SK-1300"
msgstr "SK-1300"
-#: ../rules/base.xml.in.h:589
+#: ../rules/base.xml.in.h:593
msgid "SK-2500"
msgstr "SK-2500"
-#: ../rules/base.xml.in.h:590
+#: ../rules/base.xml.in.h:594
msgid "SK-6200"
msgstr "SK-6200"
-#: ../rules/base.xml.in.h:591
+#: ../rules/base.xml.in.h:595
msgid "SK-7100"
msgstr "SK-7100"
-#: ../rules/base.xml.in.h:592 ../rules/base.extras.xml.in.h:7
+#: ../rules/base.xml.in.h:596 ../rules/base.extras.xml.in.h:9
msgid "SRB"
msgstr "SRB"
-#: ../rules/base.xml.in.h:593
+#: ../rules/base.xml.in.h:597
msgid "SVEN Ergonomic 2500"
msgstr "SVEN Ergonomic 2500"
-#: ../rules/base.xml.in.h:594
+#: ../rules/base.xml.in.h:598
msgid "SVEN Slim 303"
msgstr "SVEN Slim 303"
-#: ../rules/base.xml.in.h:595
+#: ../rules/base.xml.in.h:599
msgid "Samsung SDM 4500P"
msgstr "Samsung SDM 4500P"
-#: ../rules/base.xml.in.h:596
+#: ../rules/base.xml.in.h:600
msgid "Samsung SDM 4510P"
msgstr "Samsung SDM 4510P"
-#: ../rules/base.xml.in.h:597
-msgid "ScrollLock"
-msgstr "ScrollLock"
+#: ../rules/base.xml.in.h:601
+msgid "Scroll Lock"
+msgstr "Scroll Lock"
-#: ../rules/base.xml.in.h:598
+#: ../rules/base.xml.in.h:602
msgid "Secwepemctsin"
msgstr "Secwepemctsin"
-#: ../rules/base.xml.in.h:599
+#: ../rules/base.xml.in.h:603
msgid "Semi-colon on third level"
msgstr "Dấu chấm phẩy ở cấp ba"
-#: ../rules/base.xml.in.h:600
+#: ../rules/base.xml.in.h:604
msgid "Sen"
msgstr "Sen"
-#: ../rules/base.xml.in.h:601
+#: ../rules/base.xml.in.h:605
msgid "Senegal"
msgstr "Xe-ne-gan"
-#: ../rules/base.xml.in.h:602 ../rules/base.extras.xml.in.h:8
+#: ../rules/base.xml.in.h:606 ../rules/base.extras.xml.in.h:10
msgid "Serbia"
msgstr "Xéc-bi"
-#: ../rules/base.xml.in.h:603
+#: ../rules/base.xml.in.h:607
msgid "Serbian"
msgstr "Xéc-bi"
-#: ../rules/base.xml.in.h:604
-msgid "Shift cancels CapsLock"
+#: ../rules/base.xml.in.h:608
+msgid "Shift cancels Caps Lock"
msgstr "Shift thôi CapsLock"
-#: ../rules/base.xml.in.h:605
-msgid "Shift does not cancel NumLock, chooses 3rd level instead"
+#: ../rules/base.xml.in.h:609
+msgid "Shift does not cancel Num Lock, chooses 3rd level instead"
msgstr "Shift không thôi Numlock, chọn cấp 3 để thay thế"
-#: ../rules/base.xml.in.h:606
+#: ../rules/base.xml.in.h:610
msgid "Shift with numeric keypad keys works as in MS Windows"
msgstr "Shift với các phím vùng số làm việc như trong MS Windows"
-#: ../rules/base.xml.in.h:607
-msgid "Shift+CapsLock"
+#: ../rules/base.xml.in.h:611
+msgid "Shift+Caps Lock"
msgstr "Shift+CapsLock"
-#: ../rules/base.xml.in.h:608
+#: ../rules/base.xml.in.h:612
msgid "Simple"
msgstr "Đơn giản"
-#: ../rules/base.xml.in.h:609
+#: ../rules/base.xml.in.h:613
+msgid "Sindhi"
+msgstr "Xin-đi"
+
+#: ../rules/base.xml.in.h:614
msgid "Slovakia"
msgstr "Xlô-vác"
-#: ../rules/base.xml.in.h:610
+#: ../rules/base.xml.in.h:615
msgid "Slovenia"
msgstr "Xlô-ven"
-#: ../rules/base.xml.in.h:611
+#: ../rules/base.xml.in.h:616
msgid "South Africa"
msgstr "Nam Phi"
-#: ../rules/base.xml.in.h:612
+#: ../rules/base.xml.in.h:617
msgid "Southern Uzbek"
msgstr "Nam Ux-béc"
-#: ../rules/base.xml.in.h:613
+#: ../rules/base.xml.in.h:618
msgid "Spain"
msgstr "Tây Ban Nha"
-#: ../rules/base.xml.in.h:614
+#: ../rules/base.xml.in.h:619
msgid "Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server"
msgstr "Các ký tự đặc biệt (Ctrl+Alt+&lt;key&gt;) được xử lý bằng một trình phục vụ"
-#: ../rules/base.xml.in.h:615
+#: ../rules/base.xml.in.h:620
msgid "Sri Lanka"
msgstr "Tích-lan"
-#: ../rules/base.xml.in.h:616
+#: ../rules/base.xml.in.h:621
msgid "Standard"
msgstr "Tiêu chuẩn"
-#: ../rules/base.xml.in.h:617
+#: ../rules/base.xml.in.h:622
msgid "Standard (Cedilla)"
msgstr "Chuẩn (dấu móc dưới)"
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:619
+#: ../rules/base.xml.in.h:624
msgid "Standard RSTU"
msgstr "RSTU chuẩn"
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:621
+#: ../rules/base.xml.in.h:626
msgid "Standard RSTU on Russian layout"
msgstr "RSTU chuẩn trên bố trí tiếng Nga"
-#: ../rules/base.xml.in.h:622
+#: ../rules/base.xml.in.h:627
msgid "Sun Type 5/6"
msgstr "Sun kiểu 5/6"
-#: ../rules/base.xml.in.h:623
+#: ../rules/base.xml.in.h:628
msgid "Sun dead keys"
msgstr "Phím chết Sun"
-#: ../rules/base.xml.in.h:624
+#: ../rules/base.xml.in.h:629
msgid "Super Power Multimedia Keyboard"
msgstr "Bàn phím Phim nhạc Siêu Năng Lực"
-#: ../rules/base.xml.in.h:625
+#: ../rules/base.xml.in.h:630
msgid "Svdvorak"
msgstr "Svdvorak"
-#: ../rules/base.xml.in.h:626
+#: ../rules/base.xml.in.h:631
msgid "Svk"
msgstr "Svk"
-#: ../rules/base.xml.in.h:627
+#: ../rules/base.xml.in.h:632
msgid "Svn"
msgstr "Svn"
-#: ../rules/base.xml.in.h:628
-msgid "Swap Ctrl and CapsLock"
+#: ../rules/base.xml.in.h:633
+msgid "Swap Ctrl and Caps Lock"
msgstr "Trao đổi Ctrl và CapsLock"
-#: ../rules/base.xml.in.h:629
-msgid "Swap ESC and CapsLock"
+#: ../rules/base.xml.in.h:634
+msgid "Swap ESC and Caps Lock"
msgstr "Trao đổi ESC và CapsLock"
-#: ../rules/base.xml.in.h:630
+#: ../rules/base.xml.in.h:635
msgid "Swe"
msgstr "Swe"
-#: ../rules/base.xml.in.h:631
+#: ../rules/base.xml.in.h:636
msgid "Sweden"
msgstr "Thuỵ Điển"
-#: ../rules/base.xml.in.h:632
+#: ../rules/base.xml.in.h:637
msgid "Switzerland"
msgstr "Thuỵ Sĩ"
-#: ../rules/base.xml.in.h:633
+#: ../rules/base.xml.in.h:638
msgid "Symplon PaceBook (tablet PC)"
msgstr "Symplon PaceBook (tablet PC)"
-#: ../rules/base.xml.in.h:634
+#: ../rules/base.xml.in.h:639
msgid "Syr"
msgstr "Syr"
-#: ../rules/base.xml.in.h:635
+#: ../rules/base.xml.in.h:640
msgid "Syria"
msgstr "Xy-ri"
-#: ../rules/base.xml.in.h:636
+#: ../rules/base.xml.in.h:641
msgid "Syriac"
msgstr "Xi-ri"
-#: ../rules/base.xml.in.h:637
+#: ../rules/base.xml.in.h:642
msgid "Syriac phonetic"
msgstr "Xy-ri ngữ âm"
-#: ../rules/base.xml.in.h:638
+#: ../rules/base.xml.in.h:643
msgid "TIS-820.2538"
msgstr "TIS-820.2538"
-#: ../rules/base.xml.in.h:639
+#: ../rules/base.xml.in.h:644
msgid "Tajikistan"
msgstr "Ta-gikh-x-tanh"
-#: ../rules/base.xml.in.h:640
+#: ../rules/base.xml.in.h:645
msgid "Tamil"
msgstr "Ta-min"
-#: ../rules/base.xml.in.h:641
+#: ../rules/base.xml.in.h:646
msgid "Tamil Keyboard with Numerals"
msgstr "Bàn phím Ta-min với các chữ số"
-#: ../rules/base.xml.in.h:642
+#: ../rules/base.xml.in.h:647
msgid "Tamil TAB Typewriter"
msgstr "Ta-min TAB máy chữ"
-#: ../rules/base.xml.in.h:643
+#: ../rules/base.xml.in.h:648
msgid "Tamil TSCII Typewriter"
msgstr "Ta-min TSCII máy chữ"
-#: ../rules/base.xml.in.h:644
+#: ../rules/base.xml.in.h:649
msgid "Tamil Unicode"
msgstr "Ta-min Unicode"
-#: ../rules/base.xml.in.h:645
+#: ../rules/base.xml.in.h:650
msgid "Tanzania"
msgstr "Tan-xa-nia"
-#: ../rules/base.xml.in.h:646
+#: ../rules/base.xml.in.h:651
msgid "Targa Visionary 811"
msgstr "Targa Visionary 811"
-#: ../rules/base.xml.in.h:647
+#: ../rules/base.xml.in.h:652
msgid "Tatar"
msgstr "Ta-tă"
-#: ../rules/base.xml.in.h:648
+#: ../rules/base.xml.in.h:653
msgid "Telugu"
msgstr "Te-lu-gu"
-#: ../rules/base.xml.in.h:649
+#: ../rules/base.xml.in.h:654
msgid "Tha"
msgstr "Tha"
-#: ../rules/base.xml.in.h:650
+#: ../rules/base.xml.in.h:655
msgid "Thailand"
msgstr "Thái Lan"
-#: ../rules/base.xml.in.h:651
+#: ../rules/base.xml.in.h:656
msgid "Tibetan"
msgstr "Tây Tạng"
-#: ../rules/base.xml.in.h:652
+#: ../rules/base.xml.in.h:657
msgid "Tibetan (with ASCII numerals)"
msgstr "Tây Tạng (có chữ số ASCII)"
-#: ../rules/base.xml.in.h:653
+#: ../rules/base.xml.in.h:658
msgid "Tifinagh"
msgstr "Ti-phi-nac"
-#: ../rules/base.xml.in.h:654
-msgid "Tifinagh Alternative"
+#: ../rules/base.xml.in.h:659
+msgid "Tifinagh alternative"
msgstr "Ti-phi-nac tương đương"
-#: ../rules/base.xml.in.h:655
-msgid "Tifinagh Alternative Phonetic"
+#: ../rules/base.xml.in.h:660
+msgid "Tifinagh alternative phonetic"
msgstr "Ti-phi-nac ngữ âm tương đương"
-#: ../rules/base.xml.in.h:656
-msgid "Tifinagh Extended"
+#: ../rules/base.xml.in.h:661
+msgid "Tifinagh extended"
msgstr "Ti-phi-nac mở rộng"
-#: ../rules/base.xml.in.h:657
-msgid "Tifinagh Extended Phonetic"
+#: ../rules/base.xml.in.h:662
+msgid "Tifinagh extended phonetic"
msgstr "Ti-phi-nac mở rộng ngữ âm"
-#: ../rules/base.xml.in.h:658
-msgid "Tifinagh Phonetic"
+#: ../rules/base.xml.in.h:663
+msgid "Tifinagh phonetic"
msgstr "Ti-phi-nac ngữ âm"
-#: ../rules/base.xml.in.h:659
+#: ../rules/base.xml.in.h:664
msgid "Tilde (~) variant"
msgstr "Phương án dấu sóng (~)"
-#: ../rules/base.xml.in.h:660
+#: ../rules/base.xml.in.h:665
msgid "Tjk"
msgstr "Tjk"
-#: ../rules/base.xml.in.h:661
+#: ../rules/base.xml.in.h:666
msgid "Tkm"
msgstr "Tkm"
-#: ../rules/base.xml.in.h:662
+#: ../rules/base.xml.in.h:667
msgid "To the corresponding key in a Dvorak keyboard."
msgstr "Tới phím tương ứng trên một bàn phím Dvorak."
-#: ../rules/base.xml.in.h:663
+#: ../rules/base.xml.in.h:668
msgid "To the corresponding key in a Qwerty keyboard."
msgstr "Tới phím tương ứng trên một bàn phím Qwerty."
-#: ../rules/base.xml.in.h:664
+#: ../rules/base.xml.in.h:669
msgid "Toshiba Satellite S3000"
msgstr "Toshiba Satellite S3000"
-#: ../rules/base.xml.in.h:665
+#: ../rules/base.xml.in.h:670
msgid "Traditional phonetic"
msgstr "Ngữ âm truyền thống"
-#: ../rules/base.xml.in.h:666
+#: ../rules/base.xml.in.h:671
msgid "Trust Direct Access Keyboard"
msgstr "Bàn phím Truy cập Thẳng Tin tưởng"
-#: ../rules/base.xml.in.h:667
+#: ../rules/base.xml.in.h:672
msgid "Trust Slimline"
msgstr "Trust Slimline"
-#: ../rules/base.xml.in.h:668
+#: ../rules/base.xml.in.h:673
msgid "Trust Wireless Keyboard Classic"
msgstr "Bàn Phím Cổ điển Không dây Tin tưởng"
-#: ../rules/base.xml.in.h:669
+#: ../rules/base.xml.in.h:674
msgid "Tur"
msgstr "Tur"
-#: ../rules/base.xml.in.h:670
+#: ../rules/base.xml.in.h:675
msgid "Turkey"
msgstr "Thổ Nhĩ Kỳ"
-#: ../rules/base.xml.in.h:671
+#: ../rules/base.xml.in.h:676
msgid "Turkmenistan"
msgstr "Thổ-kh-me-ni-x-tanh"
-#: ../rules/base.xml.in.h:672
+#: ../rules/base.xml.in.h:677
msgid "TypeMatrix EZ-Reach 2020"
msgstr "TypeMatrix EZ-Reach 2020"
-#: ../rules/base.xml.in.h:673
+#: ../rules/base.xml.in.h:678
msgid "TypeMatrix EZ-Reach 2030 PS2"
msgstr "TypeMatrix EZ-Reach 2030 PS2"
-#: ../rules/base.xml.in.h:674
+#: ../rules/base.xml.in.h:679
msgid "TypeMatrix EZ-Reach 2030 USB"
msgstr "TypeMatrix EZ-Reach 2030 USB"
-#: ../rules/base.xml.in.h:675
+#: ../rules/base.xml.in.h:680
msgid "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)"
msgstr "TypeMatrix EZ-Reach 2030 USB (chế độ 102/105:EU)"
-#: ../rules/base.xml.in.h:676
+#: ../rules/base.xml.in.h:681
msgid "TypeMatrix EZ-Reach 2030 USB (106:JP mode)"
msgstr "TypeMatrix EZ-Reach 2030 USB (chế độ 106:JP)"
-#: ../rules/base.xml.in.h:677
+#: ../rules/base.xml.in.h:682
msgid "Typewriter"
msgstr "Máy chữ"
-#: ../rules/base.xml.in.h:678
+#: ../rules/base.xml.in.h:683
msgid "Typewriter, legacy"
msgstr "Máy chữ, thừa tự"
-#: ../rules/base.xml.in.h:679
+#: ../rules/base.xml.in.h:684
msgid "Tza"
msgstr "Tza"
-#: ../rules/base.xml.in.h:680
+#: ../rules/base.xml.in.h:685
msgid "UCW layout (accented letters only)"
msgstr "Bố trí UCW (chỉ chữ có dấu)"
-#: ../rules/base.xml.in.h:681
+#: ../rules/base.xml.in.h:686
msgid "US Dvorak with CZ UCW support"
msgstr "Mỹ Dvorak cũng hỗ trợ CZ UCW"
-#: ../rules/base.xml.in.h:682
+#: ../rules/base.xml.in.h:687
msgid "US keyboard with Bosnian digraphs"
msgstr "Bàn phím Mỹ với các chữ ghép Bo-x-ni-a"
-#: ../rules/base.xml.in.h:683
+#: ../rules/base.xml.in.h:688
msgid "US keyboard with Bosnian letters"
msgstr "Bàn phím Mỹ với các chữ cái Bo-x-ni-a"
-#: ../rules/base.xml.in.h:684
+#: ../rules/base.xml.in.h:689
msgid "US keyboard with Croatian digraphs"
msgstr "Bàn phím Mỹ với các chữ ghép Cợ-rô-a-ti-a"
-#: ../rules/base.xml.in.h:685
+#: ../rules/base.xml.in.h:690
msgid "US keyboard with Croatian letters"
msgstr "Bàn phím Mỹ với các chữ cái Croát-chi-a"
-#: ../rules/base.xml.in.h:686
+#: ../rules/base.xml.in.h:691
msgid "US keyboard with Estonian letters"
msgstr "Bàn phím Mỹ với các chữ cái E-x-tô-ni-a"
-#: ../rules/base.xml.in.h:687
+#: ../rules/base.xml.in.h:692
msgid "US keyboard with Italian letters"
msgstr "Bàn phím Mỹ với các chữ cái Ý"
-#: ../rules/base.xml.in.h:688
+#: ../rules/base.xml.in.h:693
msgid "US keyboard with Lithuanian letters"
msgstr "Bàn phím Mỹ với các chữ cái Li-tu-a-nia"
-#: ../rules/base.xml.in.h:689
+#: ../rules/base.xml.in.h:694
msgid "US keyboard with Slovenian letters"
msgstr "Bàn phím Mỹ với các chữ cái Xlô-ven"
-#: ../rules/base.xml.in.h:690 ../rules/base.extras.xml.in.h:9
+#: ../rules/base.xml.in.h:695 ../rules/base.extras.xml.in.h:11
msgid "USA"
msgstr "Mỹ"
-#: ../rules/base.xml.in.h:691
+#: ../rules/base.xml.in.h:696
msgid "Udmurt"
msgstr "U-đ-muổt"
-#: ../rules/base.xml.in.h:692
+#: ../rules/base.xml.in.h:697
msgid "Ukr"
msgstr "Ukr"
-#: ../rules/base.xml.in.h:693
+#: ../rules/base.xml.in.h:698
msgid "Ukraine"
msgstr "U-cợ-rainh"
-#: ../rules/base.xml.in.h:694
+#: ../rules/base.xml.in.h:699
msgid "Unicode additions (arrows and math operators)"
msgstr "Phần thêm Unicode (các mũi tên và toán tử toán học)"
-#: ../rules/base.xml.in.h:695
+#: ../rules/base.xml.in.h:700
msgid "Unicode additions (arrows and math operators). Math operators on default level"
msgstr "Phần thêm Unicode (các mũi tên và toán tử toán học). Bậc mặc định thì nhập các toán tử toán học."
-#: ../rules/base.xml.in.h:696
+#: ../rules/base.xml.in.h:701
msgid "UnicodeExpert"
msgstr "Unicode Chuyên môn"
-#: ../rules/base.xml.in.h:697
+#: ../rules/base.xml.in.h:702
msgid "United Kingdom"
msgstr "Vương Quốc Anh"
-#: ../rules/base.xml.in.h:698
+#: ../rules/base.xml.in.h:703
msgid "Unitek KB-1925"
msgstr "Unitek KB-1925"
-#: ../rules/base.xml.in.h:699
+#: ../rules/base.xml.in.h:704
msgid "Urdu, Alternative phonetic"
msgstr "Urdu, Ngữ âm xen kẽ"
-#: ../rules/base.xml.in.h:700
+#: ../rules/base.xml.in.h:705
msgid "Urdu, Phonetic"
msgstr "Urdu, Ngữ âm"
-#: ../rules/base.xml.in.h:701
+#: ../rules/base.xml.in.h:706
msgid "Urdu, Winkeys"
msgstr "Urdu, Phím Win"
-#: ../rules/base.xml.in.h:702
+#: ../rules/base.xml.in.h:707
msgid "Use Bosnian digraphs"
msgstr "Dùng chữ ghép Bo-x-ni-a"
-#: ../rules/base.xml.in.h:703
+#: ../rules/base.xml.in.h:708
msgid "Use Croatian digraphs"
msgstr "Dùng chữ ghép Cợ-rô-a-ti-a"
-#: ../rules/base.xml.in.h:704
+#: ../rules/base.xml.in.h:709
msgid "Use guillemets for quotes"
msgstr "Dùng « chim uria » làm dấu trích dẫn"
-#: ../rules/base.xml.in.h:705
+#: ../rules/base.xml.in.h:710
msgid "Use keyboard LED to show alternative layout"
msgstr "Sử dụng đèn bàn phím để chỉ ra bố trí xen kẽ"
-#: ../rules/base.xml.in.h:706
+#: ../rules/base.xml.in.h:711
msgid "Using space key to input non-breakable space character"
msgstr "Dùng phím dài để nhập ký tự dấu cách không thể ngắt"
-#: ../rules/base.xml.in.h:707
+#: ../rules/base.xml.in.h:712
msgid "Usual space at any level"
msgstr "Dấu cách bình thường ở mọi bậc"
-#: ../rules/base.xml.in.h:708
+#: ../rules/base.xml.in.h:713
msgid "Uzb"
msgstr "Uzb"
-#: ../rules/base.xml.in.h:709
+#: ../rules/base.xml.in.h:714
msgid "Uzbekistan"
msgstr "Uz-be-khi-xtanh"
-#: ../rules/base.xml.in.h:710
+#: ../rules/base.xml.in.h:715
msgid "Vietnam"
msgstr "Việt Nam"
-#: ../rules/base.xml.in.h:711
+#: ../rules/base.xml.in.h:716
msgid "ViewSonic KU-306 Internet Keyboard"
msgstr "Bàn phím Internet ViewSonic KU-306"
-#: ../rules/base.xml.in.h:712
+#: ../rules/base.xml.in.h:717
msgid "Vnm"
msgstr "Vnm"
-#: ../rules/base.xml.in.h:713
+#: ../rules/base.xml.in.h:718
msgid "Wang 724 keypad with unicode additions (arrows and math operators)"
msgstr "Vùng phím Wang 724 có phần thêm Unicode (các mũi tên và toán tử toán học)"
-#: ../rules/base.xml.in.h:714
+#: ../rules/base.xml.in.h:719
msgid "Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level"
msgstr "Vùng phím Wang 724 có phần thêm Unicode (các mũi tên và toán tử toán học). Mặc định thì nhập toán tử toán học."
-#: ../rules/base.xml.in.h:715
+#: ../rules/base.xml.in.h:720
msgid "Wang model 724 azerty"
msgstr "Wang mô hình 724 azerty"
-#: ../rules/base.xml.in.h:716
+#: ../rules/base.xml.in.h:721
msgid "Western"
msgstr "Phương Tây"
-#: ../rules/base.xml.in.h:717
+#: ../rules/base.xml.in.h:722
msgid "Winbook Model XP5"
msgstr "Winbook kiểu mẫu XP5"
-#: ../rules/base.xml.in.h:718
+#: ../rules/base.xml.in.h:723
msgid "Winkeys"
msgstr "Phím Win"
-#: ../rules/base.xml.in.h:719
+#: ../rules/base.xml.in.h:724
msgid "With &lt;\\|&gt; key"
msgstr "Với phím &lt;\\|&gt;"
-#: ../rules/base.xml.in.h:720
+#: ../rules/base.xml.in.h:725
msgid "With EuroSign on 5"
msgstr "Thêm ký hiệu đồng Euro vào phím 5."
-#: ../rules/base.xml.in.h:721
+#: ../rules/base.xml.in.h:726
msgid "With guillemets"
msgstr "Với « chim uria »"
-#: ../rules/base.xml.in.h:722
+#: ../rules/base.xml.in.h:727
msgid "Yahoo! Internet Keyboard"
msgstr "Bàn phím Internet Yahoo!"
-#: ../rules/base.xml.in.h:723
+#: ../rules/base.xml.in.h:728
msgid "Yakut"
msgstr "Ya-khú-th"
-#: ../rules/base.xml.in.h:724
+#: ../rules/base.xml.in.h:729
msgid "Yoruba"
msgstr "Yoa-ru-ba"
-#: ../rules/base.xml.in.h:725
+#: ../rules/base.xml.in.h:730
msgid "Z and ZHE swapped"
msgstr "Đổi chỗ Z và ZHE"
-#: ../rules/base.xml.in.h:726
+#: ../rules/base.xml.in.h:731
msgid "Zaf"
msgstr "Zaf"
-#: ../rules/base.xml.in.h:727
+#: ../rules/base.xml.in.h:732
msgid "Zero-width non-joiner character at second level"
msgstr "Ký tự không nối có chiều rộng không tại cấp 2"
-#: ../rules/base.xml.in.h:728
+#: ../rules/base.xml.in.h:733
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level"
msgstr "Ký tự không nối có chiều rộng không tại cấp 2, ký tự dấu cách không thể ngắt ở cấp 3"
-#: ../rules/base.xml.in.h:729
+#: ../rules/base.xml.in.h:734
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level"
msgstr "Ký tự không nối có chiều rộng không tại cấp 2, ký tự dấu cách không thể ngắt ở cấp 3, không có gì ở cấp 4"
-#: ../rules/base.xml.in.h:730
+#: ../rules/base.xml.in.h:735
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level"
msgstr "Ký tự không nối có chiều rộng không tại cấp 2, ký tự dấu cách không thể ngắt ở cấp 3, ký tự dấu cách mảnh không thể ngắt ở cấp 4"
-#: ../rules/base.xml.in.h:731
+#: ../rules/base.xml.in.h:736
msgid "Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level"
msgstr "Ký tự không nối có chiều rộng không tại cấp 2, ký tự dấu cách không thể ngắt ở cấp 3, ký tự nối có chiều rộng không ở cấp 4"
-#: ../rules/base.xml.in.h:732
+#: ../rules/base.xml.in.h:737
msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level"
msgstr "Ký tự không nối có chiều rộng không tại cấp 2, ký tự nối có chiều rộng không ở cấp 3"
-#: ../rules/base.xml.in.h:733
+#: ../rules/base.xml.in.h:738
msgid "Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level"
msgstr "Ký tự không nối có chiều rộng không tại cấp 2, ký tự nối có chiều rộng không ở cấp 3, ký tự dấu cách không thể ngắt ở cấp 4"
-#: ../rules/base.xml.in.h:734
+#: ../rules/base.xml.in.h:739
msgid "Zero-width non-joiner character at third level, zero-width joiner at fourth level"
msgstr "Ký tự không nối có chiều rộng không tại cấp 3, ký tự nối có chiều rộng không ở cấp 4"
-#: ../rules/base.xml.in.h:735
+#: ../rules/base.xml.in.h:740
msgid "azerty"
msgstr "azerty"
-#: ../rules/base.xml.in.h:736
+#: ../rules/base.xml.in.h:741
msgid "azerty/digits"
msgstr "azerty/chữ số"
-#: ../rules/base.xml.in.h:737
+#: ../rules/base.xml.in.h:742
msgid "digits"
msgstr "chữ số"
-#: ../rules/base.xml.in.h:738
+#: ../rules/base.xml.in.h:743
msgid "displaced semicolon and quote (obsolete)"
msgstr "dấu chấm phẩy và dấu trích dẫn bị dịch (quá cũ)"
-#: ../rules/base.xml.in.h:739
+#: ../rules/base.xml.in.h:744
msgid "lyx"
msgstr "lyx"
-#: ../rules/base.xml.in.h:740
+#: ../rules/base.xml.in.h:745
msgid "qwerty"
msgstr "qwerty"
-#: ../rules/base.xml.in.h:741
+#: ../rules/base.xml.in.h:746
msgid "qwerty, extended Backslash"
msgstr "qwerty, Gạch ngược mở rộng"
-#: ../rules/base.xml.in.h:742
+#: ../rules/base.xml.in.h:747
msgid "qwerty/digits"
msgstr "qwerty/chữ số"
-#: ../rules/base.xml.in.h:743
+#: ../rules/base.xml.in.h:748
msgid "qwertz"
msgstr "qwertz"
@@ -2990,17 +3010,21 @@ msgid "Atsina"
msgstr "Át-xi-na"
#: ../rules/base.extras.xml.in.h:3
+msgid "Avestan"
+msgstr "A-ve-x-tanh"
+
+#: ../rules/base.extras.xml.in.h:4
msgid "Combining accents instead of dead keys"
msgstr "Tổ hợp dấu phụ thay cho phím chết"
-#: ../rules/base.extras.xml.in.h:4
+#: ../rules/base.extras.xml.in.h:5
msgid "Couer D'alene Salish"
msgstr "Couer D'alene Salish"
-#: ../rules/base.extras.xml.in.h:5
+#: ../rules/base.extras.xml.in.h:6
msgid "International (AltGr Unicode combining)"
msgstr "Quốc tế (tổ hợp Unicode AltGr)"
-#: ../rules/base.extras.xml.in.h:6
+#: ../rules/base.extras.xml.in.h:7
msgid "International (AltGr Unicode combining, alternative)"
msgstr "Quốc tế (tổ hợp Unicode AltGr, thay thế)"
diff --git a/xorg-server/xkeyboard-config/po/xkeyboard-config.pot b/xorg-server/xkeyboard-config/po/xkeyboard-config.pot
index 0f9e97276..be8933bf0 100644
--- a/xorg-server/xkeyboard-config/po/xkeyboard-config.pot
+++ b/xorg-server/xkeyboard-config/po/xkeyboard-config.pot
@@ -8,10 +8,11 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: svu@users.sourceforge.net\n"
-"POT-Creation-Date: 2010-05-25 21:59+0100\n"
+"POT-Creation-Date: 2010-09-15 21:57+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -205,7 +206,7 @@ msgid "Alt is mapped to Right Win, Super to Menu"
msgstr ""
#: ../rules/base.xml.in.h:47
-msgid "Alt+CapsLock"
+msgid "Alt+Caps Lock"
msgstr ""
#: ../rules/base.xml.in.h:48
@@ -298,8 +299,8 @@ msgstr ""
#: ../rules/base.xml.in.h:70
msgid ""
-"Apple Aluminium Keyboard: emulate PC keys (Print, Scroll_Lock, Pause, "
-"NumLock)"
+"Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num "
+"Lock)"
msgstr ""
#: ../rules/base.xml.in.h:71
@@ -339,2680 +340,2700 @@ msgid "At left of 'A'"
msgstr ""
#: ../rules/base.xml.in.h:80
-msgid "Avatime"
+msgid "Austria"
msgstr ""
#: ../rules/base.xml.in.h:81
-msgid "Aze"
+msgid "Aut"
msgstr ""
#: ../rules/base.xml.in.h:82
-msgid "Azerbaijan"
+msgid "Avatime"
msgstr ""
#: ../rules/base.xml.in.h:83
-msgid "Azona RF2300 wireless Internet Keyboard"
+msgid "Aze"
msgstr ""
#: ../rules/base.xml.in.h:84
-msgid "BTC 5090"
+msgid "Azerbaijan"
msgstr ""
#: ../rules/base.xml.in.h:85
-msgid "BTC 5113RF Multimedia"
+msgid "Azona RF2300 wireless Internet Keyboard"
msgstr ""
#: ../rules/base.xml.in.h:86
-msgid "BTC 5126T"
+msgid "BTC 5090"
msgstr ""
#: ../rules/base.xml.in.h:87
-msgid "BTC 6301URF"
+msgid "BTC 5113RF Multimedia"
msgstr ""
#: ../rules/base.xml.in.h:88
-msgid "BTC 9000"
+msgid "BTC 5126T"
msgstr ""
#: ../rules/base.xml.in.h:89
-msgid "BTC 9000A"
+msgid "BTC 6301URF"
msgstr ""
#: ../rules/base.xml.in.h:90
-msgid "BTC 9001AH"
+msgid "BTC 9000"
msgstr ""
#: ../rules/base.xml.in.h:91
-msgid "BTC 9019U"
+msgid "BTC 9000A"
msgstr ""
#: ../rules/base.xml.in.h:92
-msgid "BTC 9116U Mini Wireless Internet and Gaming"
+msgid "BTC 9001AH"
msgstr ""
#: ../rules/base.xml.in.h:93
-msgid "Backslash"
+msgid "BTC 9019U"
msgstr ""
#: ../rules/base.xml.in.h:94
-msgid "Bangladesh"
+msgid "BTC 9116U Mini Wireless Internet and Gaming"
msgstr ""
#: ../rules/base.xml.in.h:95
-msgid "Bashkirian"
+msgid "Backslash"
msgstr ""
#: ../rules/base.xml.in.h:96
-msgid "Bel"
+msgid "Bangladesh"
msgstr ""
#: ../rules/base.xml.in.h:97
-msgid "Belarus"
+msgid "Bashkirian"
msgstr ""
#: ../rules/base.xml.in.h:98
-msgid "Belgium"
+msgid "Bel"
msgstr ""
#: ../rules/base.xml.in.h:99
-msgid "BenQ X-Touch"
+msgid "Belarus"
msgstr ""
#: ../rules/base.xml.in.h:100
-msgid "BenQ X-Touch 730"
+msgid "Belgium"
msgstr ""
#: ../rules/base.xml.in.h:101
-msgid "BenQ X-Touch 800"
+msgid "BenQ X-Touch"
msgstr ""
#: ../rules/base.xml.in.h:102
-msgid "Bengali"
+msgid "BenQ X-Touch 730"
msgstr ""
#: ../rules/base.xml.in.h:103
-msgid "Bengali Probhat"
+msgid "BenQ X-Touch 800"
msgstr ""
#: ../rules/base.xml.in.h:104
-msgid "Bepo, ergonomic, Dvorak way"
+msgid "Bengali"
msgstr ""
#: ../rules/base.xml.in.h:105
-msgid "Bepo, ergonomic, Dvorak way, latin-9 only"
+msgid "Bengali Probhat"
msgstr ""
#: ../rules/base.xml.in.h:106
-msgid "Bgd"
+msgid "Bepo, ergonomic, Dvorak way"
msgstr ""
#: ../rules/base.xml.in.h:107
-msgid "Bgr"
+msgid "Bepo, ergonomic, Dvorak way, latin-9 only"
msgstr ""
#: ../rules/base.xml.in.h:108
-msgid "Bhutan"
+msgid "Bgd"
msgstr ""
#: ../rules/base.xml.in.h:109
-msgid "Biblical Hebrew (Tiro)"
+msgid "Bgr"
msgstr ""
#: ../rules/base.xml.in.h:110
-msgid "Bih"
+msgid "Bhutan"
msgstr ""
#: ../rules/base.xml.in.h:111
-msgid "Blr"
+msgid "Biblical Hebrew (Tiro)"
msgstr ""
#: ../rules/base.xml.in.h:112
-msgid "Bosnia and Herzegovina"
+msgid "Bih"
msgstr ""
#: ../rules/base.xml.in.h:113
-msgid "Both Alt keys together"
+msgid "Blr"
msgstr ""
#: ../rules/base.xml.in.h:114
-msgid "Both Ctrl keys together"
+msgid "Bosnia and Herzegovina"
msgstr ""
#: ../rules/base.xml.in.h:115
-msgid "Both Shift keys together"
+msgid "Both Alt keys together"
msgstr ""
#: ../rules/base.xml.in.h:116
-msgid "Both Shift-Keys together toggle CapsLock"
+msgid "Both Ctrl keys together"
msgstr ""
#: ../rules/base.xml.in.h:117
-msgid "Botswana"
+msgid "Both Shift keys together"
msgstr ""
#: ../rules/base.xml.in.h:118
-msgid "Bra"
+msgid "Both Shift-Keys together toggle Caps Lock"
msgstr ""
#: ../rules/base.xml.in.h:119
-msgid "Braille"
+msgid "Botswana"
msgstr ""
#: ../rules/base.xml.in.h:120
-msgid "Brazil"
+msgid "Bra"
msgstr ""
#: ../rules/base.xml.in.h:121
-msgid "Breton"
+msgid "Braille"
msgstr ""
#: ../rules/base.xml.in.h:122
-msgid "Brl"
+msgid "Brazil"
msgstr ""
#: ../rules/base.xml.in.h:123
-msgid "Brother Internet Keyboard"
+msgid "Breton"
msgstr ""
#: ../rules/base.xml.in.h:124
-msgid "Btn"
+msgid "Brl"
msgstr ""
#: ../rules/base.xml.in.h:125
-msgid "Buckwalter"
+msgid "Brother Internet Keyboard"
msgstr ""
#: ../rules/base.xml.in.h:126
-msgid "Bulgaria"
+msgid "Btn"
msgstr ""
#: ../rules/base.xml.in.h:127
-msgid "Bwa"
+msgid "Buckwalter"
msgstr ""
#: ../rules/base.xml.in.h:128
-msgid "COD"
+msgid "Bulgaria"
msgstr ""
#: ../rules/base.xml.in.h:129
-msgid "CRULP"
+msgid "Bwa"
msgstr ""
#: ../rules/base.xml.in.h:130
-msgid "Cambodia"
+msgid "COD"
msgstr ""
#: ../rules/base.xml.in.h:131
-msgid "Can"
+msgid "CRULP"
msgstr ""
#: ../rules/base.xml.in.h:132
-msgid "Canada"
+msgid "Cambodia"
msgstr ""
#: ../rules/base.xml.in.h:133
-msgid "CapsLock"
+msgid "Can"
msgstr ""
#: ../rules/base.xml.in.h:134
-msgid "CapsLock (to first layout), Shift+CapsLock (to last layout)"
+msgid "Canada"
msgstr ""
#: ../rules/base.xml.in.h:135
-msgid ""
-"CapsLock (while pressed), Alt+CapsLock does the original capslock action"
+msgid "Caps Lock"
msgstr ""
#: ../rules/base.xml.in.h:136
-msgid "CapsLock acts as Shift with locking. Shift \"pauses\" CapsLock"
+msgid "Caps Lock (to first layout), Shift+Caps Lock (to last layout)"
msgstr ""
#: ../rules/base.xml.in.h:137
-msgid "CapsLock acts as Shift with locking. Shift doesn't affect CapsLock"
+msgid ""
+"Caps Lock (while pressed), Alt+Caps Lock does the original capslock action"
msgstr ""
#: ../rules/base.xml.in.h:138
-msgid "CapsLock is disabled"
+msgid "Caps Lock acts as Shift with locking. Shift \"pauses\" Caps Lock"
msgstr ""
#: ../rules/base.xml.in.h:139
-msgid "CapsLock key behavior"
+msgid "Caps Lock acts as Shift with locking. Shift doesn't affect Caps Lock"
msgstr ""
#: ../rules/base.xml.in.h:140
-msgid "CapsLock toggles Shift so all keys are affected"
+msgid "Caps Lock is disabled"
msgstr ""
#: ../rules/base.xml.in.h:141
-msgid "CapsLock toggles normal capitalization of alphabetic characters"
+msgid "Caps Lock key behavior"
msgstr ""
#: ../rules/base.xml.in.h:142
-msgid "CapsLock uses internal capitalization. Shift \"pauses\" CapsLock"
+msgid "Caps Lock toggles Shift so all keys are affected"
msgstr ""
#: ../rules/base.xml.in.h:143
-msgid "CapsLock uses internal capitalization. Shift doesn't affect CapsLock"
+msgid "Caps Lock toggles normal capitalization of alphabetic characters"
msgstr ""
#: ../rules/base.xml.in.h:144
-msgid "Catalan variant with middle-dot L"
+msgid "Caps Lock uses internal capitalization. Shift \"pauses\" Caps Lock"
msgstr ""
#: ../rules/base.xml.in.h:145
-msgid "Cedilla"
+msgid "Caps Lock uses internal capitalization. Shift doesn't affect Caps Lock"
msgstr ""
#: ../rules/base.xml.in.h:146
-msgid "Che"
+msgid "Catalan variant with middle-dot L"
msgstr ""
#: ../rules/base.xml.in.h:147
-msgid "Cherokee"
+msgid "Cedilla"
msgstr ""
#: ../rules/base.xml.in.h:148
-msgid "Cherry B.UNLIMITED"
+msgid "Che"
msgstr ""
#: ../rules/base.xml.in.h:149
-msgid "Cherry Blue Line CyBo@rd"
+msgid "Cherokee"
msgstr ""
#: ../rules/base.xml.in.h:150
-msgid "Cherry Blue Line CyBo@rd (alternate option)"
+msgid "Cherry B.UNLIMITED"
msgstr ""
#: ../rules/base.xml.in.h:151
-msgid "Cherry CyBo@rd USB-Hub"
+msgid "Cherry Blue Line CyBo@rd"
msgstr ""
#: ../rules/base.xml.in.h:152
-msgid "Cherry CyMotion Expert"
+msgid "Cherry Blue Line CyBo@rd (alternate option)"
msgstr ""
#: ../rules/base.xml.in.h:153
-msgid "Cherry CyMotion Master Linux"
+msgid "Cherry CyBo@rd USB-Hub"
msgstr ""
#: ../rules/base.xml.in.h:154
-msgid "Cherry CyMotion Master XPress"
+msgid "Cherry CyMotion Expert"
msgstr ""
#: ../rules/base.xml.in.h:155
-msgid "Chicony Internet Keyboard"
+msgid "Cherry CyMotion Master Linux"
msgstr ""
#: ../rules/base.xml.in.h:156
-msgid "Chicony KB-9885"
+msgid "Cherry CyMotion Master XPress"
msgstr ""
#: ../rules/base.xml.in.h:157
-msgid "Chicony KU-0108"
+msgid "Chicony Internet Keyboard"
msgstr ""
#: ../rules/base.xml.in.h:158
-msgid "Chicony KU-0420"
+msgid "Chicony KB-9885"
msgstr ""
#: ../rules/base.xml.in.h:159
-msgid "China"
+msgid "Chicony KU-0108"
msgstr ""
#: ../rules/base.xml.in.h:160
-msgid "Chn"
+msgid "Chicony KU-0420"
msgstr ""
#: ../rules/base.xml.in.h:161
-msgid "Chuvash"
+msgid "China"
msgstr ""
#: ../rules/base.xml.in.h:162
-msgid "Chuvash Latin"
+msgid "Chn"
msgstr ""
#: ../rules/base.xml.in.h:163
-msgid "Classic"
+msgid "Chuvash"
msgstr ""
#: ../rules/base.xml.in.h:164
-msgid "Classic Dvorak"
+msgid "Chuvash Latin"
msgstr ""
#: ../rules/base.xml.in.h:165
-msgid "Classic, eliminate dead keys"
+msgid "Classic"
msgstr ""
#: ../rules/base.xml.in.h:166
-msgid "Classmate PC"
+msgid "Classic Dvorak"
msgstr ""
#: ../rules/base.xml.in.h:167
-msgid "CloGaelach"
+msgid "Classic, eliminate dead keys"
msgstr ""
#: ../rules/base.xml.in.h:168
-msgid "Colemak"
+msgid "Classmate PC"
msgstr ""
#: ../rules/base.xml.in.h:169
-msgid "Compaq Easy Access Keyboard"
+msgid "CloGaelach"
msgstr ""
#: ../rules/base.xml.in.h:170
-msgid "Compaq Internet Keyboard (13 keys)"
+msgid "Colemak"
msgstr ""
#: ../rules/base.xml.in.h:171
-msgid "Compaq Internet Keyboard (18 keys)"
+msgid "Compaq Easy Access Keyboard"
msgstr ""
#: ../rules/base.xml.in.h:172
-msgid "Compaq Internet Keyboard (7 keys)"
+msgid "Compaq Internet Keyboard (13 keys)"
msgstr ""
#: ../rules/base.xml.in.h:173
-msgid "Compaq iPaq Keyboard"
+msgid "Compaq Internet Keyboard (18 keys)"
msgstr ""
#: ../rules/base.xml.in.h:174
-msgid "Compose key position"
+msgid "Compaq Internet Keyboard (7 keys)"
msgstr ""
#: ../rules/base.xml.in.h:175
-msgid "Congo, Democratic Republic of the"
+msgid "Compaq iPaq Keyboard"
msgstr ""
#: ../rules/base.xml.in.h:176
-msgid "Control + Alt + Backspace"
+msgid "Compose key position"
msgstr ""
#: ../rules/base.xml.in.h:177
-msgid "Control is mapped to Alt keys, Alt is mapped to Win keys"
+msgid "Congo, Democratic Republic of the"
msgstr ""
#: ../rules/base.xml.in.h:178
-msgid "Control is mapped to Win keys (and the usual Ctrl keys)"
+msgid "Control + Alt + Backspace"
msgstr ""
#: ../rules/base.xml.in.h:179
-msgid "Creative Desktop Wireless 7000"
+msgid "Control is mapped to Alt keys, Alt is mapped to Win keys"
msgstr ""
#: ../rules/base.xml.in.h:180
-msgid "Crimean Tatar (Dobruca-1 Q)"
+msgid "Control is mapped to Win keys (and the usual Ctrl keys)"
msgstr ""
#: ../rules/base.xml.in.h:181
-msgid "Crimean Tatar (Dobruca-2 Q)"
+msgid "Creative Desktop Wireless 7000"
msgstr ""
#: ../rules/base.xml.in.h:182
-msgid "Crimean Tatar (Turkish Alt-Q)"
+msgid "Crimean Tatar (Dobruca-1 Q)"
msgstr ""
#: ../rules/base.xml.in.h:183
-msgid "Crimean Tatar (Turkish F)"
+msgid "Crimean Tatar (Dobruca-2 Q)"
msgstr ""
#: ../rules/base.xml.in.h:184
-msgid "Crimean Tatar (Turkish Q)"
+msgid "Crimean Tatar (Turkish Alt-Q)"
msgstr ""
#: ../rules/base.xml.in.h:185
-msgid "Croatia"
+msgid "Crimean Tatar (Turkish F)"
msgstr ""
#: ../rules/base.xml.in.h:186
-msgid "Ctrl key position"
+msgid "Crimean Tatar (Turkish Q)"
msgstr ""
#: ../rules/base.xml.in.h:187
-msgid "Ctrl+Shift"
+msgid "Croatia"
msgstr ""
#: ../rules/base.xml.in.h:188
-msgid "Cyrillic"
+msgid "Ctrl key position"
msgstr ""
#: ../rules/base.xml.in.h:189
-msgid "Cyrillic with guillemets"
+msgid "Ctrl+Shift"
msgstr ""
#: ../rules/base.xml.in.h:190
-msgid "Cyrillic, Z and ZHE swapped"
+msgid "Cyrillic"
msgstr ""
#: ../rules/base.xml.in.h:191
-msgid "Cze"
+msgid "Cyrillic with guillemets"
msgstr ""
#: ../rules/base.xml.in.h:192
-msgid "Czechia"
+msgid "Cyrillic, Z and ZHE swapped"
msgstr ""
#: ../rules/base.xml.in.h:193
-msgid "DOS"
+msgid "Cze"
msgstr ""
#: ../rules/base.xml.in.h:194
-msgid "DTK2000"
+msgid "Czechia"
msgstr ""
#: ../rules/base.xml.in.h:195
-msgid "Dead acute"
+msgid "DOS"
msgstr ""
#: ../rules/base.xml.in.h:196
-msgid "Dead grave acute"
+msgid "DTK2000"
msgstr ""
#: ../rules/base.xml.in.h:197
-msgid "Default numeric keypad keys"
+msgid "Dead acute"
msgstr ""
#: ../rules/base.xml.in.h:198
-msgid "Dell"
+msgid "Dead grave acute"
msgstr ""
#: ../rules/base.xml.in.h:199
-msgid "Dell 101-key PC"
+msgid "Default numeric keypad keys"
msgstr ""
#: ../rules/base.xml.in.h:200
-msgid "Dell Laptop/notebook Inspiron 6xxx/8xxx"
+msgid "Dell"
msgstr ""
#: ../rules/base.xml.in.h:201
-msgid "Dell Laptop/notebook Precision M series"
+msgid "Dell 101-key PC"
msgstr ""
#: ../rules/base.xml.in.h:202
-msgid "Dell Latitude series laptop"
+msgid "Dell Laptop/notebook Inspiron 6xxx/8xxx"
msgstr ""
#: ../rules/base.xml.in.h:203
-msgid "Dell Precision M65"
+msgid "Dell Laptop/notebook Precision M series"
msgstr ""
#: ../rules/base.xml.in.h:204
-msgid "Dell SK-8125"
+msgid "Dell Latitude series laptop"
msgstr ""
#: ../rules/base.xml.in.h:205
-msgid "Dell SK-8135"
+msgid "Dell Precision M65"
msgstr ""
#: ../rules/base.xml.in.h:206
-msgid "Dell USB Multimedia Keyboard"
+msgid "Dell SK-8125"
msgstr ""
#: ../rules/base.xml.in.h:207
-msgid "Denmark"
+msgid "Dell SK-8135"
msgstr ""
#: ../rules/base.xml.in.h:208
-msgid "Deu"
+msgid "Dell USB Multimedia Keyboard"
msgstr ""
#: ../rules/base.xml.in.h:209
-msgid "Dexxa Wireless Desktop Keyboard"
+msgid "Denmark"
msgstr ""
#: ../rules/base.xml.in.h:210
-msgid "Diamond 9801 / 9802 series"
+msgid "Deu"
msgstr ""
#: ../rules/base.xml.in.h:211
-msgid "Dnk"
+msgid "Dexxa Wireless Desktop Keyboard"
msgstr ""
#: ../rules/base.xml.in.h:212
-msgid "Dvorak"
+msgid "Diamond 9801 / 9802 series"
msgstr ""
#: ../rules/base.xml.in.h:213
-msgid "Dvorak (UK Punctuation)"
+msgid "Dnk"
msgstr ""
#: ../rules/base.xml.in.h:214
-msgid "Dvorak alternative international (no dead keys)"
+msgid "Dvorak"
msgstr ""
#: ../rules/base.xml.in.h:215
-msgid "Dvorak international (with dead keys)"
+msgid "Dvorak (UK Punctuation)"
msgstr ""
#: ../rules/base.xml.in.h:216
-msgid "Dvorak, Polish quotes on key 1"
+msgid "Dvorak alternative international (no dead keys)"
msgstr ""
#: ../rules/base.xml.in.h:217
-msgid "Dvorak, Polish quotes on quotemark key"
+msgid "Dvorak international (with dead keys)"
msgstr ""
#: ../rules/base.xml.in.h:218
-msgid "E"
+msgid "Dvorak, Polish quotes on key 1"
msgstr ""
#: ../rules/base.xml.in.h:219
-msgid "Eastern"
+msgid "Dvorak, Polish quotes on quotemark key"
msgstr ""
#: ../rules/base.xml.in.h:220
-msgid "Eliminate dead keys"
+msgid "E"
msgstr ""
#: ../rules/base.xml.in.h:221
-msgid "Enable extra typographic characters"
+msgid "Eastern"
msgstr ""
#: ../rules/base.xml.in.h:222
-msgid "English"
+msgid "Eliminate dead keys"
msgstr ""
#: ../rules/base.xml.in.h:223
-msgid "English (USA International)"
+msgid "Enable extra typographic characters"
msgstr ""
#: ../rules/base.xml.in.h:224
-msgid "English (USA Macintosh)"
+msgid "English"
msgstr ""
#: ../rules/base.xml.in.h:225
-msgid "Ennyah DKB-1008"
+msgid "English (USA International)"
msgstr ""
#: ../rules/base.xml.in.h:226
-msgid "Enter on keypad"
+msgid "English (USA Macintosh)"
msgstr ""
#: ../rules/base.xml.in.h:227
-msgid "Epo"
+msgid "Ennyah DKB-1008"
msgstr ""
#: ../rules/base.xml.in.h:228
-msgid "Ergonomic"
+msgid "Enter on keypad"
msgstr ""
#: ../rules/base.xml.in.h:229
-msgid "Esp"
+msgid "Epo"
msgstr ""
#: ../rules/base.xml.in.h:230
-msgid "Esperanto"
+msgid "Ergonomic"
msgstr ""
#: ../rules/base.xml.in.h:231
-msgid "Est"
+msgid "Esp"
msgstr ""
#: ../rules/base.xml.in.h:232
-msgid "Estonia"
+msgid "Esperanto"
msgstr ""
#: ../rules/base.xml.in.h:233
-msgid "Eth"
+msgid "Est"
msgstr ""
#: ../rules/base.xml.in.h:234
-msgid "Ethiopia"
+msgid "Estonia"
msgstr ""
#: ../rules/base.xml.in.h:235
-msgid "Everex STEPnote"
+msgid "Eth"
msgstr ""
#: ../rules/base.xml.in.h:236
-msgid "Ewe"
+msgid "Ethiopia"
msgstr ""
#: ../rules/base.xml.in.h:237
-msgid "Extended"
+msgid "Everex STEPnote"
msgstr ""
#: ../rules/base.xml.in.h:238
-msgid "Extended - Winkeys"
+msgid "Ewe"
msgstr ""
#: ../rules/base.xml.in.h:239
-msgid "Extended Backslash"
+msgid "Extended"
msgstr ""
#: ../rules/base.xml.in.h:240
-msgid "F-letter (F) variant"
+msgid "Extended - Winkeys"
msgstr ""
#: ../rules/base.xml.in.h:241
-msgid "FL90"
+msgid "Extended Backslash"
msgstr ""
#: ../rules/base.xml.in.h:242
-msgid "Faroe Islands"
+msgid "F-letter (F) variant"
msgstr ""
#: ../rules/base.xml.in.h:243
-msgid "Fin"
+msgid "FL90"
msgstr ""
#: ../rules/base.xml.in.h:244
+msgid "Faroe Islands"
+msgstr ""
+
+#: ../rules/base.xml.in.h:245
+msgid "Fin"
+msgstr ""
+
+#: ../rules/base.xml.in.h:246
msgid "Finland"
msgstr ""
#. This assumes the KP_ abstract symbols are actually useful for some apps
#. The description needs to be rewritten
-#: ../rules/base.xml.in.h:247
+#: ../rules/base.xml.in.h:249
msgid "Four-level key with abstract separators"
msgstr ""
-#: ../rules/base.xml.in.h:248
+#: ../rules/base.xml.in.h:250
msgid "Four-level key with comma"
msgstr ""
-#: ../rules/base.xml.in.h:249
+#: ../rules/base.xml.in.h:251
msgid "Four-level key with dot"
msgstr ""
-#: ../rules/base.xml.in.h:250
+#: ../rules/base.xml.in.h:252
msgid "Four-level key with dot, latin-9 restriction"
msgstr ""
-#: ../rules/base.xml.in.h:251
+#: ../rules/base.xml.in.h:253
msgid "Four-level key with momayyez"
msgstr ""
-#: ../rules/base.xml.in.h:252
+#: ../rules/base.xml.in.h:254
msgid "Fra"
msgstr ""
-#: ../rules/base.xml.in.h:253
+#: ../rules/base.xml.in.h:255
msgid "France"
msgstr ""
-#: ../rules/base.xml.in.h:254
+#: ../rules/base.xml.in.h:256
msgid "Français (France Alternative)"
msgstr ""
-#: ../rules/base.xml.in.h:255
+#: ../rules/base.xml.in.h:257
msgid "French"
msgstr ""
-#: ../rules/base.xml.in.h:256
+#: ../rules/base.xml.in.h:258
msgid "French (Macintosh)"
msgstr ""
-#: ../rules/base.xml.in.h:257
+#: ../rules/base.xml.in.h:259
msgid "French (legacy)"
msgstr ""
-#: ../rules/base.xml.in.h:258
+#: ../rules/base.xml.in.h:260
msgid "French Dvorak"
msgstr ""
-#: ../rules/base.xml.in.h:259
+#: ../rules/base.xml.in.h:261
msgid "French, Sun dead keys"
msgstr ""
-#: ../rules/base.xml.in.h:260
+#: ../rules/base.xml.in.h:262
msgid "French, eliminate dead keys"
msgstr ""
-#: ../rules/base.xml.in.h:261
+#: ../rules/base.xml.in.h:263
msgid "Fro"
msgstr ""
-#: ../rules/base.xml.in.h:262
+#: ../rules/base.xml.in.h:264
msgid "Fujitsu-Siemens Computers AMILO laptop"
msgstr ""
-#: ../rules/base.xml.in.h:263
+#: ../rules/base.xml.in.h:265
msgid "Fula"
msgstr ""
-#: ../rules/base.xml.in.h:264
+#: ../rules/base.xml.in.h:266
msgid "GBr"
msgstr ""
-#: ../rules/base.xml.in.h:265
+#: ../rules/base.xml.in.h:267
msgid "GILLBT"
msgstr ""
-#: ../rules/base.xml.in.h:266
+#: ../rules/base.xml.in.h:268
msgid "Ga"
msgstr ""
-#: ../rules/base.xml.in.h:267
+#: ../rules/base.xml.in.h:269
msgid "Generic 101-key PC"
msgstr ""
-#: ../rules/base.xml.in.h:268
+#: ../rules/base.xml.in.h:270
msgid "Generic 102-key (Intl) PC"
msgstr ""
-#: ../rules/base.xml.in.h:269
+#: ../rules/base.xml.in.h:271
msgid "Generic 104-key PC"
msgstr ""
-#: ../rules/base.xml.in.h:270
+#: ../rules/base.xml.in.h:272
msgid "Generic 105-key (Intl) PC"
msgstr ""
-#: ../rules/base.xml.in.h:271
+#: ../rules/base.xml.in.h:273
msgid "Genius Comfy KB-12e"
msgstr ""
-#: ../rules/base.xml.in.h:272
+#: ../rules/base.xml.in.h:274
msgid "Genius Comfy KB-16M / Genius MM Keyboard KWD-910"
msgstr ""
-#: ../rules/base.xml.in.h:273
+#: ../rules/base.xml.in.h:275
msgid "Genius Comfy KB-21e-Scroll"
msgstr ""
-#: ../rules/base.xml.in.h:274
+#: ../rules/base.xml.in.h:276
msgid "Genius KB-19e NB"
msgstr ""
-#: ../rules/base.xml.in.h:275
+#: ../rules/base.xml.in.h:277
msgid "Genius KKB-2050HS"
msgstr ""
-#: ../rules/base.xml.in.h:276
+#: ../rules/base.xml.in.h:278
msgid "Geo"
msgstr ""
-#: ../rules/base.xml.in.h:277
+#: ../rules/base.xml.in.h:279
msgid "Georgia"
msgstr ""
-#: ../rules/base.xml.in.h:278
+#: ../rules/base.xml.in.h:280
msgid "Georgian"
msgstr ""
-#: ../rules/base.xml.in.h:279
+#: ../rules/base.xml.in.h:281
msgid "Georgian AZERTY Tskapo"
msgstr ""
-#: ../rules/base.xml.in.h:280
+#: ../rules/base.xml.in.h:282
msgid "German (Macintosh)"
msgstr ""
-#: ../rules/base.xml.in.h:281
+#: ../rules/base.xml.in.h:283
msgid "German, Sun dead keys"
msgstr ""
-#: ../rules/base.xml.in.h:282
+#: ../rules/base.xml.in.h:284
msgid "German, eliminate dead keys"
msgstr ""
-#: ../rules/base.xml.in.h:283
+#: ../rules/base.xml.in.h:285
msgid "Germany"
msgstr ""
-#: ../rules/base.xml.in.h:284
+#: ../rules/base.xml.in.h:286
msgid "Gha"
msgstr ""
-#: ../rules/base.xml.in.h:285
+#: ../rules/base.xml.in.h:287
msgid "Ghana"
msgstr ""
-#: ../rules/base.xml.in.h:286
+#: ../rules/base.xml.in.h:288
msgid "Gin"
msgstr ""
-#: ../rules/base.xml.in.h:287
+#: ../rules/base.xml.in.h:289
msgid "Grc"
msgstr ""
-#: ../rules/base.xml.in.h:288
+#: ../rules/base.xml.in.h:290
msgid "Greece"
msgstr ""
-#: ../rules/base.xml.in.h:289
+#: ../rules/base.xml.in.h:291
msgid "Guinea"
msgstr ""
-#: ../rules/base.xml.in.h:290
+#: ../rules/base.xml.in.h:292
msgid "Gujarati"
msgstr ""
-#: ../rules/base.xml.in.h:291
+#: ../rules/base.xml.in.h:293
msgid "Gurmukhi"
msgstr ""
-#: ../rules/base.xml.in.h:292
+#: ../rules/base.xml.in.h:294
msgid "Gurmukhi Jhelum"
msgstr ""
-#: ../rules/base.xml.in.h:293
+#: ../rules/base.xml.in.h:295
msgid "Gyration"
msgstr ""
-#: ../rules/base.xml.in.h:294
+#: ../rules/base.xml.in.h:296
msgid "Happy Hacking Keyboard"
msgstr ""
-#: ../rules/base.xml.in.h:295
+#: ../rules/base.xml.in.h:297
msgid "Happy Hacking Keyboard for Mac"
msgstr ""
-#: ../rules/base.xml.in.h:296
+#: ../rules/base.xml.in.h:298
msgid "Hausa"
msgstr ""
-#: ../rules/base.xml.in.h:297
+#: ../rules/base.xml.in.h:299
msgid "Hewlett-Packard Internet Keyboard"
msgstr ""
-#: ../rules/base.xml.in.h:298
+#: ../rules/base.xml.in.h:300
msgid "Hewlett-Packard Mini 110 Notebook"
msgstr ""
-#: ../rules/base.xml.in.h:299
+#: ../rules/base.xml.in.h:301
msgid "Hewlett-Packard Omnibook 500 FA"
msgstr ""
-#: ../rules/base.xml.in.h:300
+#: ../rules/base.xml.in.h:302
msgid "Hewlett-Packard Omnibook 5xx"
msgstr ""
-#: ../rules/base.xml.in.h:301
+#: ../rules/base.xml.in.h:303
msgid "Hewlett-Packard Omnibook 6000/6100"
msgstr ""
-#: ../rules/base.xml.in.h:302
+#: ../rules/base.xml.in.h:304
msgid "Hewlett-Packard Omnibook XE3 GC"
msgstr ""
-#: ../rules/base.xml.in.h:303
+#: ../rules/base.xml.in.h:305
msgid "Hewlett-Packard Omnibook XE3 GF"
msgstr ""
-#: ../rules/base.xml.in.h:304
+#: ../rules/base.xml.in.h:306
msgid "Hewlett-Packard Omnibook XT1000"
msgstr ""
-#: ../rules/base.xml.in.h:305
+#: ../rules/base.xml.in.h:307
msgid "Hewlett-Packard Pavilion ZT11xx"
msgstr ""
-#: ../rules/base.xml.in.h:306
+#: ../rules/base.xml.in.h:308
msgid "Hewlett-Packard Pavilion dv5"
msgstr ""
-#: ../rules/base.xml.in.h:307
+#: ../rules/base.xml.in.h:309
msgid "Hewlett-Packard SK-250x Multimedia Keyboard"
msgstr ""
-#: ../rules/base.xml.in.h:308
+#: ../rules/base.xml.in.h:310
msgid "Hewlett-Packard nx9020"
msgstr ""
-#: ../rules/base.xml.in.h:309
+#: ../rules/base.xml.in.h:311
msgid "Hexadecimal"
msgstr ""
-#: ../rules/base.xml.in.h:310
+#: ../rules/base.xml.in.h:312
msgid "Hindi Bolnagri"
msgstr ""
-#: ../rules/base.xml.in.h:311
+#: ../rules/base.xml.in.h:313
msgid "Hindi Wx"
msgstr ""
-#: ../rules/base.xml.in.h:312
+#: ../rules/base.xml.in.h:314
msgid "Homophonic"
msgstr ""
-#: ../rules/base.xml.in.h:313
+#: ../rules/base.xml.in.h:315
msgid "Honeywell Euroboard"
msgstr ""
-#: ../rules/base.xml.in.h:314
+#: ../rules/base.xml.in.h:316
msgid "Hrv"
msgstr ""
-#: ../rules/base.xml.in.h:315
+#: ../rules/base.xml.in.h:317
msgid "Hun"
msgstr ""
-#: ../rules/base.xml.in.h:316
+#: ../rules/base.xml.in.h:318
msgid "Hungary"
msgstr ""
-#: ../rules/base.xml.in.h:317
+#: ../rules/base.xml.in.h:319
msgid "Hyper is mapped to Win-keys"
msgstr ""
-#: ../rules/base.xml.in.h:318
+#: ../rules/base.xml.in.h:320
msgid "IBM (LST 1205-92)"
msgstr ""
-#: ../rules/base.xml.in.h:319
+#: ../rules/base.xml.in.h:321
msgid "IBM Rapid Access"
msgstr ""
-#: ../rules/base.xml.in.h:320
+#: ../rules/base.xml.in.h:322
msgid "IBM Rapid Access II"
msgstr ""
-#: ../rules/base.xml.in.h:321
+#: ../rules/base.xml.in.h:323
msgid "IBM Space Saver"
msgstr ""
-#: ../rules/base.xml.in.h:322
+#: ../rules/base.xml.in.h:324
msgid "IBM ThinkPad 560Z/600/600E/A22E"
msgstr ""
-#: ../rules/base.xml.in.h:323
+#: ../rules/base.xml.in.h:325
msgid "IBM ThinkPad R60/T60/R61/T61"
msgstr ""
-#: ../rules/base.xml.in.h:324
+#: ../rules/base.xml.in.h:326
msgid "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
msgstr ""
-#: ../rules/base.xml.in.h:325
+#: ../rules/base.xml.in.h:327
msgid "ISO Alternate"
msgstr ""
-#: ../rules/base.xml.in.h:326
+#: ../rules/base.xml.in.h:328
msgid "Iceland"
msgstr ""
-#: ../rules/base.xml.in.h:327
+#: ../rules/base.xml.in.h:329
msgid "Igbo"
msgstr ""
-#: ../rules/base.xml.in.h:328
+#: ../rules/base.xml.in.h:330
msgid "Include dead tilde"
msgstr ""
-#: ../rules/base.xml.in.h:329
+#: ../rules/base.xml.in.h:331
msgid "Ind"
msgstr ""
-#: ../rules/base.xml.in.h:330
+#: ../rules/base.xml.in.h:332
msgid "India"
msgstr ""
-#: ../rules/base.xml.in.h:331
+#: ../rules/base.xml.in.h:333
msgid "International (AltGr dead keys)"
msgstr ""
-#: ../rules/base.xml.in.h:332
+#: ../rules/base.xml.in.h:334
msgid "International (with dead keys)"
msgstr ""
-#: ../rules/base.xml.in.h:333
+#: ../rules/base.xml.in.h:335
msgid "Inuktitut"
msgstr ""
-#: ../rules/base.xml.in.h:334
+#: ../rules/base.xml.in.h:336 ../rules/base.extras.xml.in.h:8
msgid "Iran"
msgstr ""
-#: ../rules/base.xml.in.h:335
+#: ../rules/base.xml.in.h:337
msgid "Iraq"
msgstr ""
-#: ../rules/base.xml.in.h:336
+#: ../rules/base.xml.in.h:338
msgid "Ireland"
msgstr ""
-#: ../rules/base.xml.in.h:337
+#: ../rules/base.xml.in.h:339
msgid "Irl"
msgstr ""
-#: ../rules/base.xml.in.h:338
+#: ../rules/base.xml.in.h:340
msgid "Irn"
msgstr ""
-#: ../rules/base.xml.in.h:339
+#: ../rules/base.xml.in.h:341
msgid "Irq"
msgstr ""
-#: ../rules/base.xml.in.h:340
+#: ../rules/base.xml.in.h:342
msgid "Isl"
msgstr ""
-#: ../rules/base.xml.in.h:341
+#: ../rules/base.xml.in.h:343
msgid "Isr"
msgstr ""
-#: ../rules/base.xml.in.h:342
+#: ../rules/base.xml.in.h:344
msgid "Israel"
msgstr ""
-#: ../rules/base.xml.in.h:343
+#: ../rules/base.xml.in.h:345
msgid "Ita"
msgstr ""
-#: ../rules/base.xml.in.h:344
+#: ../rules/base.xml.in.h:346
msgid "Italy"
msgstr ""
-#: ../rules/base.xml.in.h:345
+#: ../rules/base.xml.in.h:347
msgid "Japan"
msgstr ""
-#: ../rules/base.xml.in.h:346
+#: ../rules/base.xml.in.h:348
msgid "Japan (PC-98xx Series)"
msgstr ""
-#: ../rules/base.xml.in.h:347
+#: ../rules/base.xml.in.h:349
msgid "Japanese keyboard options"
msgstr ""
-#: ../rules/base.xml.in.h:348
+#: ../rules/base.xml.in.h:350
msgid "Jpn"
msgstr ""
-#: ../rules/base.xml.in.h:349
+#: ../rules/base.xml.in.h:351
msgid "Kalmyk"
msgstr ""
-#: ../rules/base.xml.in.h:350
+#: ../rules/base.xml.in.h:352
msgid "Kana"
msgstr ""
-#: ../rules/base.xml.in.h:351
+#: ../rules/base.xml.in.h:353
msgid "Kana Lock key is locking"
msgstr ""
-#: ../rules/base.xml.in.h:352
+#: ../rules/base.xml.in.h:354
msgid "Kannada"
msgstr ""
-#: ../rules/base.xml.in.h:353
+#: ../rules/base.xml.in.h:355
msgid "Kashubian"
msgstr ""
-#: ../rules/base.xml.in.h:354
+#: ../rules/base.xml.in.h:356
msgid "Kaz"
msgstr ""
-#: ../rules/base.xml.in.h:355
+#: ../rules/base.xml.in.h:357
msgid "Kazakh with Russian"
msgstr ""
-#: ../rules/base.xml.in.h:356
+#: ../rules/base.xml.in.h:358
msgid "Kazakhstan"
msgstr ""
-#: ../rules/base.xml.in.h:357
+#: ../rules/base.xml.in.h:359
msgid "Ken"
msgstr ""
-#: ../rules/base.xml.in.h:358
+#: ../rules/base.xml.in.h:360
msgid "Kenya"
msgstr ""
-#: ../rules/base.xml.in.h:359
+#: ../rules/base.xml.in.h:361
msgid "Key sequence to kill the X server"
msgstr ""
-#: ../rules/base.xml.in.h:360
+#: ../rules/base.xml.in.h:362
msgid "Key to choose 3rd level"
msgstr ""
-#: ../rules/base.xml.in.h:361
+#: ../rules/base.xml.in.h:363
msgid "Key to choose 5th level"
msgstr ""
-#: ../rules/base.xml.in.h:362
+#: ../rules/base.xml.in.h:364
msgid "Key(s) to change layout"
msgstr ""
-#: ../rules/base.xml.in.h:363
+#: ../rules/base.xml.in.h:365
msgid "Keytronic FlexPro"
msgstr ""
-#: ../rules/base.xml.in.h:364
+#: ../rules/base.xml.in.h:366
msgid "Kgz"
msgstr ""
-#: ../rules/base.xml.in.h:365
+#: ../rules/base.xml.in.h:367
msgid "Khm"
msgstr ""
-#: ../rules/base.xml.in.h:366
+#: ../rules/base.xml.in.h:368
msgid "Kikuyu"
msgstr ""
-#: ../rules/base.xml.in.h:367
+#: ../rules/base.xml.in.h:369
+msgid "Kinesis"
+msgstr ""
+
+#: ../rules/base.xml.in.h:370
msgid "Komi"
msgstr ""
-#: ../rules/base.xml.in.h:368
+#: ../rules/base.xml.in.h:371
msgid "Kor"
msgstr ""
-#: ../rules/base.xml.in.h:369
+#: ../rules/base.xml.in.h:372
msgid "Korea, Republic of"
msgstr ""
-#: ../rules/base.xml.in.h:370
+#: ../rules/base.xml.in.h:373
msgid "Ktunaxa"
msgstr ""
-#: ../rules/base.xml.in.h:371
+#: ../rules/base.xml.in.h:374
msgid "Kurdish, (F)"
msgstr ""
-#: ../rules/base.xml.in.h:372
+#: ../rules/base.xml.in.h:375
msgid "Kurdish, Arabic-Latin"
msgstr ""
-#: ../rules/base.xml.in.h:373
+#: ../rules/base.xml.in.h:376
msgid "Kurdish, Latin Alt-Q"
msgstr ""
-#: ../rules/base.xml.in.h:374
+#: ../rules/base.xml.in.h:377
msgid "Kurdish, Latin Q"
msgstr ""
-#: ../rules/base.xml.in.h:375
+#: ../rules/base.xml.in.h:378
msgid "Kyrgyzstan"
msgstr ""
-#: ../rules/base.xml.in.h:376
+#: ../rules/base.xml.in.h:379
msgid "LAm"
msgstr ""
-#: ../rules/base.xml.in.h:377
+#: ../rules/base.xml.in.h:380
msgid "LEKP"
msgstr ""
-#: ../rules/base.xml.in.h:378
+#: ../rules/base.xml.in.h:381
msgid "LEKPa"
msgstr ""
-#: ../rules/base.xml.in.h:379
+#: ../rules/base.xml.in.h:382
msgid "Lao"
msgstr ""
-#: ../rules/base.xml.in.h:380
+#: ../rules/base.xml.in.h:383
msgid "Laos"
msgstr ""
-#: ../rules/base.xml.in.h:381
+#: ../rules/base.xml.in.h:384
msgid "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard"
msgstr ""
-#: ../rules/base.xml.in.h:382
+#: ../rules/base.xml.in.h:385
msgid "Laptop/notebook Compaq (eg. Presario) Internet Keyboard"
msgstr ""
-#: ../rules/base.xml.in.h:383
+#: ../rules/base.xml.in.h:386
msgid "Laptop/notebook eMachines m68xx"
msgstr ""
-#: ../rules/base.xml.in.h:384
+#: ../rules/base.xml.in.h:387
msgid "Latin"
msgstr ""
-#: ../rules/base.xml.in.h:385
+#: ../rules/base.xml.in.h:388
msgid "Latin American"
msgstr ""
-#: ../rules/base.xml.in.h:386
+#: ../rules/base.xml.in.h:389
msgid "Latin Unicode"
msgstr ""
-#: ../rules/base.xml.in.h:387
+#: ../rules/base.xml.in.h:390
msgid "Latin Unicode qwerty"
msgstr ""
-#: ../rules/base.xml.in.h:388
+#: ../rules/base.xml.in.h:391
msgid "Latin qwerty"
msgstr ""
-#: ../rules/base.xml.in.h:389
+#: ../rules/base.xml.in.h:392
msgid "Latin unicode"
msgstr ""
-#: ../rules/base.xml.in.h:390
+#: ../rules/base.xml.in.h:393
msgid "Latin unicode qwerty"
msgstr ""
-#: ../rules/base.xml.in.h:391
+#: ../rules/base.xml.in.h:394
msgid "Latin with guillemets"
msgstr ""
-#: ../rules/base.xml.in.h:392
+#: ../rules/base.xml.in.h:395
msgid "Latvia"
msgstr ""
-#: ../rules/base.xml.in.h:393
+#: ../rules/base.xml.in.h:396
msgid "Layout toggle on multiply/divide key"
msgstr ""
-#: ../rules/base.xml.in.h:394
+#: ../rules/base.xml.in.h:397
msgid "Left Alt"
msgstr ""
-#: ../rules/base.xml.in.h:395
+#: ../rules/base.xml.in.h:398
msgid "Left Alt (while pressed)"
msgstr ""
-#: ../rules/base.xml.in.h:396
+#: ../rules/base.xml.in.h:399
msgid "Left Alt is swapped with Left Win"
msgstr ""
-#: ../rules/base.xml.in.h:397
+#: ../rules/base.xml.in.h:400
msgid "Left Ctrl"
msgstr ""
-#: ../rules/base.xml.in.h:398
+#: ../rules/base.xml.in.h:401
msgid "Left Ctrl (to first layout), Right Ctrl (to last layout)"
msgstr ""
-#: ../rules/base.xml.in.h:399
+#: ../rules/base.xml.in.h:402
msgid "Left Ctrl+Left Shift"
msgstr ""
-#: ../rules/base.xml.in.h:400
+#: ../rules/base.xml.in.h:403
msgid "Left Shift"
msgstr ""
-#: ../rules/base.xml.in.h:401
+#: ../rules/base.xml.in.h:404
msgid "Left Win"
msgstr ""
-#: ../rules/base.xml.in.h:402
+#: ../rules/base.xml.in.h:405
msgid "Left Win (to first layout), Right Win/Menu (to last layout)"
msgstr ""
-#: ../rules/base.xml.in.h:403
+#: ../rules/base.xml.in.h:406
msgid "Left Win (while pressed)"
msgstr ""
-#: ../rules/base.xml.in.h:404
+#: ../rules/base.xml.in.h:407
msgid ""
"Left Win chooses 5th level, locks when pressed together with another 5th-"
"level-chooser"
msgstr ""
-#: ../rules/base.xml.in.h:405
+#: ../rules/base.xml.in.h:408
msgid ""
"Left Win chooses 5th level, locks when pressed together with another 5th-"
"level-chooser, one press releases the lock"
msgstr ""
-#: ../rules/base.xml.in.h:406
+#: ../rules/base.xml.in.h:409
msgid "Left hand"
msgstr ""
-#: ../rules/base.xml.in.h:407
+#: ../rules/base.xml.in.h:410
msgid "Left handed Dvorak"
msgstr ""
-#: ../rules/base.xml.in.h:408
+#: ../rules/base.xml.in.h:411
msgid "Legacy"
msgstr ""
-#: ../rules/base.xml.in.h:409
+#: ../rules/base.xml.in.h:412
msgid "Legacy Wang 724"
msgstr ""
#. Actually, with KP_SEPARATOR, as the old keypad(comma)
-#: ../rules/base.xml.in.h:411
+#: ../rules/base.xml.in.h:414
msgid "Legacy key with comma"
msgstr ""
-#: ../rules/base.xml.in.h:412
+#: ../rules/base.xml.in.h:415
msgid "Legacy key with dot"
msgstr ""
-#: ../rules/base.xml.in.h:413
+#: ../rules/base.xml.in.h:416
msgid "Lithuania"
msgstr ""
-#: ../rules/base.xml.in.h:414
+#: ../rules/base.xml.in.h:417
msgid "Lka"
msgstr ""
-#: ../rules/base.xml.in.h:415
+#: ../rules/base.xml.in.h:418
msgid "Logitech Access Keyboard"
msgstr ""
-#: ../rules/base.xml.in.h:416
+#: ../rules/base.xml.in.h:419
msgid "Logitech Cordless Desktop"
msgstr ""
-#: ../rules/base.xml.in.h:417
+#: ../rules/base.xml.in.h:420
msgid "Logitech Cordless Desktop (alternate option)"
msgstr ""
-#: ../rules/base.xml.in.h:418
+#: ../rules/base.xml.in.h:421
msgid "Logitech Cordless Desktop EX110"
msgstr ""
-#: ../rules/base.xml.in.h:419
+#: ../rules/base.xml.in.h:422
msgid "Logitech Cordless Desktop LX-300"
msgstr ""
-#: ../rules/base.xml.in.h:420
+#: ../rules/base.xml.in.h:423
msgid "Logitech Cordless Desktop Navigator"
msgstr ""
-#: ../rules/base.xml.in.h:421
+#: ../rules/base.xml.in.h:424
msgid "Logitech Cordless Desktop Optical"
msgstr ""
-#: ../rules/base.xml.in.h:422
+#: ../rules/base.xml.in.h:425
msgid "Logitech Cordless Desktop Pro (alternate option 2)"
msgstr ""
-#: ../rules/base.xml.in.h:423
+#: ../rules/base.xml.in.h:426
msgid "Logitech Cordless Desktop iTouch"
msgstr ""
-#: ../rules/base.xml.in.h:424
+#: ../rules/base.xml.in.h:427
msgid "Logitech Cordless Freedom/Desktop Navigator"
msgstr ""
-#: ../rules/base.xml.in.h:425
+#: ../rules/base.xml.in.h:428
msgid "Logitech G15 extra keys via G15daemon"
msgstr ""
-#: ../rules/base.xml.in.h:426
+#: ../rules/base.xml.in.h:429
msgid "Logitech Generic Keyboard"
msgstr ""
-#: ../rules/base.xml.in.h:427
+#: ../rules/base.xml.in.h:430
msgid "Logitech Internet 350 Keyboard"
msgstr ""
-#: ../rules/base.xml.in.h:428
+#: ../rules/base.xml.in.h:431
msgid "Logitech Internet Keyboard"
msgstr ""
-#: ../rules/base.xml.in.h:429
+#: ../rules/base.xml.in.h:432
msgid "Logitech Internet Navigator Keyboard"
msgstr ""
-#: ../rules/base.xml.in.h:430
+#: ../rules/base.xml.in.h:433
msgid "Logitech Media Elite Keyboard"
msgstr ""
-#: ../rules/base.xml.in.h:431
+#: ../rules/base.xml.in.h:434
msgid "Logitech Ultra-X Cordless Media Desktop Keyboard"
msgstr ""
-#: ../rules/base.xml.in.h:432
+#: ../rules/base.xml.in.h:435
msgid "Logitech Ultra-X Keyboard"
msgstr ""
-#: ../rules/base.xml.in.h:433
+#: ../rules/base.xml.in.h:436
msgid "Logitech diNovo Edge Keyboard"
msgstr ""
-#: ../rules/base.xml.in.h:434
+#: ../rules/base.xml.in.h:437
msgid "Logitech diNovo Keyboard"
msgstr ""
-#: ../rules/base.xml.in.h:435
+#: ../rules/base.xml.in.h:438
msgid "Logitech iTouch"
msgstr ""
-#: ../rules/base.xml.in.h:436
+#: ../rules/base.xml.in.h:439
msgid "Logitech iTouch Cordless Keyboard (model Y-RB6)"
msgstr ""
-#: ../rules/base.xml.in.h:437
+#: ../rules/base.xml.in.h:440
msgid "Logitech iTouch Internet Navigator Keyboard SE"
msgstr ""
-#: ../rules/base.xml.in.h:438
+#: ../rules/base.xml.in.h:441
msgid "Logitech iTouch Internet Navigator Keyboard SE (USB)"
msgstr ""
-#: ../rules/base.xml.in.h:439
+#: ../rules/base.xml.in.h:442
msgid "Lower Sorbian"
msgstr ""
-#: ../rules/base.xml.in.h:440
+#: ../rules/base.xml.in.h:443
msgid "Lower Sorbian (qwertz)"
msgstr ""
-#: ../rules/base.xml.in.h:441
+#: ../rules/base.xml.in.h:444
msgid "Ltu"
msgstr ""
-#: ../rules/base.xml.in.h:442
+#: ../rules/base.xml.in.h:445
msgid "Lva"
msgstr ""
-#: ../rules/base.xml.in.h:443
+#: ../rules/base.xml.in.h:446
msgid "MESS"
msgstr ""
-#: ../rules/base.xml.in.h:444
+#: ../rules/base.xml.in.h:447
msgid "MNE"
msgstr ""
-#: ../rules/base.xml.in.h:445
+#: ../rules/base.xml.in.h:448
msgid "MacBook/MacBook Pro"
msgstr ""
-#: ../rules/base.xml.in.h:446
+#: ../rules/base.xml.in.h:449
msgid "MacBook/MacBook Pro (Intl)"
msgstr ""
-#: ../rules/base.xml.in.h:447
+#: ../rules/base.xml.in.h:450
msgid "Macedonia"
msgstr ""
-#: ../rules/base.xml.in.h:448
+#: ../rules/base.xml.in.h:451
msgid "Macintosh"
msgstr ""
-#: ../rules/base.xml.in.h:449
+#: ../rules/base.xml.in.h:452
+msgid "Macintosh (International)"
+msgstr ""
+
+#: ../rules/base.xml.in.h:453
msgid "Macintosh Old"
msgstr ""
-#: ../rules/base.xml.in.h:450
+#: ../rules/base.xml.in.h:454
msgid "Macintosh, Sun dead keys"
msgstr ""
-#: ../rules/base.xml.in.h:451
+#: ../rules/base.xml.in.h:455
msgid "Macintosh, eliminate dead keys"
msgstr ""
-#: ../rules/base.xml.in.h:452
-msgid "Make CapsLock an additional Backspace"
+#: ../rules/base.xml.in.h:456
+msgid "Make Caps Lock an additional Backspace"
msgstr ""
-#: ../rules/base.xml.in.h:453
-msgid "Make CapsLock an additional Ctrl"
+#: ../rules/base.xml.in.h:457
+msgid "Make Caps Lock an additional Ctrl"
msgstr ""
-#: ../rules/base.xml.in.h:454
-msgid "Make CapsLock an additional ESC"
+#: ../rules/base.xml.in.h:458
+msgid "Make Caps Lock an additional ESC"
msgstr ""
-#: ../rules/base.xml.in.h:455
-msgid "Make CapsLock an additional Hyper"
+#: ../rules/base.xml.in.h:459
+msgid "Make Caps Lock an additional Hyper"
msgstr ""
-#: ../rules/base.xml.in.h:456
-msgid "Make CapsLock an additional NumLock"
+#: ../rules/base.xml.in.h:460
+msgid "Make Caps Lock an additional Num Lock"
msgstr ""
-#: ../rules/base.xml.in.h:457
-msgid "Make CapsLock an additional Super"
+#: ../rules/base.xml.in.h:461
+msgid "Make Caps Lock an additional Super"
msgstr ""
-#: ../rules/base.xml.in.h:458
+#: ../rules/base.xml.in.h:462
msgid "Malayalam"
msgstr ""
-#: ../rules/base.xml.in.h:459
+#: ../rules/base.xml.in.h:463
msgid "Malayalam Lalitha"
msgstr ""
-#: ../rules/base.xml.in.h:460
+#: ../rules/base.xml.in.h:464
msgid "Maldives"
msgstr ""
-#: ../rules/base.xml.in.h:461
+#: ../rules/base.xml.in.h:465
msgid "Mali"
msgstr ""
-#: ../rules/base.xml.in.h:462
+#: ../rules/base.xml.in.h:466
msgid "Malta"
msgstr ""
-#: ../rules/base.xml.in.h:463
+#: ../rules/base.xml.in.h:467
msgid "Maltese keyboard with US layout"
msgstr ""
-#: ../rules/base.xml.in.h:464
+#: ../rules/base.xml.in.h:468
msgid "Mao"
msgstr ""
-#: ../rules/base.xml.in.h:465
+#: ../rules/base.xml.in.h:469
msgid "Maori"
msgstr ""
-#: ../rules/base.xml.in.h:466
+#: ../rules/base.xml.in.h:470
msgid "Mdv"
msgstr ""
-#: ../rules/base.xml.in.h:467
+#: ../rules/base.xml.in.h:471
msgid "Memorex MX1998"
msgstr ""
-#: ../rules/base.xml.in.h:468
+#: ../rules/base.xml.in.h:472
msgid "Memorex MX2500 EZ-Access Keyboard"
msgstr ""
-#: ../rules/base.xml.in.h:469
+#: ../rules/base.xml.in.h:473
msgid "Memorex MX2750"
msgstr ""
-#: ../rules/base.xml.in.h:470
+#: ../rules/base.xml.in.h:474
msgid "Menu"
msgstr ""
-#: ../rules/base.xml.in.h:471
+#: ../rules/base.xml.in.h:475
msgid "Meta is mapped to Left Win"
msgstr ""
-#: ../rules/base.xml.in.h:472
+#: ../rules/base.xml.in.h:476
msgid "Meta is mapped to Win keys"
msgstr ""
-#: ../rules/base.xml.in.h:473
+#: ../rules/base.xml.in.h:477
msgid "Microsoft Comfort Curve Keyboard 2000"
msgstr ""
-#: ../rules/base.xml.in.h:474
+#: ../rules/base.xml.in.h:478
msgid "Microsoft Internet Keyboard"
msgstr ""
-#: ../rules/base.xml.in.h:475
+#: ../rules/base.xml.in.h:479
msgid "Microsoft Internet Keyboard Pro, Swedish"
msgstr ""
-#: ../rules/base.xml.in.h:476
+#: ../rules/base.xml.in.h:480
msgid "Microsoft Natural"
msgstr ""
-#: ../rules/base.xml.in.h:477
+#: ../rules/base.xml.in.h:481
msgid "Microsoft Natural Keyboard Elite"
msgstr ""
-#: ../rules/base.xml.in.h:478
+#: ../rules/base.xml.in.h:482
msgid "Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro"
msgstr ""
-#: ../rules/base.xml.in.h:479
+#: ../rules/base.xml.in.h:483
msgid "Microsoft Natural Keyboard Pro OEM"
msgstr ""
-#: ../rules/base.xml.in.h:480
+#: ../rules/base.xml.in.h:484
msgid "Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro"
msgstr ""
-#: ../rules/base.xml.in.h:481
+#: ../rules/base.xml.in.h:485
msgid "Microsoft Natural Wireless Ergonomic Keyboard 7000"
msgstr ""
-#: ../rules/base.xml.in.h:482
+#: ../rules/base.xml.in.h:486
msgid "Microsoft Office Keyboard"
msgstr ""
-#: ../rules/base.xml.in.h:483
+#: ../rules/base.xml.in.h:487
msgid "Microsoft Wireless Multimedia Keyboard 1.0A"
msgstr ""
-#: ../rules/base.xml.in.h:484
+#: ../rules/base.xml.in.h:488
msgid "Miscellaneous compatibility options"
msgstr ""
-#: ../rules/base.xml.in.h:485
+#: ../rules/base.xml.in.h:489
msgid "Mkd"
msgstr ""
-#: ../rules/base.xml.in.h:486
+#: ../rules/base.xml.in.h:490
msgid "Mli"
msgstr ""
-#: ../rules/base.xml.in.h:487
+#: ../rules/base.xml.in.h:491
msgid "Mlt"
msgstr ""
-#: ../rules/base.xml.in.h:488
+#: ../rules/base.xml.in.h:492
msgid "Mmr"
msgstr ""
-#: ../rules/base.xml.in.h:489
+#: ../rules/base.xml.in.h:493
msgid "Mng"
msgstr ""
-#: ../rules/base.xml.in.h:490
+#: ../rules/base.xml.in.h:494
msgid "Mongolia"
msgstr ""
-#: ../rules/base.xml.in.h:491
+#: ../rules/base.xml.in.h:495
msgid "Montenegro"
msgstr ""
-#: ../rules/base.xml.in.h:492
+#: ../rules/base.xml.in.h:496
msgid "Morocco"
msgstr ""
-#: ../rules/base.xml.in.h:493
+#: ../rules/base.xml.in.h:497
msgid "Multilingual"
msgstr ""
-#: ../rules/base.xml.in.h:494
+#: ../rules/base.xml.in.h:498
msgid "Multilingual, first part"
msgstr ""
-#: ../rules/base.xml.in.h:495
+#: ../rules/base.xml.in.h:499
msgid "Multilingual, second part"
msgstr ""
-#: ../rules/base.xml.in.h:496
+#: ../rules/base.xml.in.h:500
msgid "Myanmar"
msgstr ""
-#: ../rules/base.xml.in.h:497
+#: ../rules/base.xml.in.h:501
msgid "NICOLA-F style Backspace"
msgstr ""
-#: ../rules/base.xml.in.h:498
+#: ../rules/base.xml.in.h:502
msgid "NLA"
msgstr ""
-#: ../rules/base.xml.in.h:499
+#: ../rules/base.xml.in.h:503
msgid "Nativo"
msgstr ""
-#: ../rules/base.xml.in.h:500
+#: ../rules/base.xml.in.h:504
msgid "Nativo for Esperanto"
msgstr ""
-#: ../rules/base.xml.in.h:501
+#: ../rules/base.xml.in.h:505
msgid "Nativo for USA keyboards"
msgstr ""
-#: ../rules/base.xml.in.h:502
+#: ../rules/base.xml.in.h:506
msgid "Neo 2"
msgstr ""
-#: ../rules/base.xml.in.h:503
+#: ../rules/base.xml.in.h:507
msgid "Nepal"
msgstr ""
-#: ../rules/base.xml.in.h:504
+#: ../rules/base.xml.in.h:508
msgid "Netherlands"
msgstr ""
-#: ../rules/base.xml.in.h:505
+#: ../rules/base.xml.in.h:509
msgid "New phonetic"
msgstr ""
-#: ../rules/base.xml.in.h:506
+#: ../rules/base.xml.in.h:510
msgid "Nga"
msgstr ""
-#: ../rules/base.xml.in.h:507
+#: ../rules/base.xml.in.h:511
msgid "Nigeria"
msgstr ""
-#: ../rules/base.xml.in.h:508
+#: ../rules/base.xml.in.h:512
msgid "Nld"
msgstr ""
-#: ../rules/base.xml.in.h:509
+#: ../rules/base.xml.in.h:513
msgid "Non-breakable space character at fourth level"
msgstr ""
-#: ../rules/base.xml.in.h:510
+#: ../rules/base.xml.in.h:514
msgid ""
"Non-breakable space character at fourth level, thin non-breakable space "
"character at sixth level"
msgstr ""
-#: ../rules/base.xml.in.h:511
+#: ../rules/base.xml.in.h:515
msgid ""
"Non-breakable space character at fourth level, thin non-breakable space "
"character at sixth level (via Ctrl+Shift)"
msgstr ""
-#: ../rules/base.xml.in.h:512
+#: ../rules/base.xml.in.h:516
msgid "Non-breakable space character at second level"
msgstr ""
-#: ../rules/base.xml.in.h:513
+#: ../rules/base.xml.in.h:517
msgid "Non-breakable space character at third level"
msgstr ""
-#: ../rules/base.xml.in.h:514
+#: ../rules/base.xml.in.h:518
msgid "Non-breakable space character at third level, nothing at fourth level"
msgstr ""
-#: ../rules/base.xml.in.h:515
+#: ../rules/base.xml.in.h:519
msgid ""
"Non-breakable space character at third level, thin non-breakable space "
"character at fourth level"
msgstr ""
-#: ../rules/base.xml.in.h:516
+#: ../rules/base.xml.in.h:520
msgid "Nor"
msgstr ""
-#: ../rules/base.xml.in.h:517
+#: ../rules/base.xml.in.h:521
msgid "Northern Saami"
msgstr ""
-#: ../rules/base.xml.in.h:518
+#: ../rules/base.xml.in.h:522
msgid "Northern Saami, eliminate dead keys"
msgstr ""
-#: ../rules/base.xml.in.h:519
+#: ../rules/base.xml.in.h:523
msgid "Northgate OmniKey 101"
msgstr ""
-#: ../rules/base.xml.in.h:520
+#: ../rules/base.xml.in.h:524
msgid "Norway"
msgstr ""
-#: ../rules/base.xml.in.h:521
+#: ../rules/base.xml.in.h:525
msgid "Npl"
msgstr ""
-#: ../rules/base.xml.in.h:522
-msgid "NumLock"
+#: ../rules/base.xml.in.h:526
+msgid "Num Lock"
msgstr ""
-#: ../rules/base.xml.in.h:523
+#: ../rules/base.xml.in.h:527
msgid "Numeric keypad delete key behaviour"
msgstr ""
-#: ../rules/base.xml.in.h:524
+#: ../rules/base.xml.in.h:528
msgid "Numeric keypad keys work as with Mac"
msgstr ""
-#: ../rules/base.xml.in.h:525
+#: ../rules/base.xml.in.h:529
msgid "Numeric keypad layout selection"
msgstr ""
-#: ../rules/base.xml.in.h:526
+#: ../rules/base.xml.in.h:530
msgid "OADG 109A"
msgstr ""
-#: ../rules/base.xml.in.h:527
+#: ../rules/base.xml.in.h:531
msgid "OLPC"
msgstr ""
-#: ../rules/base.xml.in.h:528
+#: ../rules/base.xml.in.h:532
msgid "OLPC Dari"
msgstr ""
-#: ../rules/base.xml.in.h:529
+#: ../rules/base.xml.in.h:533
msgid "OLPC Pashto"
msgstr ""
-#: ../rules/base.xml.in.h:530
+#: ../rules/base.xml.in.h:534
msgid "OLPC Southern Uzbek"
msgstr ""
-#: ../rules/base.xml.in.h:531
+#: ../rules/base.xml.in.h:535
msgid "Occitan"
msgstr ""
-#: ../rules/base.xml.in.h:532
+#: ../rules/base.xml.in.h:536
msgid "Ogham"
msgstr ""
-#: ../rules/base.xml.in.h:533
+#: ../rules/base.xml.in.h:537
msgid "Ogham IS434"
msgstr ""
-#: ../rules/base.xml.in.h:534
+#: ../rules/base.xml.in.h:538
msgid "Oriya"
msgstr ""
-#: ../rules/base.xml.in.h:535
+#: ../rules/base.xml.in.h:539
msgid "Ortek MCK-800 MM/Internet keyboard"
msgstr ""
-#: ../rules/base.xml.in.h:536
+#: ../rules/base.xml.in.h:540
msgid "Ossetian"
msgstr ""
-#: ../rules/base.xml.in.h:537
+#: ../rules/base.xml.in.h:541
msgid "Ossetian, Winkeys"
msgstr ""
-#: ../rules/base.xml.in.h:538
+#: ../rules/base.xml.in.h:542
msgid "Ossetian, legacy"
msgstr ""
-#: ../rules/base.xml.in.h:539
+#: ../rules/base.xml.in.h:543
msgid "PC-98xx Series"
msgstr ""
-#: ../rules/base.xml.in.h:540
+#: ../rules/base.xml.in.h:544
msgid "Pak"
msgstr ""
-#: ../rules/base.xml.in.h:541
+#: ../rules/base.xml.in.h:545
msgid "Pakistan"
msgstr ""
-#: ../rules/base.xml.in.h:542
+#: ../rules/base.xml.in.h:546
msgid "Pannonian Rusyn Homophonic"
msgstr ""
-#: ../rules/base.xml.in.h:543
+#: ../rules/base.xml.in.h:547
msgid "Pashto"
msgstr ""
-#: ../rules/base.xml.in.h:544
+#: ../rules/base.xml.in.h:548
msgid "Pattachote"
msgstr ""
-#: ../rules/base.xml.in.h:545
+#: ../rules/base.xml.in.h:549
msgid "Pause"
msgstr ""
-#: ../rules/base.xml.in.h:546
+#: ../rules/base.xml.in.h:550
msgid "Persian, with Persian Keypad"
msgstr ""
-#: ../rules/base.xml.in.h:547
+#: ../rules/base.xml.in.h:551
msgid "Phonetic"
msgstr ""
-#: ../rules/base.xml.in.h:548
+#: ../rules/base.xml.in.h:552
msgid "Phonetic Winkeys"
msgstr ""
-#: ../rules/base.xml.in.h:549
+#: ../rules/base.xml.in.h:553
msgid "Pol"
msgstr ""
-#: ../rules/base.xml.in.h:550
+#: ../rules/base.xml.in.h:554
msgid "Poland"
msgstr ""
-#: ../rules/base.xml.in.h:551
+#: ../rules/base.xml.in.h:555
msgid "Polytonic"
msgstr ""
-#: ../rules/base.xml.in.h:552
+#: ../rules/base.xml.in.h:556
msgid "Portugal"
msgstr ""
-#: ../rules/base.xml.in.h:553
+#: ../rules/base.xml.in.h:557
msgid "Probhat"
msgstr ""
-#: ../rules/base.xml.in.h:554
+#: ../rules/base.xml.in.h:558
msgid "Programmer Dvorak"
msgstr ""
-#: ../rules/base.xml.in.h:555
+#: ../rules/base.xml.in.h:559
msgid "Propeller Voyager (KTEZ-1000)"
msgstr ""
-#: ../rules/base.xml.in.h:556
+#: ../rules/base.xml.in.h:560
msgid "Prt"
msgstr ""
-#: ../rules/base.xml.in.h:557
+#: ../rules/base.xml.in.h:561
msgid "PrtSc"
msgstr ""
-#: ../rules/base.xml.in.h:558
+#: ../rules/base.xml.in.h:562
msgid "QTronix Scorpius 98N+"
msgstr ""
-#: ../rules/base.xml.in.h:559
+#: ../rules/base.xml.in.h:563
msgid "Right Alt"
msgstr ""
-#: ../rules/base.xml.in.h:560
+#: ../rules/base.xml.in.h:564
msgid "Right Alt (while pressed)"
msgstr ""
-#: ../rules/base.xml.in.h:561
+#: ../rules/base.xml.in.h:565
msgid ""
"Right Alt chooses 5th level, locks when pressed together with another 5th-"
"level-chooser"
msgstr ""
-#: ../rules/base.xml.in.h:562
+#: ../rules/base.xml.in.h:566
msgid ""
"Right Alt chooses 5th level, locks when pressed together with another 5th-"
"level-chooser, one press releases the lock"
msgstr ""
-#: ../rules/base.xml.in.h:563
+#: ../rules/base.xml.in.h:567
msgid "Right Alt key never chooses 3rd level"
msgstr ""
-#: ../rules/base.xml.in.h:564
+#: ../rules/base.xml.in.h:568
msgid "Right Alt, Shift+Right Alt key is Multi_Key"
msgstr ""
-#: ../rules/base.xml.in.h:565
+#: ../rules/base.xml.in.h:569
msgid "Right Ctrl"
msgstr ""
-#: ../rules/base.xml.in.h:566
+#: ../rules/base.xml.in.h:570
msgid "Right Ctrl (while pressed)"
msgstr ""
-#: ../rules/base.xml.in.h:567
+#: ../rules/base.xml.in.h:571
msgid "Right Ctrl as Right Alt"
msgstr ""
-#: ../rules/base.xml.in.h:568
+#: ../rules/base.xml.in.h:572
msgid "Right Ctrl+Right Shift"
msgstr ""
-#: ../rules/base.xml.in.h:569
+#: ../rules/base.xml.in.h:573
msgid "Right Shift"
msgstr ""
-#: ../rules/base.xml.in.h:570
+#: ../rules/base.xml.in.h:574
msgid "Right Win"
msgstr ""
-#: ../rules/base.xml.in.h:571
+#: ../rules/base.xml.in.h:575
msgid "Right Win (while pressed)"
msgstr ""
-#: ../rules/base.xml.in.h:572
+#: ../rules/base.xml.in.h:576
msgid ""
"Right Win chooses 5th level, locks when pressed together with another 5th-"
"level-chooser"
msgstr ""
-#: ../rules/base.xml.in.h:573
+#: ../rules/base.xml.in.h:577
msgid ""
"Right Win chooses 5th level, locks when pressed together with another 5th-"
"level-chooser, one press releases the lock"
msgstr ""
-#: ../rules/base.xml.in.h:574
+#: ../rules/base.xml.in.h:578
msgid "Right hand"
msgstr ""
-#: ../rules/base.xml.in.h:575
+#: ../rules/base.xml.in.h:579
msgid "Right handed Dvorak"
msgstr ""
-#: ../rules/base.xml.in.h:576
+#: ../rules/base.xml.in.h:580
msgid "Romania"
msgstr ""
-#: ../rules/base.xml.in.h:577
+#: ../rules/base.xml.in.h:581
msgid "Romanian keyboard with German letters"
msgstr ""
-#: ../rules/base.xml.in.h:578
+#: ../rules/base.xml.in.h:582
msgid "Romanian keyboard with German letters, eliminate dead keys"
msgstr ""
-#: ../rules/base.xml.in.h:579
+#: ../rules/base.xml.in.h:583
msgid "Rou"
msgstr ""
-#: ../rules/base.xml.in.h:580
+#: ../rules/base.xml.in.h:584
msgid "Rus"
msgstr ""
-#: ../rules/base.xml.in.h:581
+#: ../rules/base.xml.in.h:585
msgid "Russia"
msgstr ""
-#: ../rules/base.xml.in.h:582
+#: ../rules/base.xml.in.h:586
msgid "Russian"
msgstr ""
-#: ../rules/base.xml.in.h:583
+#: ../rules/base.xml.in.h:587
msgid "Russian phonetic"
msgstr ""
-#: ../rules/base.xml.in.h:584
+#: ../rules/base.xml.in.h:588
msgid "Russian phonetic Dvorak"
msgstr ""
-#: ../rules/base.xml.in.h:585
+#: ../rules/base.xml.in.h:589
msgid "Russian phonetic, eliminate dead keys"
msgstr ""
-#: ../rules/base.xml.in.h:586
+#: ../rules/base.xml.in.h:590
msgid "Russian with Kazakh"
msgstr ""
-#: ../rules/base.xml.in.h:587
+#: ../rules/base.xml.in.h:591
msgid "SILVERCREST Multimedia Wireless Keyboard"
msgstr ""
-#: ../rules/base.xml.in.h:588
+#: ../rules/base.xml.in.h:592
msgid "SK-1300"
msgstr ""
-#: ../rules/base.xml.in.h:589
+#: ../rules/base.xml.in.h:593
msgid "SK-2500"
msgstr ""
-#: ../rules/base.xml.in.h:590
+#: ../rules/base.xml.in.h:594
msgid "SK-6200"
msgstr ""
-#: ../rules/base.xml.in.h:591
+#: ../rules/base.xml.in.h:595
msgid "SK-7100"
msgstr ""
-#: ../rules/base.xml.in.h:592 ../rules/base.extras.xml.in.h:7
+#: ../rules/base.xml.in.h:596 ../rules/base.extras.xml.in.h:9
msgid "SRB"
msgstr ""
-#: ../rules/base.xml.in.h:593
+#: ../rules/base.xml.in.h:597
msgid "SVEN Ergonomic 2500"
msgstr ""
-#: ../rules/base.xml.in.h:594
+#: ../rules/base.xml.in.h:598
msgid "SVEN Slim 303"
msgstr ""
-#: ../rules/base.xml.in.h:595
+#: ../rules/base.xml.in.h:599
msgid "Samsung SDM 4500P"
msgstr ""
-#: ../rules/base.xml.in.h:596
+#: ../rules/base.xml.in.h:600
msgid "Samsung SDM 4510P"
msgstr ""
-#: ../rules/base.xml.in.h:597
-msgid "ScrollLock"
+#: ../rules/base.xml.in.h:601
+msgid "Scroll Lock"
msgstr ""
-#: ../rules/base.xml.in.h:598
+#: ../rules/base.xml.in.h:602
msgid "Secwepemctsin"
msgstr ""
-#: ../rules/base.xml.in.h:599
+#: ../rules/base.xml.in.h:603
msgid "Semi-colon on third level"
msgstr ""
-#: ../rules/base.xml.in.h:600
+#: ../rules/base.xml.in.h:604
msgid "Sen"
msgstr ""
-#: ../rules/base.xml.in.h:601
+#: ../rules/base.xml.in.h:605
msgid "Senegal"
msgstr ""
-#: ../rules/base.xml.in.h:602 ../rules/base.extras.xml.in.h:8
+#: ../rules/base.xml.in.h:606 ../rules/base.extras.xml.in.h:10
msgid "Serbia"
msgstr ""
-#: ../rules/base.xml.in.h:603
+#: ../rules/base.xml.in.h:607
msgid "Serbian"
msgstr ""
-#: ../rules/base.xml.in.h:604
-msgid "Shift cancels CapsLock"
+#: ../rules/base.xml.in.h:608
+msgid "Shift cancels Caps Lock"
msgstr ""
-#: ../rules/base.xml.in.h:605
-msgid "Shift does not cancel NumLock, chooses 3rd level instead"
+#: ../rules/base.xml.in.h:609
+msgid "Shift does not cancel Num Lock, chooses 3rd level instead"
msgstr ""
-#: ../rules/base.xml.in.h:606
+#: ../rules/base.xml.in.h:610
msgid "Shift with numeric keypad keys works as in MS Windows"
msgstr ""
-#: ../rules/base.xml.in.h:607
-msgid "Shift+CapsLock"
+#: ../rules/base.xml.in.h:611
+msgid "Shift+Caps Lock"
msgstr ""
-#: ../rules/base.xml.in.h:608
+#: ../rules/base.xml.in.h:612
msgid "Simple"
msgstr ""
-#: ../rules/base.xml.in.h:609
+#: ../rules/base.xml.in.h:613
+msgid "Sindhi"
+msgstr ""
+
+#: ../rules/base.xml.in.h:614
msgid "Slovakia"
msgstr ""
-#: ../rules/base.xml.in.h:610
+#: ../rules/base.xml.in.h:615
msgid "Slovenia"
msgstr ""
-#: ../rules/base.xml.in.h:611
+#: ../rules/base.xml.in.h:616
msgid "South Africa"
msgstr ""
-#: ../rules/base.xml.in.h:612
+#: ../rules/base.xml.in.h:617
msgid "Southern Uzbek"
msgstr ""
-#: ../rules/base.xml.in.h:613
+#: ../rules/base.xml.in.h:618
msgid "Spain"
msgstr ""
-#: ../rules/base.xml.in.h:614
+#: ../rules/base.xml.in.h:619
msgid "Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server"
msgstr ""
-#: ../rules/base.xml.in.h:615
+#: ../rules/base.xml.in.h:620
msgid "Sri Lanka"
msgstr ""
-#: ../rules/base.xml.in.h:616
+#: ../rules/base.xml.in.h:621
msgid "Standard"
msgstr ""
-#: ../rules/base.xml.in.h:617
+#: ../rules/base.xml.in.h:622
msgid "Standard (Cedilla)"
msgstr ""
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:619
+#: ../rules/base.xml.in.h:624
msgid "Standard RSTU"
msgstr ""
#. RSTU 2019-91
-#: ../rules/base.xml.in.h:621
+#: ../rules/base.xml.in.h:626
msgid "Standard RSTU on Russian layout"
msgstr ""
-#: ../rules/base.xml.in.h:622
+#: ../rules/base.xml.in.h:627
msgid "Sun Type 5/6"
msgstr ""
-#: ../rules/base.xml.in.h:623
+#: ../rules/base.xml.in.h:628
msgid "Sun dead keys"
msgstr ""
-#: ../rules/base.xml.in.h:624
+#: ../rules/base.xml.in.h:629
msgid "Super Power Multimedia Keyboard"
msgstr ""
-#: ../rules/base.xml.in.h:625
+#: ../rules/base.xml.in.h:630
msgid "Svdvorak"
msgstr ""
-#: ../rules/base.xml.in.h:626
+#: ../rules/base.xml.in.h:631
msgid "Svk"
msgstr ""
-#: ../rules/base.xml.in.h:627
+#: ../rules/base.xml.in.h:632
msgid "Svn"
msgstr ""
-#: ../rules/base.xml.in.h:628
-msgid "Swap Ctrl and CapsLock"
+#: ../rules/base.xml.in.h:633
+msgid "Swap Ctrl and Caps Lock"
msgstr ""
-#: ../rules/base.xml.in.h:629
-msgid "Swap ESC and CapsLock"
+#: ../rules/base.xml.in.h:634
+msgid "Swap ESC and Caps Lock"
msgstr ""
-#: ../rules/base.xml.in.h:630
+#: ../rules/base.xml.in.h:635
msgid "Swe"
msgstr ""
-#: ../rules/base.xml.in.h:631
+#: ../rules/base.xml.in.h:636
msgid "Sweden"
msgstr ""
-#: ../rules/base.xml.in.h:632
+#: ../rules/base.xml.in.h:637
msgid "Switzerland"
msgstr ""
-#: ../rules/base.xml.in.h:633
+#: ../rules/base.xml.in.h:638
msgid "Symplon PaceBook (tablet PC)"
msgstr ""
-#: ../rules/base.xml.in.h:634
+#: ../rules/base.xml.in.h:639
msgid "Syr"
msgstr ""
-#: ../rules/base.xml.in.h:635
+#: ../rules/base.xml.in.h:640
msgid "Syria"
msgstr ""
-#: ../rules/base.xml.in.h:636
+#: ../rules/base.xml.in.h:641
msgid "Syriac"
msgstr ""
-#: ../rules/base.xml.in.h:637
+#: ../rules/base.xml.in.h:642
msgid "Syriac phonetic"
msgstr ""
-#: ../rules/base.xml.in.h:638
+#: ../rules/base.xml.in.h:643
msgid "TIS-820.2538"
msgstr ""
-#: ../rules/base.xml.in.h:639
+#: ../rules/base.xml.in.h:644
msgid "Tajikistan"
msgstr ""
-#: ../rules/base.xml.in.h:640
+#: ../rules/base.xml.in.h:645
msgid "Tamil"
msgstr ""
-#: ../rules/base.xml.in.h:641
+#: ../rules/base.xml.in.h:646
msgid "Tamil Keyboard with Numerals"
msgstr ""
-#: ../rules/base.xml.in.h:642
+#: ../rules/base.xml.in.h:647
msgid "Tamil TAB Typewriter"
msgstr ""
-#: ../rules/base.xml.in.h:643
+#: ../rules/base.xml.in.h:648
msgid "Tamil TSCII Typewriter"
msgstr ""
-#: ../rules/base.xml.in.h:644
+#: ../rules/base.xml.in.h:649
msgid "Tamil Unicode"
msgstr ""
-#: ../rules/base.xml.in.h:645
+#: ../rules/base.xml.in.h:650
msgid "Tanzania"
msgstr ""
-#: ../rules/base.xml.in.h:646
+#: ../rules/base.xml.in.h:651
msgid "Targa Visionary 811"
msgstr ""
-#: ../rules/base.xml.in.h:647
+#: ../rules/base.xml.in.h:652
msgid "Tatar"
msgstr ""
-#: ../rules/base.xml.in.h:648
+#: ../rules/base.xml.in.h:653
msgid "Telugu"
msgstr ""
-#: ../rules/base.xml.in.h:649
+#: ../rules/base.xml.in.h:654
msgid "Tha"
msgstr ""
-#: ../rules/base.xml.in.h:650
+#: ../rules/base.xml.in.h:655
msgid "Thailand"
msgstr ""
-#: ../rules/base.xml.in.h:651
+#: ../rules/base.xml.in.h:656
msgid "Tibetan"
msgstr ""
-#: ../rules/base.xml.in.h:652
+#: ../rules/base.xml.in.h:657
msgid "Tibetan (with ASCII numerals)"
msgstr ""
-#: ../rules/base.xml.in.h:653
+#: ../rules/base.xml.in.h:658
msgid "Tifinagh"
msgstr ""
-#: ../rules/base.xml.in.h:654
-msgid "Tifinagh Alternative"
+#: ../rules/base.xml.in.h:659
+msgid "Tifinagh alternative"
msgstr ""
-#: ../rules/base.xml.in.h:655
-msgid "Tifinagh Alternative Phonetic"
+#: ../rules/base.xml.in.h:660
+msgid "Tifinagh alternative phonetic"
msgstr ""
-#: ../rules/base.xml.in.h:656
-msgid "Tifinagh Extended"
+#: ../rules/base.xml.in.h:661
+msgid "Tifinagh extended"
msgstr ""
-#: ../rules/base.xml.in.h:657
-msgid "Tifinagh Extended Phonetic"
+#: ../rules/base.xml.in.h:662
+msgid "Tifinagh extended phonetic"
msgstr ""
-#: ../rules/base.xml.in.h:658
-msgid "Tifinagh Phonetic"
+#: ../rules/base.xml.in.h:663
+msgid "Tifinagh phonetic"
msgstr ""
-#: ../rules/base.xml.in.h:659
+#: ../rules/base.xml.in.h:664
msgid "Tilde (~) variant"
msgstr ""
-#: ../rules/base.xml.in.h:660
+#: ../rules/base.xml.in.h:665
msgid "Tjk"
msgstr ""
-#: ../rules/base.xml.in.h:661
+#: ../rules/base.xml.in.h:666
msgid "Tkm"
msgstr ""
-#: ../rules/base.xml.in.h:662
+#: ../rules/base.xml.in.h:667
msgid "To the corresponding key in a Dvorak keyboard."
msgstr ""
-#: ../rules/base.xml.in.h:663
+#: ../rules/base.xml.in.h:668
msgid "To the corresponding key in a Qwerty keyboard."
msgstr ""
-#: ../rules/base.xml.in.h:664
+#: ../rules/base.xml.in.h:669
msgid "Toshiba Satellite S3000"
msgstr ""
-#: ../rules/base.xml.in.h:665
+#: ../rules/base.xml.in.h:670
msgid "Traditional phonetic"
msgstr ""
-#: ../rules/base.xml.in.h:666
+#: ../rules/base.xml.in.h:671
msgid "Trust Direct Access Keyboard"
msgstr ""
-#: ../rules/base.xml.in.h:667
+#: ../rules/base.xml.in.h:672
msgid "Trust Slimline"
msgstr ""
-#: ../rules/base.xml.in.h:668
+#: ../rules/base.xml.in.h:673
msgid "Trust Wireless Keyboard Classic"
msgstr ""
-#: ../rules/base.xml.in.h:669
+#: ../rules/base.xml.in.h:674
msgid "Tur"
msgstr ""
-#: ../rules/base.xml.in.h:670
+#: ../rules/base.xml.in.h:675
msgid "Turkey"
msgstr ""
-#: ../rules/base.xml.in.h:671
+#: ../rules/base.xml.in.h:676
msgid "Turkmenistan"
msgstr ""
-#: ../rules/base.xml.in.h:672
+#: ../rules/base.xml.in.h:677
msgid "TypeMatrix EZ-Reach 2020"
msgstr ""
-#: ../rules/base.xml.in.h:673
+#: ../rules/base.xml.in.h:678
msgid "TypeMatrix EZ-Reach 2030 PS2"
msgstr ""
-#: ../rules/base.xml.in.h:674
+#: ../rules/base.xml.in.h:679
msgid "TypeMatrix EZ-Reach 2030 USB"
msgstr ""
-#: ../rules/base.xml.in.h:675
+#: ../rules/base.xml.in.h:680
msgid "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)"
msgstr ""
-#: ../rules/base.xml.in.h:676
+#: ../rules/base.xml.in.h:681
msgid "TypeMatrix EZ-Reach 2030 USB (106:JP mode)"
msgstr ""
-#: ../rules/base.xml.in.h:677
+#: ../rules/base.xml.in.h:682
msgid "Typewriter"
msgstr ""
-#: ../rules/base.xml.in.h:678
+#: ../rules/base.xml.in.h:683
msgid "Typewriter, legacy"
msgstr ""
-#: ../rules/base.xml.in.h:679
+#: ../rules/base.xml.in.h:684
msgid "Tza"
msgstr ""
-#: ../rules/base.xml.in.h:680
+#: ../rules/base.xml.in.h:685
msgid "UCW layout (accented letters only)"
msgstr ""
-#: ../rules/base.xml.in.h:681
+#: ../rules/base.xml.in.h:686
msgid "US Dvorak with CZ UCW support"
msgstr ""
-#: ../rules/base.xml.in.h:682
+#: ../rules/base.xml.in.h:687
msgid "US keyboard with Bosnian digraphs"
msgstr ""
-#: ../rules/base.xml.in.h:683
+#: ../rules/base.xml.in.h:688
msgid "US keyboard with Bosnian letters"
msgstr ""
-#: ../rules/base.xml.in.h:684
+#: ../rules/base.xml.in.h:689
msgid "US keyboard with Croatian digraphs"
msgstr ""
-#: ../rules/base.xml.in.h:685
+#: ../rules/base.xml.in.h:690
msgid "US keyboard with Croatian letters"
msgstr ""
-#: ../rules/base.xml.in.h:686
+#: ../rules/base.xml.in.h:691
msgid "US keyboard with Estonian letters"
msgstr ""
-#: ../rules/base.xml.in.h:687
+#: ../rules/base.xml.in.h:692
msgid "US keyboard with Italian letters"
msgstr ""
-#: ../rules/base.xml.in.h:688
+#: ../rules/base.xml.in.h:693
msgid "US keyboard with Lithuanian letters"
msgstr ""
-#: ../rules/base.xml.in.h:689
+#: ../rules/base.xml.in.h:694
msgid "US keyboard with Slovenian letters"
msgstr ""
-#: ../rules/base.xml.in.h:690 ../rules/base.extras.xml.in.h:9
+#: ../rules/base.xml.in.h:695 ../rules/base.extras.xml.in.h:11
msgid "USA"
msgstr ""
-#: ../rules/base.xml.in.h:691
+#: ../rules/base.xml.in.h:696
msgid "Udmurt"
msgstr ""
-#: ../rules/base.xml.in.h:692
+#: ../rules/base.xml.in.h:697
msgid "Ukr"
msgstr ""
-#: ../rules/base.xml.in.h:693
+#: ../rules/base.xml.in.h:698
msgid "Ukraine"
msgstr ""
-#: ../rules/base.xml.in.h:694
+#: ../rules/base.xml.in.h:699
msgid "Unicode additions (arrows and math operators)"
msgstr ""
-#: ../rules/base.xml.in.h:695
+#: ../rules/base.xml.in.h:700
msgid ""
"Unicode additions (arrows and math operators). Math operators on default "
"level"
msgstr ""
-#: ../rules/base.xml.in.h:696
+#: ../rules/base.xml.in.h:701
msgid "UnicodeExpert"
msgstr ""
-#: ../rules/base.xml.in.h:697
+#: ../rules/base.xml.in.h:702
msgid "United Kingdom"
msgstr ""
-#: ../rules/base.xml.in.h:698
+#: ../rules/base.xml.in.h:703
msgid "Unitek KB-1925"
msgstr ""
-#: ../rules/base.xml.in.h:699
+#: ../rules/base.xml.in.h:704
msgid "Urdu, Alternative phonetic"
msgstr ""
-#: ../rules/base.xml.in.h:700
+#: ../rules/base.xml.in.h:705
msgid "Urdu, Phonetic"
msgstr ""
-#: ../rules/base.xml.in.h:701
+#: ../rules/base.xml.in.h:706
msgid "Urdu, Winkeys"
msgstr ""
-#: ../rules/base.xml.in.h:702
+#: ../rules/base.xml.in.h:707
msgid "Use Bosnian digraphs"
msgstr ""
-#: ../rules/base.xml.in.h:703
+#: ../rules/base.xml.in.h:708
msgid "Use Croatian digraphs"
msgstr ""
-#: ../rules/base.xml.in.h:704
+#: ../rules/base.xml.in.h:709
msgid "Use guillemets for quotes"
msgstr ""
-#: ../rules/base.xml.in.h:705
+#: ../rules/base.xml.in.h:710
msgid "Use keyboard LED to show alternative layout"
msgstr ""
-#: ../rules/base.xml.in.h:706
+#: ../rules/base.xml.in.h:711
msgid "Using space key to input non-breakable space character"
msgstr ""
-#: ../rules/base.xml.in.h:707
+#: ../rules/base.xml.in.h:712
msgid "Usual space at any level"
msgstr ""
-#: ../rules/base.xml.in.h:708
+#: ../rules/base.xml.in.h:713
msgid "Uzb"
msgstr ""
-#: ../rules/base.xml.in.h:709
+#: ../rules/base.xml.in.h:714
msgid "Uzbekistan"
msgstr ""
-#: ../rules/base.xml.in.h:710
+#: ../rules/base.xml.in.h:715
msgid "Vietnam"
msgstr ""
-#: ../rules/base.xml.in.h:711
+#: ../rules/base.xml.in.h:716
msgid "ViewSonic KU-306 Internet Keyboard"
msgstr ""
-#: ../rules/base.xml.in.h:712
+#: ../rules/base.xml.in.h:717
msgid "Vnm"
msgstr ""
-#: ../rules/base.xml.in.h:713
+#: ../rules/base.xml.in.h:718
msgid "Wang 724 keypad with unicode additions (arrows and math operators)"
msgstr ""
-#: ../rules/base.xml.in.h:714
+#: ../rules/base.xml.in.h:719
msgid ""
"Wang 724 keypad with unicode additions (arrows and math operators). Math "
"operators on default level"
msgstr ""
-#: ../rules/base.xml.in.h:715
+#: ../rules/base.xml.in.h:720
msgid "Wang model 724 azerty"
msgstr ""
-#: ../rules/base.xml.in.h:716
+#: ../rules/base.xml.in.h:721
msgid "Western"
msgstr ""
-#: ../rules/base.xml.in.h:717
+#: ../rules/base.xml.in.h:722
msgid "Winbook Model XP5"
msgstr ""
-#: ../rules/base.xml.in.h:718
+#: ../rules/base.xml.in.h:723
msgid "Winkeys"
msgstr ""
-#: ../rules/base.xml.in.h:719
+#: ../rules/base.xml.in.h:724
msgid "With &lt;\\|&gt; key"
msgstr ""
-#: ../rules/base.xml.in.h:720
+#: ../rules/base.xml.in.h:725
msgid "With EuroSign on 5"
msgstr ""
-#: ../rules/base.xml.in.h:721
+#: ../rules/base.xml.in.h:726
msgid "With guillemets"
msgstr ""
-#: ../rules/base.xml.in.h:722
+#: ../rules/base.xml.in.h:727
msgid "Yahoo! Internet Keyboard"
msgstr ""
-#: ../rules/base.xml.in.h:723
+#: ../rules/base.xml.in.h:728
msgid "Yakut"
msgstr ""
-#: ../rules/base.xml.in.h:724
+#: ../rules/base.xml.in.h:729
msgid "Yoruba"
msgstr ""
-#: ../rules/base.xml.in.h:725
+#: ../rules/base.xml.in.h:730
msgid "Z and ZHE swapped"
msgstr ""
-#: ../rules/base.xml.in.h:726
+#: ../rules/base.xml.in.h:731
msgid "Zaf"
msgstr ""
-#: ../rules/base.xml.in.h:727
+#: ../rules/base.xml.in.h:732
msgid "Zero-width non-joiner character at second level"
msgstr ""
-#: ../rules/base.xml.in.h:728
+#: ../rules/base.xml.in.h:733
msgid ""
"Zero-width non-joiner character at second level, non-breakable space "
"character at third level"
msgstr ""
-#: ../rules/base.xml.in.h:729
+#: ../rules/base.xml.in.h:734
msgid ""
"Zero-width non-joiner character at second level, non-breakable space "
"character at third level, nothing at fourth level"
msgstr ""
-#: ../rules/base.xml.in.h:730
+#: ../rules/base.xml.in.h:735
msgid ""
"Zero-width non-joiner character at second level, non-breakable space "
"character at third level, thin non-breakable space at fourth level"
msgstr ""
-#: ../rules/base.xml.in.h:731
+#: ../rules/base.xml.in.h:736
msgid ""
"Zero-width non-joiner character at second level, non-breakable space "
"character at third level, zero-width joiner at fourth level"
msgstr ""
-#: ../rules/base.xml.in.h:732
+#: ../rules/base.xml.in.h:737
msgid ""
"Zero-width non-joiner character at second level, zero-width joiner character "
"at third level"
msgstr ""
-#: ../rules/base.xml.in.h:733
+#: ../rules/base.xml.in.h:738
msgid ""
"Zero-width non-joiner character at second level, zero-width joiner character "
"at third level, non-breakable space character at fourth level"
msgstr ""
-#: ../rules/base.xml.in.h:734
+#: ../rules/base.xml.in.h:739
msgid ""
"Zero-width non-joiner character at third level, zero-width joiner at fourth "
"level"
msgstr ""
-#: ../rules/base.xml.in.h:735
+#: ../rules/base.xml.in.h:740
msgid "azerty"
msgstr ""
-#: ../rules/base.xml.in.h:736
+#: ../rules/base.xml.in.h:741
msgid "azerty/digits"
msgstr ""
-#: ../rules/base.xml.in.h:737
+#: ../rules/base.xml.in.h:742
msgid "digits"
msgstr ""
-#: ../rules/base.xml.in.h:738
+#: ../rules/base.xml.in.h:743
msgid "displaced semicolon and quote (obsolete)"
msgstr ""
-#: ../rules/base.xml.in.h:739
+#: ../rules/base.xml.in.h:744
msgid "lyx"
msgstr ""
-#: ../rules/base.xml.in.h:740
+#: ../rules/base.xml.in.h:745
msgid "qwerty"
msgstr ""
-#: ../rules/base.xml.in.h:741
+#: ../rules/base.xml.in.h:746
msgid "qwerty, extended Backslash"
msgstr ""
-#: ../rules/base.xml.in.h:742
+#: ../rules/base.xml.in.h:747
msgid "qwerty/digits"
msgstr ""
-#: ../rules/base.xml.in.h:743
+#: ../rules/base.xml.in.h:748
msgid "qwertz"
msgstr ""
@@ -3025,17 +3046,21 @@ msgid "Atsina"
msgstr ""
#: ../rules/base.extras.xml.in.h:3
-msgid "Combining accents instead of dead keys"
+msgid "Avestan"
msgstr ""
#: ../rules/base.extras.xml.in.h:4
-msgid "Couer D'alene Salish"
+msgid "Combining accents instead of dead keys"
msgstr ""
#: ../rules/base.extras.xml.in.h:5
-msgid "International (AltGr Unicode combining)"
+msgid "Couer D'alene Salish"
msgstr ""
#: ../rules/base.extras.xml.in.h:6
+msgid "International (AltGr Unicode combining)"
+msgstr ""
+
+#: ../rules/base.extras.xml.in.h:7
msgid "International (AltGr Unicode combining, alternative)"
msgstr ""
diff --git a/xorg-server/xkeyboard-config/rules/base.o_s.part b/xorg-server/xkeyboard-config/rules/base.o_s.part
index f8f5e5421..95e81ddb3 100644
--- a/xorg-server/xkeyboard-config/rules/base.o_s.part
+++ b/xorg-server/xkeyboard-config/rules/base.o_s.part
@@ -81,6 +81,7 @@
eurosign:2 = +eurosign(2)
eurosign:4 = +eurosign(4)
eurosign:5 = +eurosign(5)
+ rupeesign:4 = +rupeesign(4)
keypad:oss = +keypad(oss)
keypad:legacy = +keypad(legacy)
keypad:legacy_wang = +keypad(legacy_wang)
diff --git a/xorg-server/xkeyboard-config/rules/base.xml.in b/xorg-server/xkeyboard-config/rules/base.xml.in
index 4ac238c7d..8c9b23d82 100644
--- a/xorg-server/xkeyboard-config/rules/base.xml.in
+++ b/xorg-server/xkeyboard-config/rules/base.xml.in
@@ -1783,6 +1783,13 @@
<languageList><iso639Id>hin</iso639Id></languageList>
</configItem>
</variant>
+ <variant>
+ <configItem>
+ <name>eng</name>
+ <_description>English with RupeeSign</_description>
+ <languageList><iso639Id>eng</iso639Id></languageList>
+ </configItem>
+ </variant>
</variantList>
</layout>
<layout>
@@ -5302,30 +5309,36 @@
<!-- Special shortcuts for the Euro character -->
<configItem>
<name>eurosign</name>
- <_description>Adding EuroSign to certain keys</_description>
+ <_description>Adding currency signs to certain keys</_description>
</configItem>
<option>
<configItem>
<name>eurosign:e</name>
- <_description>E</_description>
+ <_description>Euro on E</_description>
</configItem>
</option>
<option>
<configItem>
<name>eurosign:2</name>
- <_description>2</_description>
+ <_description>Euro on 2</_description>
</configItem>
</option>
<option>
<configItem>
<name>eurosign:4</name>
- <_description>4</_description>
+ <_description>Euro on 4</_description>
</configItem>
</option>
<option>
<configItem>
<name>eurosign:5</name>
- <_description>5</_description>
+ <_description>Euro on 5</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>rupeesign:4</name>
+ <_description>Rupee on 4</_description>
</configItem>
</option>
</group>
diff --git a/xorg-server/xkeyboard-config/symbols/Makefile.am b/xorg-server/xkeyboard-config/symbols/Makefile.am
index 0541dc3f6..138578941 100644
--- a/xorg-server/xkeyboard-config/symbols/Makefile.am
+++ b/xorg-server/xkeyboard-config/symbols/Makefile.am
@@ -32,7 +32,7 @@ terminate \
tj tm tr tz \
ua us uz vn \
za \
-altwin capslock compose ctrl empty eurosign group inet \
+altwin capslock compose ctrl empty eurosign rupeesign group inet \
keypad kpdl level3 level5 nbsp olpc shift srvr_ctrl typo
dir_data = $(dist_symbols_DATA)
diff --git a/xorg-server/xkeyboard-config/symbols/in b/xorg-server/xkeyboard-config/symbols/in
index e9ad77b84..dc209978b 100644
--- a/xorg-server/xkeyboard-config/symbols/in
+++ b/xorg-server/xkeyboard-config/symbols/in
@@ -1333,3 +1333,16 @@ xkb_symbols "hin-wx" {
include "level3(ralt_switch)"
};
+partial alphanumeric_keys
+xkb_symbols "eng" {
+
+ name[Group1]= "India - English with RupeeSign";
+
+ include "us(basic)"
+
+ include "rupeesign(4)"
+
+ include "level3(ralt_switch)"
+};
+
+
diff --git a/xorg-server/xkeyboard-config/symbols/makefile b/xorg-server/xkeyboard-config/symbols/makefile
index db9ca7968..cc15ea7d3 100644
--- a/xorg-server/xkeyboard-config/symbols/makefile
+++ b/xorg-server/xkeyboard-config/symbols/makefile
@@ -39,7 +39,7 @@ terminate \
tj tm tr tz \
ua us uz vn \
za \
-altwin capslock compose ctrl empty eurosign group inet \
+altwin capslock compose ctrl empty eurosign rupeesign group inet \
keypad kpdl level3 level5 nbsp olpc shift srvr_ctrl typo
DATA_FILES=$(dist_xkbdata_symbols_DATA:%=$(DESTDIR)\%)
diff --git a/xorg-server/xkeyboard-config/symbols/rupeesign b/xorg-server/xkeyboard-config/symbols/rupeesign
new file mode 100644
index 000000000..9851c6ee7
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/rupeesign
@@ -0,0 +1,7 @@
+
+// keyboards having the RupeeSign on the 4 key
+partial
+xkb_symbols "4" {
+ key <AE04> { [ NoSymbol, NoSymbol, U20B9 ] };
+};
+